CLI reference
This reference is generated from the command tree, so it lists exactly the
commands and flags this version of rowshape accepts. If a flag is missing
here, it does not exist.
Commands
Section titled “Commands”| Command | What it does |
|---|---|
rowshape annotate | Render a JSON verdict as GitHub PR annotations + a check summary |
rowshape explain | Explain a finding code (docs + remediation), agent-readable |
rowshape hydrate | Reconstruct a deterministic disposable database from rowshape.yaml |
rowshape init | Scaffold rowshape config in the current repo (offline detection only) |
rowshape inspect | Audit a committed fixture |
rowshape mcp | Run rowshape as an MCP server (stdio) for agents |
rowshape plan | Dry-run diff of a migration against a live target (read-only, applies nothing) |
rowshape pull | Read a database’s shape (read-only) and emit rowshape.yaml |
rowshape validate | Validate a migration against production-shaped data; return a verdict |
rowshape verify | Read-only check that a live target matches the intended schema (drift) |
Global flags
Section titled “Global flags”These work on every command.
| Flag | Default | Description |
|---|---|---|
--log-level | info | log verbosity on stderr: debug | info | warn | error |
Exit codes
Section titled “Exit codes”Every command maps its outcome onto one contract:
| Code | Meaning |
|---|---|
0 | PASS — the check ran and found nothing blocking |
1 | FAIL — the check ran and the migration is unsafe |
2 | WARN-only — findings worth reading, not blocking |
3 | Tool error — the check could NOT run |
3 is distinct on purpose: “the tool could not produce a verdict” must never
be mistaken for “the migration is unsafe”. A tool error carries
"error": "tool_error" and a category rather than a verdict field.