Claude Code plugin¶
/plugin marketplace add ru551n/vsg-rs
/plugin install vsg-rs@vsg-rs
One install gives a coding agent both halves of what this tool is for: a skill that says when and how to use it, and the MCP server, registered and ready.
vsg-rs itself is not installed by the plugin. It has to be on PATH:
pip install vsg-rs # or: uv tool install vsg-rs
The vsg skill¶
Claude loads it when a request is about formatting VHDL, checking its style, or whether it is ready to commit. What it carries:
- Before committing, the two commands, over the changed files rather than the whole tree:
vsg-rs --fixthenvsg-rs --check style,lint. Exit code 0 means nothing of error severity. - How to read a finding. Anything a default run reports is a definite error, because that is
the only class on by default. Advisory and experimental rules depend on what you meant, so they
are read rather than obeyed.
--explainanswers what a rule id means, instead of guessing from the message. - The library map warning is not noise. Without
vhdl_ls.tomlmost of the lint layer does not run, and a run that says so has not given the file a clean bill of health. - Do not reformat by hand. Layout the formatter would undo on its next run makes the diff bigger, not smaller.
- Do not silence what you will not fix. Rules come from the project's configuration, and an accepted violation is a waiver, which records a reason.
What the MCP server adds beside it¶
The command line is the cheaper route for files on disk: many files per run, and nothing travels through the conversation. The tools earn their place on the case it cannot reach, which is source that is not a file yet. An agent writing a new module can format the text and read its findings before the write, so what lands on disk is already right.
Without the plugin¶
The skill is only advice; every part of it works from the command line, and the MCP server can be registered on its own:
claude mcp add vsg-rs -- vsg-rs mcp