A CLI that does the work
straymark is a single Rust binary with eleven subcommands that operate on your repo: scaffolding, validating, auditing, analyzing complexity, generating compliance reports. Deterministic outputs you can pipe to grep, jq, or CI.
Why this matters
- One install path, one upgrade path. No language-runtime hunt, no Docker layer, no orchestration.
curl -fsSL .../install.sh | shputs it on$PATH.straymark update-clikeeps it current. - No hidden side effects.
straymark validatereads files;straymark auditproduces a markdown report. None of the subcommands call out to APIs or modify your git state without you asking. Safe to wire into pre-commit and CI. - The CLI is the contract. The same
straymark validateruns locally, in pre-commit, and in pipelines. There isn't a "CI mode" with different rules.
The eleven commands
| Command | What it does |
|---|---|
straymark init [path] | Initialize StrayMark in a project |
straymark update | Update both framework and CLI |
straymark status [path] | Show installation health and doc stats |
straymark repair [path] | Restore missing directories and framework files |
straymark validate [path] [--staged] | Validate documents for compliance and correctness |
straymark new [-t type] [--title] | Create a new document from a template |
straymark compliance [path] | Check regulatory compliance (EU AI Act, ISO 42001, NIST, ...) |
straymark metrics [path] | Show governance metrics and documentation statistics |
straymark analyze [path] | Analyze code complexity (cognitive + cyclomatic) |
straymark audit [path] | Generate audit trail reports with timeline and traceability |
straymark explore [path] | Interactive TUI documentation browser |
All commands respect --json where it makes sense, so output is machine-readable.
Powered by arborist-metrics:
straymark analyzecomputes cognitive and cyclomatic complexity viaarborist-metrics— our open-source Rust library for multi-language code metrics, also developed by StrangeDaysTech S.A.S. de C.V.
Browse the docs with straymark explore
straymark explore opens an interactive terminal UI over .straymark/: a three-pane TUI with the documentation tree, per-document metadata, and the rendered markdown — keyboard-driven, no daemon, no extra dependency. Screenshots below are from Sentinel, the project that empirically validates the framework, with 131 indexed documents.



explore distinguishes types automatically.
? shows every shortcut grouped by panel — navigation, metadata, document, general.Built for piping
# Find every open TDE sorted by impact:
straymark metrics --json | jq '.tde[] | select(.status=="identified") | .id'
# Fail CI when any high-risk Charter lacks an AILOG:
straymark validate --staged || exit 1
# Diff complexity between two commits:
straymark analyze --since HEAD~10