Skip to content

ignatius commands ​

Install the ignatius binary, then serve, check, or export a model from the command line.

bash
curl -fsSL https://noorm.dev/ignatius.sh | sh
ignatius serve path/to/model -o
ignatius serving at http://localhost:3000

The browser opens on the diagram. Save a .md, .yaml, or .yml file in the model folder and the open tab redraws. Windows, a pinned version, and building from source are on Download.

What does each command do? ​

CommandFlagsEffect
ignatius serve [path]-p, --port <n> (3000); --model <key>; -o, --openServes the model with live reload. server is an alias
ignatius validate [path]--model <key>; --indexPrints findings to stderr and a summary to stdout. Writes nothing
ignatius export [path]-o, --out <file> (required); --theme <mode> (dark); --model <key>Writes the Graph, Dictionary, and Flows views as one offline HTML file. --theme takes light or dark
ignatius index [path]--model <key>; --agentsWrites a router file (index_file: in ignatius.yml, default index.md) into every organizing folder. --agents adds AGENTS.md and SKILL.md, plus CLAUDE.md when the harness resolves to Claude
ignatius approve [path]--model <key>Accepts the current files as the change-review baseline and deletes the notes in .ignatius/changes/
ignatius versionnonePrints the version. ignatius --version prints the same
ignatius update--check; -y, --yesReplaces the running binary with the latest release

serve marks what changed since the last approve; see Change review. Press ? in the app for the keys that work in the current view, or read the keyboard shortcuts.

How does a command find the model? ​

Every model command takes an optional path. A model root is a folder with an ignatius.yml:

The search skips node_modules, .git, dist, tmp, trash, .worktrees, .claude, and any folder starting with _. The --model key is the root's path relative to the search path, such as sales.

What do the exit codes mean? ​

CodeWhen
0No errors. Warnings alone do not fail validate, export, or index
1An error finding, no model found, --model matches nothing, or export without -o
2Several models, no --model, and no terminal to prompt in
130You cancelled a prompt

An error finding is an omitted edge, an unknown target, or an unparseable file. It prints as <severity> <rule> <location> <message>:

bash
ignatius validate model
error  edge.unknown_target  sales_order→partyy  Edge target "partyy" not present in model.
✗ /home/you/shop/model: 1 error(s), 0 warning(s) across 11 entities.

A clean run prints ✓ <path>: valid — 11 entities, no findings. The rule catalog lists every rule.

How does serve pick a port? ​

When 3000 is taken, a terminal asks which port to use, with the next free one as the default. A pipe or CI counts up until a bind succeeds and prints Port 3000 is in use — trying 3001. to stderr. -o opens the port it settled on.

How do I stay current? ​

Situationignatius update does
Already latestPrints ignatius 0.23.0 is up to date.
Newer releasePrints A new version is available: 0.23.0 → <latest>. With --check, or with no terminal and no --yes, it stops there. In a terminal it asks Update to <latest> now?, downloads, checks the checksum, and swaps the binary
WindowsPrints the release URL. A running .exe cannot replace itself
Binary in a folder you cannot writeExits 1 with cannot write to …. Run sudo ignatius update --yes

What bites ​

SymptomCauseFix
-o <output.html> is requiredexport has no default outputignatius export model -o model.html
CI exits 2: multiple models found: a, bTwo roots under the path and no terminal to choose inAdd --model a
dict was removed, or graph, flowThose subcommands no longer existignatius export -o model.html
export exits 1 and the HTML file existsexport writes the file, then fails on error findingsFix the findings before you share the file
validate passes with a stale routerPlain validate never hashes routersvalidate --index, then ignatius index
update ran with no checksum checkA mismatch aborts, but an unreachable checksums.txt skips the checkRerun ignatius update once the release page is reachable

Next ​