Update operations/foundations/documentation-styling.md
This commit is contained in:
@@ -9,11 +9,13 @@ tags:
|
|||||||
This document defines the **authoritative documentation style contract** used throughout the Bunny Lab homelab documentation.
|
This document defines the **authoritative documentation style contract** used throughout the Bunny Lab homelab documentation.
|
||||||
|
|
||||||
It is intended to be provided to:
|
It is intended to be provided to:
|
||||||
|
|
||||||
- AI assistants
|
- AI assistants
|
||||||
- Automation tools
|
- Automation tools
|
||||||
- Contributors
|
- Contributors
|
||||||
|
|
||||||
The goal is to ensure all documentation is:
|
The goal is to ensure all documentation is:
|
||||||
|
|
||||||
- Technically precise
|
- Technically precise
|
||||||
- CLI-first
|
- CLI-first
|
||||||
- Easy to audit
|
- Easy to audit
|
||||||
@@ -22,6 +24,7 @@ The goal is to ensure all documentation is:
|
|||||||
---
|
---
|
||||||
|
|
||||||
## General Writing Principles
|
## General Writing Principles
|
||||||
|
|
||||||
- Write for experienced operators, not beginners
|
- Write for experienced operators, not beginners
|
||||||
- Prefer **explicit commands** over descriptive prose
|
- Prefer **explicit commands** over descriptive prose
|
||||||
- Avoid narrative filler
|
- Avoid narrative filler
|
||||||
@@ -31,6 +34,7 @@ The goal is to ensure all documentation is:
|
|||||||
|
|
||||||
## Document Flow and Structure
|
## Document Flow and Structure
|
||||||
Documentation is written with the assumption that the reader:
|
Documentation is written with the assumption that the reader:
|
||||||
|
|
||||||
- Reads **top to bottom**
|
- Reads **top to bottom**
|
||||||
- Executes actions within the **current section**
|
- Executes actions within the **current section**
|
||||||
- Does not require explicit step numbering
|
- Does not require explicit step numbering
|
||||||
@@ -42,11 +46,13 @@ Ordering is implicit and intentional.
|
|||||||
|
|
||||||
## Core Sections (Recommended)
|
## Core Sections (Recommended)
|
||||||
Most documents should include, at minimum:
|
Most documents should include, at minimum:
|
||||||
|
|
||||||
- **Purpose** (why this doc exists)
|
- **Purpose** (why this doc exists)
|
||||||
- **Assumptions** (platform, privileges, prerequisites)
|
- **Assumptions** (platform, privileges, prerequisites)
|
||||||
- **Procedure** (commands and configuration)
|
- **Procedure** (commands and configuration)
|
||||||
|
|
||||||
Include these when applicable:
|
Include these when applicable:
|
||||||
|
|
||||||
- **Architectural Overview** (diagram or flow)
|
- **Architectural Overview** (diagram or flow)
|
||||||
- **Validation** (explicit checks with expected output)
|
- **Validation** (explicit checks with expected output)
|
||||||
- **Troubleshooting** → **Symptoms** / **Resolution**
|
- **Troubleshooting** → **Symptoms** / **Resolution**
|
||||||
@@ -54,6 +60,7 @@ Include these when applicable:
|
|||||||
---
|
---
|
||||||
|
|
||||||
## Headings
|
## Headings
|
||||||
|
|
||||||
- `#` — Document title (one per document)
|
- `#` — Document title (one per document)
|
||||||
- `##` — Major logical phases or topics
|
- `##` — Major logical phases or topics
|
||||||
- `###` — Subsections only when needed
|
- `###` — Subsections only when needed
|
||||||
@@ -68,6 +75,7 @@ Avoid over-fragmentation.
|
|||||||
Admonitions are **intentional and sparse**, not decorative.
|
Admonitions are **intentional and sparse**, not decorative.
|
||||||
|
|
||||||
Use them to:
|
Use them to:
|
||||||
|
|
||||||
- Highlight irreversible actions
|
- Highlight irreversible actions
|
||||||
- Call out one-time decisions
|
- Call out one-time decisions
|
||||||
- Enforce safety boundaries
|
- Enforce safety boundaries
|
||||||
@@ -88,6 +96,7 @@ Do **not** restate obvious information inside admonitions.
|
|||||||
Code blocks are the **primary instructional vehicle**.
|
Code blocks are the **primary instructional vehicle**.
|
||||||
|
|
||||||
### Rules
|
### Rules
|
||||||
|
|
||||||
- Always fenced
|
- Always fenced
|
||||||
- Always copy/paste-ready
|
- Always copy/paste-ready
|
||||||
- Prefer fewer, larger blocks over many small ones
|
- Prefer fewer, larger blocks over many small ones
|
||||||
@@ -105,6 +114,7 @@ Avoid explanatory prose between every command.
|
|||||||
---
|
---
|
||||||
|
|
||||||
## Shell Fencing
|
## Shell Fencing
|
||||||
|
|
||||||
- Use ```sh for shell commands
|
- Use ```sh for shell commands
|
||||||
- Use ``` for diagrams or pseudo-structure
|
- Use ``` for diagrams or pseudo-structure
|
||||||
- Do not mix command output with commands unless explicitly labeled
|
- Do not mix command output with commands unless explicitly labeled
|
||||||
@@ -113,6 +123,7 @@ Avoid explanatory prose between every command.
|
|||||||
|
|
||||||
## Inline Code
|
## Inline Code
|
||||||
Use backticks for:
|
Use backticks for:
|
||||||
|
|
||||||
- Dataset names
|
- Dataset names
|
||||||
- Volume groups
|
- Volume groups
|
||||||
- Filenames
|
- Filenames
|
||||||
@@ -125,6 +136,7 @@ Example:
|
|||||||
---
|
---
|
||||||
|
|
||||||
## Lists
|
## Lists
|
||||||
|
|
||||||
- Use bullet lists for inventories, criteria, and checks
|
- Use bullet lists for inventories, criteria, and checks
|
||||||
- Avoid numbered lists for procedures
|
- Avoid numbered lists for procedures
|
||||||
- Ordering is conveyed by section layout, not numbering
|
- Ordering is conveyed by section layout, not numbering
|
||||||
@@ -132,6 +144,7 @@ Example:
|
|||||||
---
|
---
|
||||||
|
|
||||||
## Diagrams
|
## Diagrams
|
||||||
|
|
||||||
- ASCII diagrams only
|
- ASCII diagrams only
|
||||||
- Used to describe hierarchy or flow
|
- Used to describe hierarchy or flow
|
||||||
- Must reinforce understanding, not decorate
|
- Must reinforce understanding, not decorate
|
||||||
@@ -140,6 +153,7 @@ Example:
|
|||||||
|
|
||||||
## Validation Sections
|
## Validation Sections
|
||||||
Validation is **mandatory** for any procedure that affects:
|
Validation is **mandatory** for any procedure that affects:
|
||||||
|
|
||||||
- Storage
|
- Storage
|
||||||
- Networking
|
- Networking
|
||||||
- Virtualization
|
- Virtualization
|
||||||
@@ -152,12 +166,14 @@ For lower-risk or informational documents, validation is optional.
|
|||||||
---
|
---
|
||||||
|
|
||||||
## Tone and Voice
|
## Tone and Voice
|
||||||
|
|
||||||
- Neutral
|
- Neutral
|
||||||
- Operational
|
- Operational
|
||||||
- Conservative
|
- Conservative
|
||||||
- “Boring is correct”
|
- “Boring is correct”
|
||||||
|
|
||||||
Avoid:
|
Avoid:
|
||||||
|
|
||||||
- Marketing language
|
- Marketing language
|
||||||
- Storytelling
|
- Storytelling
|
||||||
- Over-explanation
|
- Over-explanation
|
||||||
@@ -165,6 +181,7 @@ Avoid:
|
|||||||
---
|
---
|
||||||
|
|
||||||
## Anti-Patterns (Do Not Use)
|
## Anti-Patterns (Do Not Use)
|
||||||
|
|
||||||
- Numbered procedural steps
|
- Numbered procedural steps
|
||||||
- GUI-only workflows when CLI exists
|
- GUI-only workflows when CLI exists
|
||||||
- Excessive screenshots
|
- Excessive screenshots
|
||||||
@@ -176,6 +193,7 @@ Avoid:
|
|||||||
|
|
||||||
## Summary
|
## Summary
|
||||||
Bunny Lab documentation prioritizes:
|
Bunny Lab documentation prioritizes:
|
||||||
|
|
||||||
- Determinism
|
- Determinism
|
||||||
- Safety
|
- Safety
|
||||||
- Reproducibility
|
- Reproducibility
|
||||||
|
|||||||
Reference in New Issue
Block a user