Introduction to Open Document Spec (ODS)
Open Document Spec (ODS) is a Markdown-first documentation specification for repositories that need human-readable files and deterministic navigation for people and AI agents.
Documents stay plain .md files. Metadata is optional YAML frontmatter. Nothing requires a new file extension or proprietary store.
Core design principles
- Human first — Readable in any text editor, forever.
- Free at level zero — Plain Markdown is already conformant; adoption is enrichment, never migration.
- Token efficient — Every fact has exactly one canonical location.
- Graph native — Relationships are explicit frontmatter data, not inferred from prose.
- Trust from validation — Metadata is only as reliable as the checks that enforce it.
Adoption ladder (Level 0–3)
| Level | What you have | Done when |
|---|---|---|
| 0 | Any Markdown tree | Files open in any editor |
| 1 | Optional profile + status frontmatter | Docs are typed where it matters |
| 2 | Path IDs, depends / related, index.md navigation | Graph and maps exist |
| 3 | CI lint: no dangling refs, indexes current, resources exist | Trust comes from validation |
You never migrate Level 0 away. You only add structure when you need it.
Learning path
| Step | Doc | Time | You will |
|---|---|---|---|
| 1 | Introduction | 5 min | Understand principles and Level 0–3 |
| 2 | Quickstart Guide | 10 min | Skill-first setup, init, start/watch, lint, context |
| 3 | Adopting ODS | 15 min | Enrich an existing Markdown repo |
| 4 | Tooling Reference | 15 min | CLI, setup, service, CI, update |
| 5 | Features | 20 min | Full feature catalog |
| 6 | Profiles & Catalogs | 15 min | Standard and custom profiles |
| 7 | Advanced Workspaces | 20 min | Agents, context, large workspaces |
| 8 | FAQ | as needed | Troubleshooting |
Normative rules live in specs/SPEC.md. This guide is operational.
Automation default: child lists in index.md are generated by ods index / ods start / ods watch. Do not hand-edit those bullets—set document description instead.
What you get
- Clear shapes — Standard profiles (guide, feature, decision, …) reduce format guesswork.
- Navigable trees — Generated
index.mdfiles stay current underods start/watch/index. - Explicit edges —
dependsandrelatedfeed agents and tools. - Bounded AI context —
context.*plusods context/ optionalods export. - Share-aware publishing —
ods sharewrites a real, filtered directory (public docs only by default) that yougit init/push yourself. - Safer refactors — Rename while the service/watch runs, or use
ods mv; refs and indexes update together. - CLI trust —
ods lintis the Level-3 gate (green message orods-error.md).
What to read next
- New workspace: Quickstart Guide
- Existing Markdown repo: Adopting ODS
- Tooling & service: Tooling Reference