Skip to content
Docs-as-Code Primer
Esc
navigateopen⌘Jpreview
On this page

Documentation maturity model

A framework for assessing where your team is and what to aim for next. Based on the practices in this kit.

Documentation maturity model

A framework for assessing where your team is and what to aim for next. Based on the practices in this kit.

Levels

Level 0 — Chaos

Dimension Characteristics
Storage Confluence, Google Docs, Slack, READMEs with no central index
Ownership Nobody owns docs. Written by whoever had time.
Review No review. Docs are written after the fact or not at all.
Accuracy Unknown. Architecture diagrams from 2022 may or may not be current.
Internal vs user One stream. Internal candid notes leak to customers; user docs read like API reference.
Automation None. Broken links ship silently.

You’re here if: You can’t find the architecture overview in 5 minutes. A new engineer takes a week to get productive.

Next step: Copy the scaffold. Follow FIRST_WEEK.md Day 0 to copy scaffold/ into your repo.

Level 1 — Scaffold

Dimension Characteristics
Storage Git-based. docs/internal/, docs/user/, docs/shared/ exist.
Ownership Team-level. Docs are in the PR.
Review PR template includes doc checklist. Docs are reviewed alongside code.
Accuracy Key docs exist but may be sparse. Architecture diagrams exist.
Internal vs user Split enforced by folder structure. Shared glossary exists.
Automation Markdownlint + link check in CI.

You’re here if: Docs live in Git, links are checked in CI, and a new engineer can find the architecture overview.

Next step: Fill Phase 0 (charter) and Phase 1 (personas, user stories). Use FIRST_WEEK.md.

Level 2 — Discipline

Dimension Characteristics
Storage All phases 0–6 practiced. ADRs written before major decisions.
Ownership Docs are a first-class deliverable in every sprint.
Review Dedicated doc review for user-facing content. Internal review is accuracy-only.
Accuracy Runbooks are tested (game days). Quarterly health reviews catch drift.
Internal vs user Dual standards: internal is candid, user is curated. Derived content pattern in use.
Automation Vale with dual style packages (internal vs user). Mermaid validated in CI. OpenAPI lint enabled.

You’re here if: Every PR considers docs, new engineers get productive in one day, and on-call trusts the runbooks.

Next step: Set up dual pipelines, add user changelog, schedule health reviews.

Level 3 — Platform

Dimension Characteristics
Storage Dual pipelines publish internal and user docs independently.
Ownership Doc health is reviewed monthly. Doc debt is tracked alongside code debt.
Review Automated quality gates enforce audience-appropriate tone, reading level, and terminology.
Accuracy Automated drift detection flags stale docs. Monthly health reviews are routine.
Internal vs user MCP or agent hooks expose docs to tools. Internal changelog feeds user changelog.
Automation End-to-end: lint → link check → spell/Vale → strict build → publish. Agent-accessible via llms.txt and AGENTS.md.

You’re here if: Documentation is a first-class artifact, as automated as tests. Agents can retrieve accurate context without hallucination.

Next step: Extend to external contributors, publish maturity score publicly.

Progression

Level 0 ──scaffold──→ Level 1 ──phases──→ Level 2 ──platform──→ Level 3
  Chaos      |        Scaffold     |       Discipline    |       Platform
             |                     |                     |
     Copy scaffold,           Fill Phases 0–6,     Dual pipelines,
     add CI,                 test runbooks,        agent hooks,
     split audiences         dual style lint       health automation

Assessment checklist

Question Level 0 Level 1 Level 2 Level 3
Docs in Git?
CI checks links?
Internal/user split?
ADRs written? 🔜
Runbooks tested?
Vale dual styles?
Dual pipelines? 🔜
Agent hooks?
Monthly health review?

Was this page helpful?