Skip to content

Editing the corpus

The corpus is flat Markdown in docs/. Two ways to edit.

1. Sveltia CMS (local mode)

Recommended for non-trivial edits — gives you a real editor with field validation, drag-and-drop media, and live preview. Works without a backend.

Browser requirement

Sveltia local mode uses the File System Access API. Chrome, Edge, or any Chromium-based browser. Safari and Firefox are not supported in local mode.

Start it:

sh
pnpm dev
# then open http://localhost:5173/admin/

When the CMS loads, click Work with a local repository and grant access to the 200apps-corpus folder. Sveltia will read collections defined in docs/public/admin/config.yml and let you edit pages with typed fields.

The CMS writes Markdown back to disk in real time. Commit and push as normal:

sh
git add docs/
git commit -m "docs: <area> — <change>"
git push

2. Direct edit

For small text fixes, edit the Markdown file directly in your editor of choice. The repository follows a strict layout — see Information architecture below.

Frontmatter — what each field means

Both Volumes and Master Areas pages use a shared frontmatter schema. Cross-linkage relies on these fields, so keep them current.

FieldTypePurpose
titlestringPage title — also the H1
volumeI–VWhich volume the page belongs to (volume pages only)
partnumberPart number within the volume (volume parts only)
section1–13Master Area section (area pages only)
section_namestringMaster Area section name (area pages only)
ownerslistPO, Designer, Tech Lead, Developer, QA, CS Lead, Leadership, On-call
volumeslistFor area pages — which volumes address this craft
areaslistFor volume pages — which Master Areas this part references (slug form like 10.signal-reading)
relatedlistOther pages worth linking from here
maturitygap / seed / draft / stable / reviewedHow well this page is written
last_revieweddateWhen the content was last sanity-checked

Information architecture

docs/
  index.md                   ← home
  map.md                     ← cross-linkage graph
  glossary.md                ← terms
  volumes/
    index.md                 ← all five covers
    {i,ii,iii,iv,v}-*/
      index.md               ← cover
      intro.md               ← inside cover
      {n}-{slug}.md          ← part
  areas/
    index.md                 ← 13 sections grid
    {01..13}-{slug}/
      index.md               ← section index
      {craft-slug}.md        ← craft page
  contributing/
    editing.md               ← this page
  public/
    admin/                   ← Sveltia CMS
    media/                   ← uploaded assets (gitignored to private if needed)

Voice rules

These are the editing rules that make the corpus the corpus. They are not optional.

  • Person-first. Named personas (Dina, Miri, Avi) — never the user.
  • Witnessed, not described. Show the moment, not the abstraction.
  • Predictions are made before, checked after. A claim without a check date is a guess.
  • Chain-aware. Every defect traces to a level. Structural fixes, not patches.
  • Terse. Write what carries information forward. Cut what doesn't.

Maturity ladder

Use the maturity frontmatter field honestly. It feeds the map and the gaps view.

MaturityMeaning
gapThe area exists in the chain but is unaddressed in any volume.
seedStub: name, owner, volume reference. No prose.
draftFirst-pass prose. May contradict other pages.
stableReviewed prose. Voice and facts hold.
reviewedRecently re-checked against current practice.

200apps · How We Work · NWIRE