Both sysprom and spm are available as commands.
All commands auto-detect document format from the input path: .json for JSON, .md for single-file Markdown, directory for multi-document Markdown.
| Command | Description |
|---|---|
| validate | Validate a SysProM document for structural and semantic correctness |
| stats | Compute statistics about a SysProM document |
| json2md | Convert a SysProM document to single-file Markdown |
| md2json | Parse Markdown content into a SysProM document |
| query | Query nodes, relationships, traces, and temporal state |
| add | Add a node to the document. Throws if the ID already exists. Change, realisation, and gate nodes require companion relationship targets. |
| remove | Remove a node and all relationships involving it. Cleans up all references in scopes, operations, views, and external references. |
| update | Update nodes, relationships, and document metadata |
| init | Create a new empty SysProM document with metadata. |
| search | Search for nodes in a SysProM document by text across id, name, description, context, and rationale fields. Recursively searches into subsystems. |
| check | Check a SysProM document for issues and warnings. Performs quality/lint checks beyond schema validation. |
| graph | Generate a graph of the SysProM document in Mermaid or DOT format, with optional filtering by relationship type. |
| rename | Rename a node ID across all references in the document. Updates the node's own ID, relationships, scope, includes, operations targets, external references, and recursively into subsystems. |
| speckit | Spec-Kit interoperability — import, export, sync, and diff |
| task | Manage tasks within change nodes |
| plan | Manage project plans and phase gates |
| sync | Synchronise JSON and Markdown representations with conflict resolution |
| infer | Infer completeness, lifecycle, impact, and derived relationships |