Skip to content

Documentation Style Guide

This page is the standard new docs are held to and the reference the docs audit uses to score existing pages. It’s for anyone contributing to site/src/content/docs/.

Each dimension is scored 0–2. A page’s total is out of 16.

Dimension0 — absent or fails1 — partial2 — fully meets
OrientationNo opener; reader must read several paragraphs to understand what the page isOpener present but vague or buries the audienceOpens with 1–2 sentences: what this page is and who it’s for. No cold starts.
Audience-fitPitched at the wrong reader; unexplained jargon throughoutRight audience, but some jargon left undefined or some off-target contentPitched at the section’s reader (player / operator / plugin dev / contributor); jargon either avoided or explained on first use.
Mode-fit (Diátaxis)Wrong mode for its bucket (e.g., lectures in a how-to, step lists in an explanation)Mostly correct mode with noticeable lapsesMatches its bucket: how-to = goal→steps→verify, no lectures; reference = structured/scannable; tutorial = narrative arc; explanation = concept-first, no step lists.
Clarity & voiceBreathless, padded, or robotic prose; heavy fillerMostly clear with occasional filler or passive hedgesConversational, direct, grounded; cuts “simply / just / easily / of course”; sentences earn their place. See Voice & terminology.
ExamplesNo examples where the reader would need themExample present but incomplete or doesn’t match the textConcrete example or runnable command where it materially helps comprehension.
TerminologyCanonical terms violated throughout (e.g., “room” instead of “location”)One or two violations; mostly correctCanonical terms per .claude/rules/terminology.md throughout: location not room, character vs player, etc.
Cross-linkingDead end — no links to prerequisites or next stepsSome links but missing obvious connectionsLinks to prerequisites and logical next steps; not a dead end.
ConcisenessSignificant filler, duplication of content better placed elsewhereSome padding or redundancyNo filler, no duplication of content better placed elsewhere.
  • < 10/16, or any 0 on Mode-fit or Terminology → P1: full revision required before the next release.
  • 10–13 → light touch: targeted edits to the lowest-scoring dimensions.
  • ≥ 14 → good: leave as-is or note minor improvements for later.

Scoring is editorial judgment, not a mechanical script. Two reviewers may disagree by one point on a dimension; that’s fine. Systematic disagreement on a threshold decision should prompt a discussion.

HoloMUSH docs follow Diátaxis. Before you write, identify which mode your page belongs to, then use that skeleton.

A how-to answers “how do I accomplish X?” Goal first, then steps, then verification. No lectures — save the “why” for an explanation page and link to it.

---
title: "How to <verb> <thing>"
description: "<one sentence: what you'll accomplish>"
---
<1–2 sentence orientation: what this accomplishes and who needs it.>
## Prerequisites
- <thing the reader must have or know>
## Steps
1. <First action.>
2. <Second action.>
3. <Third action.>
## Verify
Run `<command>` and confirm `<expected output>`.

A reference page is structured and scannable. Readers come to look something up, not to learn — so prose is minimal and tables/consistent headings do the work.

---
title: "<Thing> reference"
description: "<one sentence: what's documented here>"
---
<1–2 sentence orientation.>
## <Category>
| Field / Symbol | Type | Description |
| -------------- | ---- | ----------- |
| ... | ... | ... |
## <Next category>
...

A tutorial guides a learner from start to finish through a worked example. It has a narrative arc: setup → build → see it work → what you learned. The reader follows along; every decision is made for them.

A tutorial page follows this structure:

  • Frontmatter: title: "<Do X> tutorial", description: "<one sentence: what the reader builds>"
  • Orientation (1–2 sentences): what the reader will build and what concept they’ll understand.
  • Before you start: prerequisites list.
  • Step 1 / Step 2 / …: numbered headings, each with a narrative sentence, a runnable command in a bash fence, and a sentence on the expected output.
  • What you built: closing summary + link to the logical next page.

Avoid any ## Prerequisites / ## Verify heading patterns — those belong in how-tos. Tutorials are narrative, not checklists.

An explanation answers “why does this work the way it does?” Concept first; no step lists. The reader is trying to build a mental model, not follow a recipe.

---
title: "<Concept name>"
description: "<one sentence: what this explains>"
---
<1–2 sentence orientation: what concept this covers and why it matters.>
## <Core idea>
<Prose explanation. Use analogies when they help. No numbered steps.>
## <Trade-off or design decision>
<Why it was designed this way; what alternatives were considered.>
## Further reading
- [<how-to page>](<path>) — if you want to use this in practice
- [<reference page>](<path>) — for the complete API/field catalog
  • Conversational and direct. Use “you.” Write like you’re explaining something to a colleague who’s smart but new to this.
  • Grounded, not breathless. State what something does and why it matters. Don’t oversell.
  • Vivid when it counts. Game-world descriptions can paint a picture; technical explanations should be plain and precise.
  • No filler. Cut “simply,” “just,” “easily,” “of course,” “Note that.” If something is simple, the explanation will show it.
  • Acknowledge the MU* tradition. Reference it when it helps (“Unlike traditional MU*s…”), but don’t assume everyone shares it.
Use thisNot thisNotes
locationroom, area, zoneA place in the world model.
exitdoor, path, passageA connection between locations.
characterplayer, user, avatarAn in-game entity controlled by a player.
playeruser, accountThe human behind one or more characters.
sessionconnectionServer-side state for a character’s ongoing presence.
connectionsocket, clientA single client attachment to a session.
sceneRP sceneA structured roleplay encounter.

These terms are enforced in both code and docs. A terminology violation is a rubric dimension 0 if it’s pervasive, 1 if it’s occasional.

  • Docs audit — applies this rubric to every page in site/src/content/docs/ and files priority::high revision issues for pages below threshold.
  • Coding Standards — the equivalent reference for Go code conventions.
  • Source files: site/CLAUDE.md (voice and tone) · .claude/rules/terminology.md (canonical terms).