Project docs5 namespaces
ADR, PRD, RFC, BUG doc types plus the TODO state file — engineering doc lifecycle with status vocabularies and required headings.
built by aktagon.com
ctxgrd is a CLI linter for the structured markdown your team and your AI both depend on. ADRs, PRDs, runbooks — every .md file with frontmatter and an ID.
Same input, same output, same exit code.
$ ctxgrd init Created ctxgrd.toml $ ctxgrd pack add agents Added pack 'agents' — 5 namespaces, 4 rule families. $ ctxgrd error[core.cross-ref]: cross-reference 'ADR-007' does not resolve to a known document --> docs/adrs/ADR-013.md:14:5 | 14 | Per ADR-007, the rule compiler is pure, so its output is cacheable. | ^^^^^^^ | help: use an existing ID, or mark retired with ~~ADR-007~~ found: 1 error · 0 warnings
Lint your context. · Markdown only. On purpose.
What it checks
Rules ship as packs — each a bundle of namespaces, one per document type. Point ctxgrd at a tree and every file is linted against its type.
ADR, PRD, RFC, BUG doc types plus the TODO state file — engineering doc lifecycle with status vocabularies and required headings.
AGENTS/SKILLS/SPEC/TASK/PROMPT — everything a coding agent reads
RUN (runbooks) and PMR (postmortems) — the incident-management doc lifecycle, grounded in Google's SRE Book.
DESIGN.md structural linting — section order and token reference checks