The JSON Schema is authoritative; these entries explain how its pieces are intended to be used.
Root and metadata fields
#
JSONmetadata
A manual combines project identity, document identity, optional theme values, and sections.
What it does
Defines the top-level project, manual, theme, and sections values. An optional $schema field lets compatible editors locate the contract.
How it works
project requires name and version and may contain other scalar placeholder values.manual requires title and may add subtitle, description, badges, and footer.theme may set six-digit accent and accent_secondary colors plus a short icon.sections is a nonempty ordered array.
Why it works this way
Separating project identity from document metadata supports multiple manuals for one project and keeps release values reusable.
Evidence
- scheme/manual.schema.json
scheme/manual.schema.json - scheme/example.manual.json
scheme/example.manual.json
Related: Section fields · Overrides and placeholders
navigationgrouping
Sections create ordered navigation groups around reader-oriented concepts.
What it does
Each section requires a stable id, a title, and at least one entry. It may include a short description.
How it works
IDs use lowercase kebab-case and share one namespace with entry IDs. Array order controls both sidebar and document order.
Why it works this way
Stable identifiers make links durable while explicit order lets authors teach a subject progressively rather than accepting an alphabetical or filesystem-derived sequence.
Evidence
- scheme/manual.schema.json
scheme/manual.schema.json - scripts/manual.py
scripts/manual.py
Related: Entry fields · Errors and warnings
triadcontent
Entries hold one documented subject and its complete 3x explanation.
What it does
Requires id, title, what, how, and why. Optional fields are summary, synopsis, tags, evidence, and related.
How it works
- Use
summary for the one-sentence orientation shown before the triad. - Use
synopsis for a literal command, API, signature, or compact contract. - Use
tags for filtering vocabulary and evidence for supporting targets. - Use
related to list stable entry IDs in reading order.
Why it works this way
The required core guarantees a useful minimum. Optional context supports discovery and verification without making every subject pretend to be a command or source-code component.
Evidence
- scheme/manual.schema.json
scheme/manual.schema.json - scheme/example.manual.json
scheme/example.manual.json
Related: What, How, and Why shapes · Evidence and related fields
What, How, and Why shapes
#
content shapetriad
A dimension can be prose, ordered points, or a lead paragraph followed by points.
What it does
Accepts a nonempty string, a nonempty array of strings, or an object containing lead, points, or both.
How it works
Strings render as paragraphs. Arrays render as ordered lists. Objects render lead as a paragraph and points as an ordered list.
Why it works this way
A small set of semantic shapes covers most technical explanations while remaining predictable for validation, transformation, and agent generation.
Evidence
- scheme/manual.schema.json
scheme/manual.schema.json - scripts/manual.py
scripts/manual.py
Related: Entry fields · Safe inline notation
Evidence and related fields
#
provenancelinks
Evidence records provenance; related IDs create lateral navigation.
What it does
Evidence accepts either a target string or an object with label and target. Related accepts an array of entry IDs.
How it works
Local evidence targets render as code-like paths and HTTP targets render as links. Related IDs resolve to entry titles and local anchors; unknown IDs produce warnings.
Why it works this way
Keeping provenance structured enables future renderers and audits while allowing concise input for the common file-path case.
Evidence
- scheme/manual.schema.json
scheme/manual.schema.json - scripts/manual.py
scripts/manual.py
Related: Entry fields · Errors and warnings