# Documentation Style Guide **Last Updated:** 2025-01-20 **Document Version:** 1.0 **Status:** Active Documentation --- ## Overview This style guide establishes standards for documentation in the Proxmox project, ensuring consistency, clarity, and maintainability across all documentation. --- ## File Naming Convention ### Standard Format **Format:** `UPPERCASE_WITH_UNDERSCORES.md` **Examples:** - ✅ `NETWORK_ARCHITECTURE.md` - ✅ `DEPLOYMENT_GUIDE.md` - ✅ `TROUBLESHOOTING_FAQ.md` - ❌ `network-architecture.md` (incorrect) - ❌ `deploymentGuide.md` (incorrect) ### Exceptions - **README.md** - Standard convention (lowercase) - **MASTER_INDEX.md** - Master index file --- ## Document Structure ### Standard Header Every document should start with: ```markdown # Document Title **Last Updated:** YYYY-MM-DD **Document Version:** X.Y **Status:** Active Documentation / Archived / Draft --- ``` ### Table of Contents For documents longer than 500 lines, include a table of contents: ```markdown ## Table of Contents 1. [Section 1](#section-1) 2. [Section 2](#section-2) 3. [Section 3](#section-3) ``` --- ## Markdown Standards ### Headings **Hierarchy:** - `#` - Document title (H1) - `##` - Major sections (H2) - `###` - Subsections (H3) - `####` - Sub-subsections (H4) **Guidelines:** - Use H1 only for document title - Don't skip heading levels (H2 → H4) - Use descriptive headings ### Code Blocks **Inline Code:** ```markdown Use `backticks` for inline code, commands, and file names. ``` **Code Blocks:** ````markdown ```bash # Use language identifier command --option value ``` ```` **Supported Languages:** - `bash` - Shell commands - `yaml` - YAML files - `json` - JSON files - `python` - Python code - `javascript` - JavaScript code - `markdown` - Markdown examples ### Lists **Unordered Lists:** ```markdown - Item 1 - Item 2 - Sub-item 2.1 - Sub-item 2.2 ``` **Ordered Lists:** ```markdown 1. Step 1 2. Step 2 3. Step 3 ``` **Task Lists:** ```markdown - [ ] Task 1 - [x] Completed task - [ ] Task 3 ``` ### Tables **Format:** ```markdown | Column 1 | Column 2 | Column 3 | |----------|----------|----------| | Data 1 | Data 2 | Data 3 | ``` **Alignment:** - Left: Default - Center: `:---:` - Right: `---:` ### Links **Internal Links:** ```markdown [Link Text](../path/to/file.md) [Link Text](../path/to/file.md#section) ``` **External Links:** ```markdown [Link Text](https://example.com) ``` ### Emphasis - **Bold:** `**text**` - For important terms, warnings - *Italic:* `*text*` - For emphasis, variable names - `Code:` `` `text` `` - For commands, file names, code --- ## Content Guidelines ### Writing Style 1. **Clarity:** - Use clear, concise language - Avoid jargon when possible - Define technical terms 2. **Tone:** - Professional but approachable - Direct and actionable - Helpful and informative 3. **Structure:** - Logical flow - Progressive detail - Clear sections ### Technical Content **Commands:** - Show complete commands - Include expected output - Explain what commands do **Examples:** ```markdown # Check Proxmox cluster status pvecm status # Expected output: # Cluster information # ... ``` **Warnings and Notes:** ```markdown > **Warning:** This action cannot be undone. > **Note:** This feature requires Proxmox VE 8.0 or later. ``` --- ## Document Types ### Getting Started Guides **Structure:** 1. Overview 2. Prerequisites 3. Step-by-step instructions 4. Verification 5. Next steps ### Configuration Guides **Structure:** 1. Overview 2. Prerequisites 3. Configuration steps 4. Verification 5. Troubleshooting ### Troubleshooting Guides **Structure:** 1. Problem description 2. Symptoms 3. Solutions (ordered by likelihood) 4. Prevention 5. Related documentation ### Reference Documents **Structure:** 1. Overview 2. Reference tables 3. Examples 4. Related documentation --- ## Cross-References ### Linking to Other Documents **Format:** ```markdown See **[Document Name](path/to/document.md)** for more information. ``` **Examples:** ```markdown For network architecture details, see **[NETWORK_ARCHITECTURE.md](../02-architecture/NETWORK_ARCHITECTURE.md)**. See also: - **[DEPLOYMENT_GUIDE.md](DEPLOYMENT_GUIDE.md)** - Deployment procedures - **[TROUBLESHOOTING_FAQ.md](../09-troubleshooting/TROUBLESHOOTING_FAQ.md)** - Troubleshooting ``` ### Related Documentation Section Every document should end with: ```markdown ## Related Documentation - **[Related Doc 1](path/to/doc1.md)** - Description - **[Related Doc 2](path/to/doc2.md)** - Description - **[MASTER_INDEX.md](../MASTER_INDEX.md)** - Complete documentation index ``` --- ## Version Control ### Document Versioning **Format:** `X.Y` - **X** - Major version (breaking changes, major rewrites) - **Y** - Minor version (updates, additions) **Examples:** - `1.0` - Initial version - `1.1` - Minor updates - `2.0` - Major rewrite ### Change Log For significant documents, include a change log: ```markdown ## Change Log ### Version 2.0 (2025-01-20) - Complete rewrite - Added new sections - Updated procedures ### Version 1.1 (2024-12-15) - Updated network configuration - Added troubleshooting section ### Version 1.0 (2024-11-01) - Initial version ``` --- ## Review and Maintenance ### Review Cycle - **Critical Documents:** Monthly - **Standard Documents:** Quarterly - **Reference Documents:** As needed ### Update Process 1. **Review:** Check for outdated information 2. **Update:** Make necessary changes 3. **Version:** Update version number 4. **Date:** Update last updated date 5. **Review:** Have another team member review --- ## Examples ### Good Documentation ```markdown # Network Configuration Guide **Last Updated:** 2025-01-20 **Document Version:** 1.0 **Status:** Active Documentation --- ## Overview This guide explains how to configure network settings for Proxmox hosts. ## Prerequisites - Proxmox VE 8.0 or later - Root access to Proxmox host - Network interface information ## Configuration Steps ### Step 1: Identify Network Interface ```bash # List network interfaces ip addr show ``` ### Step 2: Edit Network Configuration ```bash # Edit network configuration nano /etc/network/interfaces ``` > **Warning:** Incorrect network configuration can cause loss of network connectivity. ## Related Documentation - **[NETWORK_ARCHITECTURE.md](../02-architecture/NETWORK_ARCHITECTURE.md)** - Network architecture - **[TROUBLESHOOTING_FAQ.md](../09-troubleshooting/TROUBLESHOOTING_FAQ.md)** - Troubleshooting --- **Last Updated:** 2025-01-20 **Review Cycle:** Quarterly ``` --- ## Checklist Before submitting documentation: - [ ] File name follows convention - [ ] Standard header included - [ ] Table of contents (if needed) - [ ] Code blocks have language identifiers - [ ] Links are correct and working - [ ] Related documentation section included - [ ] Version and date updated - [ ] Reviewed for clarity and accuracy --- **Last Updated:** 2025-01-20 **Review Cycle:** Quarterly