Version: 1.0
Last Updated: 2026-02-02
Status: Official
This document establishes guidelines for continuous documentation review and improvement to ensure that ThemisDB documentation remains accurate, up-to-date, and reflects the current state of development.
Documentation is treated as a living artifact that evolves with the codebase:
- ✅ Documentation is updated alongside code changes
- ✅ Reviews are mandatory before merging code changes
- ✅ Documentation debt is tracked and prioritized
- ✅ Outdated content is archived, not deleted
All documentation must meet these standards:
- Accurate: Reflects current implementation
- Complete: Covers all features and APIs
- Clear: Written in understandable language
- Tested: Code examples are validated
- Maintained: Regularly reviewed and updated
Documentation review is required when:
-
Code Changes
- New features added
- API changes (breaking or non-breaking)
- Configuration changes
- Security updates
- Performance improvements
- Bug fixes that affect documented behavior
-
Architectural Changes
- New modules or components
- Design pattern changes
- Technology stack updates
- Integration changes
-
Release Events
- Before each release (major, minor, patch)
- After hotfixes
- During release candidate testing
-
Scheduled Reviews
- Monthly documentation audit
- Quarterly comprehensive review
- Annual archive maintenance
Consider reviewing when:
- User feedback indicates confusion
- Support questions reveal documentation gaps
- Community contributions suggest improvements
- New use cases emerge
All reviews should cover these key areas:
/docs/- Main documentation/docs/de/- German documentation/docs/en/- English documentation/docs/fr/- French documentation/docs/es/- Spanish documentation/docs/ja/- Japanese documentation
/compendium/- Compendium and extended guides/examples/- Code examplesREADME.md- Project overviewCONTRIBUTING.md- Contribution guidelinesCHANGELOG.md- Change history
- API documentation in headers
- Inline code comments
- OpenAPI specifications (
/openapi/)
Each review should assess:
-
Accuracy
- Does documentation match current implementation?
- Are code examples working?
- Are command examples correct?
- Are version numbers current?
-
Completeness
- Are new features documented?
- Are all APIs covered?
- Are migration paths provided?
- Are prerequisites listed?
-
Clarity
- Is language clear and concise?
- Are examples helpful?
- Is navigation intuitive?
- Are diagrams current?
-
Consistency
- Do naming conventions match?
- Is formatting consistent?
- Are cross-references working?
- Are translations aligned?
For every PR that changes code:
-
Identify Documentation Impact
- What features/APIs are affected?
- What documentation needs updates?
- Are examples impacted?
-
Update Documentation
- Update affected pages
- Add new documentation if needed
- Update code examples
- Verify cross-references
-
Fill Documentation Checklist
- Complete the PR documentation checklist (see template)
- Link to updated documentation
- Note any follow-up documentation tasks
-
Review Documentation Changes
- Documentation changes reviewed alongside code
- At least one reviewer verifies documentation
- Documentation must be approved before merge
Monthly Quick Review (1st Monday of month):
- Review recent changes (past 30 days)
- Check for quick wins and corrections
- Identify documentation debt
- Schedule follow-up work
Quarterly Comprehensive Review (Start of Q1, Q2, Q3, Q4):
- Full documentation audit
- Update all version references
- Test all code examples
- Review and update architecture docs
- Check link integrity
- Update translations
Annual Archive Review (January):
- Review archived documentation
- Remove obsolete archives (>3 years)
- Reorganize archive structure
- Update archive indexes
Before Release:
- Update version numbers
- Review release notes
- Update migration guides
- Test all quickstart guides
- Verify API documentation
After Release:
- Archive superseded documentation
- Update "latest" references
- Publish release documentation
- Update external documentation sites
Use this checklist for each documentation review:
### Documentation Review Checklist
**PR/Issue:** #XXX
**Reviewer:** @username
**Date:** YYYY-MM-DD
#### Accuracy
- [ ] Documentation matches current implementation
- [ ] Code examples compile and run
- [ ] Command examples are tested
- [ ] Version numbers are current
- [ ] Links are not broken
#### Completeness
- [ ] New features are documented
- [ ] API changes are documented
- [ ] Migration guides provided (if needed)
- [ ] Examples cover main use cases
- [ ] Prerequisites are listed
#### Clarity
- [ ] Language is clear and concise
- [ ] Examples are helpful
- [ ] Structure is logical
- [ ] Technical terms are explained
- [ ] Diagrams are clear (if present)
#### Consistency
- [ ] Naming matches codebase
- [ ] Formatting is consistent
- [ ] Cross-references work
- [ ] Style guide followed
#### Maintenance
- [ ] Archive outdated content
- [ ] Update indexes
- [ ] Update CHANGELOG
- [ ] Label issues appropriately
#### Notes
<!-- Add any additional notes or concerns -->-
Label Issues
- Use
docslabel for documentation tasks - Use
tech-debt/docsfor documentation debt - Priority:
P0,P1,P2,P3
- Use
-
Create Issues for Gaps
- One issue per documentation gap
- Link to related code changes
- Assign to appropriate person
- Set milestone
-
Track in Project Board
- Maintain documentation project board
- Prioritize based on user impact
- Review in planning meetings
- Address debt incrementally in each sprint
- Allocate time for documentation in estimates
- Pair documentation with feature work
- Block merges if documentation is incomplete
- Maintainers: Overall documentation quality
- Module Owners: Documentation for their modules
- Contributors: Documentation for their changes
- At least one reviewer must verify documentation
- Reviewers check both technical accuracy and clarity
- Language-specific reviewers for translations
- Ensures documentation is ready for release
- Coordinates documentation updates
- Publishes release documentation
Use these tools to validate documentation:
# Check for broken links
./scripts/check-links.sh
# Validate markdown syntax
./scripts/check-markdown.sh
# Build documentation
mkdocs build --strict
# Generate PDF (if needed)
cd compendium && python step1_generate_svgs.pyDocumentation checks run automatically on PR:
- Markdown linting
- Link validation
- Build verification
- Spelling check (if configured)
Optionally enable pre-commit hooks:
# Install pre-commit hooks
pre-commit install
# Run manually
pre-commit run --all-files-
Use Active Voice
- ✅ "Configure the database by editing..."
- ❌ "The database can be configured by editing..."
-
Be Specific
- ✅ "Set
max_connectionsto 1000" - ❌ "Set the connection limit to a high value"
- ✅ "Set
-
Include Examples
- Provide working code examples
- Show expected output
- Explain what the example demonstrates
-
Keep Updated
- Remove outdated information immediately
- Update version numbers in examples
- Archive superseded content properly
-
Review Early
- Review documentation as soon as possible
- Don't wait until PR is ready to merge
-
Test Examples
- Run all code examples
- Verify command-line examples
- Check that links work
-
Consider Users
- Read from user perspective
- Identify confusing sections
- Suggest improvements
-
Be Constructive
- Suggest specific improvements
- Explain why changes are needed
- Offer to help with updates
Collect feedback through:
- GitHub Issues: User-reported documentation issues
- Pull Requests: Community contributions
- Discussions: Q&A and suggestions
- Support Channels: Common questions indicate gaps
Gather feedback from:
- Code Reviews: Identify documentation needs
- Planning Meetings: Prioritize documentation work
- Retrospectives: Improve documentation process
Track these metrics to assess documentation quality:
- Number of broken links
- Number of outdated pages
- Time since last update per page
- Documentation coverage (features documented vs total)
- PRs with documentation updates (%)
- Average time to update documentation after code change
- Documentation issues resolved per sprint
- User-reported documentation issues
- Documentation page views
- Time on page
- Search queries
- External contributions
- Archival Process: DOCUMENTATION_ARCHIVAL_PROCESS.md
- Contributing Guide: CONTRIBUTING.md
- PR Checklist: .github/pull_request_template.md
- Documentation Index: DOCUMENTATION_INDEX.md
- Open an issue with the
docslabel - Ask in project discussions
- Contact documentation maintainers
Next Steps:
- Review this document with the team
- Integrate checklist into PR template
- Set up scheduled review calendar
- Begin tracking documentation metrics