@archsmith/cli
The archsmith command-line tool for ArchSmith — render and validate layered architecture diagrams from a JSON IR.
See the root README for what ArchSmith is and what the IR looks like.
Install
npm install -g @archsmith/cli
Usage
The recommended filename pattern is *.archsmith.json, which allows editors and integrations to recognize ArchSmith documents reliably. The CLI accepts any JSON file path.
archsmith author
archsmith validate <input.archsmith.json> [--json]
archsmith render <input.archsmith.json> -o <out.svg> [--no-embed-fonts] [--pretty]
archsmith registries list
archsmith registries show <sub-layers|colors|icons> [--family standard|accessible]
archsmith schema show
author launches a guided, no-hand-written-JSON wizard — creates a valid initial diagram one plain-language question at a time, offering only governed colors/sub-layers, then validates, renders, and saves the .archsmith.json and .svg next to each other. Editing an existing diagram isn't supported yet. Needs a real terminal — a piped/non-interactive invocation fails with one clear line rather than hanging.
render validates the IR first and fails the same way validate would (exit 1) if it's invalid; a rendering-time error exits 2.
--no-embed-fonts skips embedding the bundled font, producing a smaller file.
--pretty indents the output SVG's element lines for readability (default is one element per line, unindented).
registries show colors --family standard prints just that color family instead of the whole registry. The planned accessible registry can be inspected, but diagrams cannot select it until its complete palette is designed and tested.
schema show prints the raw diagram-schema.json contents — the structural contract an IR document must satisfy, as distinct from the governed vocabulary registries exposes.
License
Apache-2.0