Writing Documentation
This guide explains how documentation in this site is structured, written, and maintained. Following these conventions keeps pages consistent, readable, and easy to update — including by AI-assisted tools.
Scope
This guide covers:
- how to add a new page
- how different page types are structured
- how to update existing pages
- naming and formatting rules
It does not cover backend code conventions. Those live in Docs/Architecture/.
Adding a New Page
- Create a
.mdfile in the appropriate folder underdocs/. - Add an entry to the
navsection inmkdocs.yml. - Follow the structure rules below.
Navigation labels should be short, clear, and match the page heading.
Before creating a page, decide which section it belongs in:
features/for implemented or current gameplay behaviorideas/for rough design exploration and open questionspitch/for concepts prepared for community feedback or voting
Page Types
This documentation site uses three main page types.
Features
Feature pages describe gameplay that is already implemented or otherwise treated as current game behavior.
Use features/ when the goal is to explain what the game currently does.
Ideas
Idea pages collect design exploration.
Use ideas/ when the goal is to capture:
- rough concepts
- multiple competing options
- open tradeoffs
- unresolved design questions
Idea pages should not read like finished product documentation.
Pitch
Pitch pages present selected ideas in a clearer, more curated form for community discussion.
Use pitch/ when the goal is to explain a proposed direction and invite feedback or interest.
Pitch pages can be more opinionated than idea pages, but they should still make it clear that the content is proposed rather than final.
Feature Page Structure
All feature pages use the same section template. This makes pages predictable and easier to scan, compare, and update programmatically.
Feature pages are written for players, not developers. They describe what exists in the game and what players can do — not why a feature was built, what problem it solves, or what value it provides. That framing belongs in design documents, not in documentation that players read.
Template
# Feature Name
Brief one- or two-sentence summary of what this feature is.
---
[One or more content sections describing the feature — what types exist, how it is organised, how it works. Use descriptive headings relevant to the subject matter.]
---
## Rules
The governing rules for this feature. Be specific. Avoid vague statements.
Write as facts about the game world, not instructions to the player.
---
## Player Actions
What actions the player can take within this feature.
Use a list.
---
## Constraints
Hard limits or design boundaries that apply to this feature.
The content sections between the opening summary and ## Rules are flexible. Use headings that match the subject matter — for example, ## Types, ## Categories, or a subject-specific heading like ## Stellar Object Types. Add as many content sections as needed to fully describe the feature.
Rules for Using the Template
- Write for a player reading documentation about the game, not for a developer understanding a design decision.
- Do not include a "Purpose" section, a "Player Value" section, or any section that explains why the feature exists or what problem it was designed to solve.
- Keep each section focused. Do not mix rules with player actions.
- Use lists where the content is enumerable.
- Use plain declarative sentences, not marketing language.
- Every section must contain confirmed facts. Feature pages are not drafts — nothing may be left undefined or marked as pending.
- Feature pages must not reference anything outside of
docs/features/.
Updating Existing Pages
When updating a page:
- Edit only the section that changed.
- Do not remove the section heading, even if the section is temporarily empty.
- Keep the section order the same as the template.
This consistency is important for automated document processing.
Idea Page Structure
Idea pages are more exploratory than feature pages.
Suggested structure:
# Idea Name
Short summary of the concept.
---
## Goal
What this idea is trying to solve or improve.
---
## Core Problem
What design tension or gap led to this idea.
---
## Working Directions
Promising approaches, candidate models, or alternative solutions.
---
## Open Questions
Important unresolved questions that still need discussion.
Rules for idea pages:
- make uncertainty explicit
- include options where useful
- avoid writing speculative content as if it were final behavior
- preserve important open questions instead of forcing fake certainty
Pitch Page Structure
Pitch pages are more polished than idea pages, but still describe proposed content.
Suggested structure:
# Pitch Name
Short summary of the proposal.
---
## What This Proposal Is
High-level explanation of the proposed feature or change.
---
## Why It Matters
Why this proposal would improve the game or player experience.
---
## Key Points
The main pillars of the proposal.
---
## Questions For Feedback
Specific points the community can react to.
Rules for pitch pages:
- make the proposal easy to scan
- focus on player-facing value
- be clear that the content is proposed, not guaranteed
- leave room for feedback and disagreement
Writing Style
- Use plain, direct language.
- Write in present tense where possible.
- Prefer short sentences and short paragraphs.
- Use concrete terms from the Glossary rather than informal synonyms.
- Do not add filler phrases like "it is worth noting" or "as mentioned above".
Formatting Rules
- Use
#for the page title only. - Use
##for the main sections defined in the template. - Use
###for subsections when truly needed. - Separate sections with a horizontal rule (
---). - Use fenced code blocks with language tags for any code or config snippets.
- Use inline code (backticks) for identifiers, file names, and configuration keys.
File Naming
- Use lowercase with hyphens:
universe-foundation.md, notUniverseFoundation.md. - Use descriptive names that match the page title.
Running the Site Locally
See the repository README or the setup instructions in Docs/User/ for install and run commands.