CLI Design

The CLI demonstrates the standard command layout: a thin entry point, one file per public command, split subcommand modules when a command grows, command-level help, and version reporting. The primary executable is dev-std; wn-dev-std remains a compatibility alias.

audit

Runs repository audit checks for release signoff. The default scope is all; callers may request narrower scopes such as docs.plans, docs.adrs, docs.domains, docs.requirements, docs.build, docs.surfaces, docs.traceability, docs.links, docs.artifacts, docs.vendors, and docs.release. Text and JSON output are supported.

adr

Helpers for compliant ADR documents. adr list lists ADRs from the discovered project root, adr show renders one ADR by id, and adr create writes a canonical ADR source file. Text output is the default and JSON output follows the same root, marker, path, metadata, and body conventions used by plan and log read commands.

check

Compatibility alias for audit. Existing repositories and CI jobs may keep using this command while new signoff wiring should call audit.

governance

Helpers for generated governance documentation. governance html projects compliant plan, log, ADR, and requirement Markdown sources into browseable HTML pages with standard data-dev-std-gov-* attributes, an index page, metadata tables, generated cross-links for known refs, and repeatable --css stylesheet hooks. governance resolve validates or rewrites data-dev-std-gov-ref hooks in downstream HTML docs so they point at generated governance pages. gov is the short command alias.

plan

Helpers for compliant plan documents. plan list lists plans from the discovered project root, plan show renders one plan by id, plan create writes a new canonical plan, plan status updates the plan status, and plan step lists, adds, or updates structured step state. The command also reports structured exit criteria from [[exit_criteria]] metadata so users and agents can determine whether a plan is ready for closeout. Newly created plans include a default pending exit criterion. Dedicated exit-criterion mutation commands are a future slice. The command discovers the package root by walking upward to dev-std.toml, legacy wn-dev-std.toml, a configured pyproject.toml, or a .git fallback boundary.

requirement

Helpers for compliant requirement documents. requirement list lists requirements from the discovered project root, requirement show renders one requirement by id, and requirement create writes a canonical requirement source file. Read commands fail when the governance catalog has metadata, traceability, or rogue legacy-document failures.

log

Helpers for compliant plan work logs. log list lists logs attached to a plan id, log show renders one log by globally unique log id, and log create <plan-id> <step-id> writes a new timestamped log entry attached to a specific plan step after the same root discovery and catalog validation used by plan. Log creation accepts either --body for short text or --body-file for longer Markdown that should avoid shell command-line length, newline, and quoting limits. Agents should prefer --body-file whenever the log body is more than a short one-line note.

standard

Prints a standard profile summary as text or JSON. The default profile is python-package; --profile cpp-library renders the C++ native profile, --profile csharp-app renders the C# profile, --profile javascript-web-app renders the no-build browser JavaScript/CSS profile, and --profile python-js-app renders the Python-served browser app profile. --profile zephyr-firmware renders the Zephyr firmware profile.

version

Reports the package version, Python version, and major Wavenumber dependency versions.