Standards
This page records the documentation standards this site must keep consistent.
Files and headings
| Item | Rule |
|---|---|
| page filenames | use UpperCamelCase |
| section entry pages | use supported landing names such as Catalogue.md and root.md |
| locale structure | keep en-US and zh-CN mirrored |
| heading anchors | every heading uses an explicit English anchor in the form Heading {#english-slug} |
Navigation and Mermaid
| Item | Rule |
|---|---|
| site navigation | rely on sidebar and top navigation instead of building page-local menus |
| section landing | use Catalogue pages as entry points |
| Mermaid text | write labels directly without <div> or HTML wrappers |
| hero text | HTML line breaks are acceptable there, but not inside Mermaid |
Writing rules
- Write in direct, concrete language.
- Define objects, phases, data structures, and boundaries before examples.
- Use active voice and do not perform "thinking out loud" in permanent pages.
- Distinguish verified fact, current rule, and deferred work.
- If a real object name or verified API exists, use it instead of vague topic words.
Boundary rules
| Content | Belongs in |
|---|---|
| design boundaries, object relations, main-loop rules | Design |
| Forge runtime, lifecycle, and state ownership | ModdingDeveloping |
| KubeJS, datapacks, config, and mod assembly | Modpacking |
| workspace structure, delivery order, and responsibility lines | Developing |
| contribution rules and writing rules | Contribute |
The most common failure is still putting pack-side work into ModdingDeveloping. That is not allowed.
What counts as current source
- Real files in the current instance come first.
- Permanent pages under
docs/src/record long-term rules and boundaries. - Chat, scratch notes, and temporary plans are not formal documentation.
- When project rules change, the owning page must change with them.