In the next 10 minutes you can go from a fresh reqmd install to a fully traced V-model spec tree, validated, verified, and exported.

The steps are ordered from easy, everyday use to more specific topics. Steps 2–9 and 11–12 all build on the same example: a car’s boot sequence spec traced through the V-model — stakeholder need → system requirement → software component → tests → verification results.

reqmd in one glance#

Five commands cover the everyday loop:

reqmd init my-project/            # scaffold a new spec tree
reqmd check my-project/           # validate every requirement + trace link
reqmd ls my-project/              # list all requirements
reqmd stats my-project/           # attribute-value breakdown per document
reqmd export html my-project/ -o out/   # share as a browsable HTML report

Command details, flags, and reference tables live in the cheat sheet — the quickstart links to it instead of repeating it.

The steps#

StepPageWhat you’ll learn
0Installationgo install, build from source, or prebuilt binary
1Get startedScaffold a new project and run your first validation
2Trace your specBuild the four-level V-model boot-sequence example with trace links
3ExportCSV, HTML, and graph export formats
4Live previewreqmd serve with live-reloading HTML
5Status & dispositionThe draft/approved lifecycle and deferred/rejected workflow
6CI integrationJSON reports, exit codes, GitHub Actions
7Version pinsPin traces to a specific upstream version; detect when stale
8RepinBulk-update ~N version pins with reqmd repin --yes
9Baseline diffCompare requirements between two git tags
10Submodule-friendly configurationPortable document-id references for specs assembled from git submodules (optional)
11Verification results (CTRF)Load automated test results and run outcome-gated checks
12Review documentationLoad manual review, inspection, and analysis results
13Custom templatesDefine your own schema with a custom reqmd init preset
14Variant managementOne spec tree, many configurations with --filter
15Custom importersImport from DOORS, codeBeamer, or any CSV/API via the reqmd-import/v1 exchange format

Suggested paths#

New users: 00 → 01 → 02 → 03 → 04 → 05 → 11 → 12

CI/automation focus: 00 → 01 → 02 → 06 → 09 → 11

Status & lifecycle focus: 00 → 01 → 02 → 05 → 07 → 11 → 12

Product-line / variant focus: 00 → 01 → 02 → 03 → 09 → 14

Prerequisites#

Build the reqmd binary:

go build -o reqmd ./cmd/reqmd

Or download a pre-built binary from the GitHub Releases page (Linux, macOS, Windows).

Each step’s page shows the exact commands to run. Unless a step says otherwise, the commands assume you are in the repo’s quickstart/ directory — run cd quickstart from the repo root first. The full source for every step lives in the quickstart/ directory of the repo.

Beyond the spec itself: the companion reqmd-code tool extracts requirement IDs from C, C++, Go, Python, and Rust source via tree-sitter, and emits them as a reqmd-import/v1 exchange bundle; reqmd-import renders that bundle into your spec tree. After you’ve written the spec for a feature, run the two together and the implementation gets IDs in the same namespace — closing the loop from spec to code.