Maintaining TechDocs¶
Guide for maintaining and updating the WebGrip Infrastructure TechDocs documentation.
Overview¶
This guide helps contributors and maintainers keep the TechDocs documentation accurate, current, and valuable for all users of the WebGrip infrastructure.
Documentation Architecture¶
Information Architecture Mapping¶
The TechDocs structure directly maps to the repository organization:
1 2 3 4 5 6 7 8 9 | |
Content Organization Principles¶
- Service-First Structure: Documentation organized around Docker images as primary services
- Audience-Specific Sections: Content tailored for developers, DevOps engineers, and QA teams
- Cross-Linking: Extensive internal links for discoverability
- Source Citations: All claims link back to source code or configuration
- Assumption Tracking: Clear marking of inferences with validation suggestions
Adding New Content¶
New Docker Image Documentation¶
When adding a new Docker image:
-
Create image documentation file:
1 2
# Create new file following naming convention touch docs/techdocs/docs/docker-images/my-new-image.md -
Update navigation:
1 2 3 4
# Add to docs/techdocs/mkdocs.yml nav: - Docker Images: - My New Image: docker-images/my-new-image.md -
Follow documentation template:
- Purpose and scope
- Image details table
- Installed tools and versions
- Usage examples
- Configuration options
- Troubleshooting section
- Related documentation links
-
Update overview pages:
- Add to main index page table
- Update architecture diagrams if needed
- Add cross-references from related pages
New Feature Documentation¶
For new features or significant changes:
- Identify affected sections: Determine which existing pages need updates
- Create new pages if needed: For substantial new functionality
- Update cross-references: Ensure new content is discoverable
- Add to quick start: Include in relevant quick start workflows
- Update troubleshooting: Add common issues and solutions
Updating Existing Content¶
Regular Content Maintenance¶
Version Information: - Update tool versions in image documentation - Sync version matrices and compatibility tables - Update "latest" version references
Links and References: - Validate internal links quarterly - Update external links when they change - Fix broken references to source code
Examples and Code Snippets: - Test code examples for accuracy - Update deprecated command syntax - Refresh environment variables and configuration
Systematic Updates¶
Quarterly Review Process:
-
Link Validation:
1 2 3
# Run link checker on all documentation cd docs/techdocs/docs find . -name "*.md" -exec markdown-link-check {} \; -
Content Audit:
1 2 3 4 5
# Find outdated content markers grep -r "TODO\|FIXME\|XXX" docs/techdocs/docs --include="*.md" # Find assumption blocks for validation grep -r "> Assumption:" docs/techdocs/docs --include="*.md" -
Version Synchronization:
1 2
# Update version information across all pages # This should be automated as part of maintenance scripts
Content Standards¶
Writing Guidelines¶
Voice and Tone: - Use active voice and clear, direct language - Write for multiple skill levels with appropriate context - Include practical examples and real-world usage patterns
Structure: - Use consistent heading hierarchy (H1 → H2 → H3) - Include purpose statement at the beginning of each page - Provide table of contents for long pages via MkDocs
Technical Content: - Include complete, runnable examples - Provide troubleshooting for common issues - Link to source code and configuration files - Mark assumptions and inferences clearly
Documentation Patterns¶
Image Documentation Pattern:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
Process Documentation Pattern:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Mermaid Diagram Standards¶
Use consistent Mermaid diagram patterns:
flowchart TD
START[Start Node] --> PROCESS[Process Step]
PROCESS --> DECISION{Decision Point}
DECISION -->|Yes| SUCCESS[Success Path]
DECISION -->|No| ERROR[Error Path]
ERROR --> RETRY[Retry Logic]
RETRY --> PROCESS
SUCCESS --> END[End Node]
Diagram Guidelines: - Use descriptive node labels - Include decision points and error paths - Group related components in subgraphs - Use consistent color coding for different types of nodes - Keep diagrams focused and not overly complex
Building and Testing¶
Local Development¶
1 2 3 4 5 6 7 8 9 10 11 | |
Content Validation¶
1 2 3 4 5 6 7 8 | |
Integration Testing¶
The documentation builds automatically when: - Changes are pushed to the main branch - Pull requests modify documentation files - Backstage TechDocs refreshes content
PR Review Guidelines¶
Documentation Review Checklist¶
Content Quality: - [ ] Information is accurate and up-to-date - [ ] Examples are complete and runnable - [ ] Assumptions are clearly marked - [ ] Cross-references are appropriate and working
Structure and Navigation: - [ ] Content follows established patterns - [ ] Navigation updates are included - [ ] New content is discoverable - [ ] Headings use proper hierarchy
Technical Accuracy: - [ ] Code examples have been tested - [ ] Version information is current - [ ] Links to source code are correct - [ ] Configuration examples are valid
Style and Consistency: - [ ] Writing follows voice and tone guidelines - [ ] Formatting is consistent with existing content - [ ] Mermaid diagrams follow established patterns - [ ] Table formatting is consistent
Review Process¶
- Automated Checks: GitHub Actions validate links and build documentation
- Content Review: Reviewers check accuracy and completeness
- Style Review: Ensure consistency with existing documentation
- Technical Review: Validate examples and technical accuracy
- Integration Test: Verify documentation builds and deploys correctly
Troubleshooting¶
Common Issues¶
MkDocs Build Failures:
1 2 3 4 5 | |
Link Validation Failures:
1 2 3 4 5 | |
Mermaid Diagram Issues: - Verify syntax using Mermaid Live Editor - Check for proper escaping in YAML configuration - Ensure diagram complexity doesn't exceed rendering limits
Getting Help¶
Documentation Issues:
- Create GitHub issue with documentation label
- Include specific pages and sections affected
- Provide suggestions for improvement when possible
Technical Questions: - Use GitHub Discussions for questions about content - Tag relevant maintainers for urgent issues - Check existing issues before creating new ones
Automation and Tools¶
Maintenance Scripts¶
The repository includes several scripts for documentation maintenance:
1 2 3 4 5 6 7 8 | |
GitHub Actions¶
Automated workflows handle: - Link validation on PRs - Documentation building and deployment - Content validation and formatting checks
Related Documentation¶
- Contributing Images - How to document new images
- Maintenance - Overall repository maintenance procedures
- ADRs - Architectural decisions affecting documentation
Maintenance Schedule: Documentation should be reviewed quarterly and updated whenever infrastructure changes. Use this guide to ensure consistency and quality across all TechDocs content.
Maintainer: WebGrip Ops Team
Source: docs/techdocs/
Support: GitHub Issues with documentation label