|
| 1 | +# Documentation Improvement Plan |
| 2 | + |
| 3 | +## Goals |
| 4 | + |
| 5 | +1. **Fix outdated and incorrect content** - Remove obsolete information |
| 6 | +2. **Fill documentation gaps** - Complete TODOs and missing sections |
| 7 | +3. **Improve discoverability** - Better structure and cross-references |
| 8 | +4. **Keep it concise** - No bloat, focus on value |
| 9 | + |
| 10 | +## Current State Analysis |
| 11 | + |
| 12 | +### Existing Documentation (~756 lines total) |
| 13 | + |
| 14 | +- `index.md` - Table of contents (33 lines) |
| 15 | +- `getting-started.md` - Installation and basic usage (79 lines) ✓ Recently updated for UV |
| 16 | +- `topics.md` - Auto-generated topics/domains list (11 lines) |
| 17 | +- `preseeds.md` - Configuration preseeds and examples (145 lines) ✓ Recently updated for UV |
| 18 | +- `templates.md` - File generation (51 lines) - **Has TODOs** |
| 19 | +- `extending.md` - Writing custom domains (189 lines) - Good |
| 20 | +- `dependencies.md` - Auto-generated dependency graph (9 lines) |
| 21 | +- `make.md` - Make primer (120 lines) - Good |
| 22 | +- `contributing.md` - Source and contributors (17 lines) - **Minimal** |
| 23 | +- `usage-old.rst` - Outdated RST format (112 lines) - **Should be removed** |
| 24 | + |
| 25 | +### Gaps Identified |
| 26 | + |
| 27 | +1. No migration guide for breaking changes |
| 28 | +2. No troubleshooting/FAQ section |
| 29 | +3. Templates documentation incomplete (TODOs present) |
| 30 | +4. Contributing guide is minimal (no dev setup, no PR guidelines) |
| 31 | +5. Old RST file still present |
| 32 | + |
| 33 | +## Tasks |
| 34 | + |
| 35 | +### Priority 1: Critical Fixes |
| 36 | + |
| 37 | +#### Task 1.1: Remove obsolete usage-old.rst |
| 38 | +- **File**: `docs/source/usage-old.rst` |
| 39 | +- **Action**: Delete (marked as "mostly outdated") |
| 40 | +- **Justification**: Confusing to have outdated docs, content is covered elsewhere |
| 41 | +- **Lines saved**: -112 |
| 42 | + |
| 43 | +#### Task 1.2: Update index.md TOC |
| 44 | +- **File**: `docs/source/index.md` |
| 45 | +- **Action**: Remove `usage-old.rst` from TOC if present |
| 46 | +- **Justification**: Cleanup after removal |
| 47 | + |
| 48 | +### Priority 2: High-Value Additions |
| 49 | + |
| 50 | +#### Task 2.1: Create migration guide |
| 51 | +- **New file**: `docs/source/migration.md` |
| 52 | +- **Content**: |
| 53 | + - Version-based breaking changes (start from 1.0+) |
| 54 | + - MXENV_UV_GLOBAL → auto-detection (v1.3.1) |
| 55 | + - Clear "before/after" examples |
| 56 | + - Keep concise: ~50-80 lines |
| 57 | +- **Target**: 60 lines |
| 58 | +- **Add to index.md TOC** after preseeds |
| 59 | + |
| 60 | +#### Task 2.2: Add FAQ/Troubleshooting |
| 61 | +- **File**: `docs/source/getting-started.md` (append as new section) |
| 62 | +- **Content**: |
| 63 | + - 5-7 common issues with solutions |
| 64 | + - "UV not found" → install instructions |
| 65 | + - "Python version mismatch" → UV_PYTHON setting |
| 66 | + - "Tests not running" → check run-tests.sh generation |
| 67 | + - Keep each Q&A to 2-3 lines |
| 68 | +- **Target**: +30-40 lines to getting-started.md |
| 69 | + |
| 70 | +### Priority 3: Fill Documentation Gaps |
| 71 | + |
| 72 | +#### Task 3.1: Complete templates.md TODOs |
| 73 | +- **File**: `docs/source/templates.md` |
| 74 | +- **Current state**: Has 2 TODO sections for custom templates |
| 75 | +- **Action**: |
| 76 | + - Section: "Templates defined via mx.ini with Jinja2" |
| 77 | + - Show mx.ini configuration format |
| 78 | + - 1-2 concrete examples |
| 79 | + - ~20 lines |
| 80 | + - Section: "Templates based on Python code" |
| 81 | + - Reference extending.md for domain writing |
| 82 | + - Show template registration with @template decorator |
| 83 | + - 1 minimal example |
| 84 | + - ~15 lines |
| 85 | +- **Target**: +35 lines |
| 86 | + |
| 87 | +#### Task 3.2: Enhance contributing.md |
| 88 | +- **File**: `docs/source/contributing.md` |
| 89 | +- **Current state**: Only lists copyright and contributors (17 lines) |
| 90 | +- **Action**: |
| 91 | + - Add "Development Setup" section |
| 92 | + - Clone, `make install`, `make test` workflow |
| 93 | + - ~10 lines |
| 94 | + - Add "Pull Request Guidelines" section |
| 95 | + - Keep commits concise (max 3 lines) |
| 96 | + - Never mention AI/Claude in commits |
| 97 | + - Run tests before PR |
| 98 | + - ~15 lines |
| 99 | + - Add "Running Documentation" section |
| 100 | + - `make docs`, `make docs-linkcheck` |
| 101 | + - ~8 lines |
| 102 | +- **Target**: +33 lines (total ~50 lines) |
| 103 | + |
| 104 | +### Priority 4: Optional Enhancements |
| 105 | + |
| 106 | +#### Task 4.1: Add workflow diagram |
| 107 | +- **File**: `docs/source/getting-started.md` or new `docs/source/workflow.md` |
| 108 | +- **Content**: Mermaid diagram showing mxmake init → edit settings → make install flow |
| 109 | +- **Status**: Optional, if requested |
| 110 | +- **Target**: +15-20 lines |
| 111 | + |
| 112 | +#### Task 4.2: Expand examples in preseeds.md |
| 113 | +- **File**: `docs/source/preseeds.md` |
| 114 | +- **Content**: Add 1-2 more real-world examples (Django, Flask, etc.) |
| 115 | +- **Status**: Optional, if requested |
| 116 | +- **Target**: +30-40 lines per example |
| 117 | + |
| 118 | +## Timeline and Dependencies |
| 119 | + |
| 120 | +### Phase 1: After UV refactoring PR merges |
| 121 | +- Task 1.1: Remove usage-old.rst |
| 122 | +- Task 1.2: Update index TOC |
| 123 | +- Task 2.1: Create migration guide (document UV changes) |
| 124 | + |
| 125 | +### Phase 2: Core improvements |
| 126 | +- Task 2.2: Add FAQ section |
| 127 | +- Task 3.1: Complete templates.md |
| 128 | +- Task 3.2: Enhance contributing.md |
| 129 | + |
| 130 | +### Phase 3: Optional (if time permits) |
| 131 | +- Task 4.1: Workflow diagram |
| 132 | +- Task 4.2: More examples |
| 133 | + |
| 134 | +## Expected Outcome |
| 135 | + |
| 136 | +### Line Count Projection |
| 137 | +- **Current total**: ~756 lines |
| 138 | +- **Removed**: -112 (usage-old.rst) |
| 139 | +- **Added**: ~158 lines (migration guide + FAQ + templates + contributing) |
| 140 | +- **New total**: ~802 lines |
| 141 | +- **Net change**: +46 lines (~6% increase) |
| 142 | + |
| 143 | +### Success Criteria |
| 144 | +1. ✓ No outdated files (usage-old.rst removed) |
| 145 | +2. ✓ No TODOs in documentation |
| 146 | +3. ✓ Migration guide helps users upgrade |
| 147 | +4. ✓ Contributing guide helps new contributors |
| 148 | +5. ✓ FAQ answers common questions |
| 149 | +6. ✓ Total documentation stays under 900 lines |
| 150 | + |
| 151 | +## Additional Improvements to Consider |
| 152 | + |
| 153 | +### Documentation Structure Enhancements |
| 154 | + |
| 155 | +#### Add Glossary |
| 156 | +- **New file**: `docs/source/glossary.md` |
| 157 | +- **Content**: Define key terms (domain, topic, sentinel, preseed, mxdev, FQN, etc.) |
| 158 | +- **Value**: Helps newcomers understand terminology |
| 159 | +- **Effort**: Low (~40 lines) |
| 160 | +- **Priority**: Medium |
| 161 | + |
| 162 | +#### Add "Why mxmake" / Comparison Section |
| 163 | +- **Location**: New section in `index.md` or `getting-started.md` |
| 164 | +- **Content**: |
| 165 | + - Benefits over plain pip/poetry/tox |
| 166 | + - When to use mxmake vs alternatives |
| 167 | + - Key differentiators (extensibility, mxdev integration, make-based) |
| 168 | +- **Value**: Helps users decide if mxmake is right for them |
| 169 | +- **Effort**: Medium (~30-50 lines) |
| 170 | +- **Priority**: Medium |
| 171 | + |
| 172 | +#### Add Conceptual Overview |
| 173 | +- **New file**: `docs/source/concepts.md` or section in index |
| 174 | +- **Content**: |
| 175 | + - How mxmake works (init → settings → make) |
| 176 | + - Topic → Domain → Target → Sentinel flow |
| 177 | + - Dependency resolution |
| 178 | + - Template system overview |
| 179 | +- **Value**: Better understanding for advanced usage |
| 180 | +- **Effort**: Medium (~60-80 lines) |
| 181 | +- **Priority**: Medium-High |
| 182 | + |
| 183 | +#### Quick Reference / Cheat Sheet |
| 184 | +- **New file**: `docs/source/quickref.md` |
| 185 | +- **Content**: |
| 186 | + - Common commands table |
| 187 | + - Important settings by use case |
| 188 | + - Common domain combinations |
| 189 | +- **Value**: Quick lookup for experienced users |
| 190 | +- **Effort**: Low (~40-50 lines) |
| 191 | +- **Priority**: Low-Medium |
| 192 | + |
| 193 | +### Content Enhancements |
| 194 | + |
| 195 | +#### More Use Case Examples |
| 196 | +- **Location**: Expand `preseeds.md` or new `docs/source/examples.md` |
| 197 | +- **Content**: |
| 198 | + - Django project setup |
| 199 | + - FastAPI/modern web framework |
| 200 | + - Data science/Jupyter notebook project |
| 201 | + - Library/package development |
| 202 | +- **Value**: Shows versatility, helps users get started faster |
| 203 | +- **Effort**: Medium (~40 lines per example) |
| 204 | +- **Priority**: Low-Medium (can be added incrementally) |
| 205 | + |
| 206 | +#### CI/CD Integration Guide |
| 207 | +- **New file**: `docs/source/cicd.md` |
| 208 | +- **Content**: |
| 209 | + - Using mxmake in GitHub Actions |
| 210 | + - GitLab CI integration |
| 211 | + - Using pre-generated gh-actions templates |
| 212 | + - Docker multi-stage builds with mxmake |
| 213 | +- **Value**: Production deployment guidance |
| 214 | +- **Effort**: Medium (~80-100 lines) |
| 215 | +- **Priority**: Medium |
| 216 | + |
| 217 | +#### Best Practices Guide |
| 218 | +- **New file**: `docs/source/best-practices.md` |
| 219 | +- **Content**: |
| 220 | + - Recommended settings for different project types |
| 221 | + - Common patterns (versioning, dependency pinning) |
| 222 | + - Anti-patterns to avoid |
| 223 | + - Performance tips for large projects |
| 224 | +- **Value**: Helps users avoid common mistakes |
| 225 | +- **Effort**: Medium (~60-80 lines) |
| 226 | +- **Priority**: Medium |
| 227 | + |
| 228 | +#### Advanced Troubleshooting |
| 229 | +- **New file**: `docs/source/troubleshooting.md` or expand FAQ |
| 230 | +- **Content**: |
| 231 | + - Detailed debugging steps |
| 232 | + - Common error messages explained |
| 233 | + - Platform-specific issues (Windows, macOS, Linux) |
| 234 | + - Version compatibility problems |
| 235 | +- **Value**: Reduces support burden |
| 236 | +- **Effort**: Medium (~80-100 lines, grows over time) |
| 237 | +- **Priority**: Medium |
| 238 | + |
| 239 | +### Documentation Quality Improvements |
| 240 | + |
| 241 | +#### Add Cross-References |
| 242 | +- **Action**: Review all docs and add MyST cross-references |
| 243 | +- **Content**: |
| 244 | + - Link between related sections |
| 245 | + - Link from examples to domain documentation |
| 246 | + - Link settings mentions to topics.md |
| 247 | +- **Value**: Better navigation |
| 248 | +- **Effort**: Low (during other edits) |
| 249 | +- **Priority**: Ongoing |
| 250 | + |
| 251 | +#### Add Visual Diagrams |
| 252 | +- **Location**: Various files |
| 253 | +- **Content**: |
| 254 | + - Workflow diagram (mxmake init → make install flow) |
| 255 | + - Architecture diagram (topics/domains/targets relationship) |
| 256 | + - Dependency graph enhancement |
| 257 | +- **Tool**: Mermaid diagrams (MyST supports them) |
| 258 | +- **Value**: Visual learners, complex concepts clearer |
| 259 | +- **Effort**: Medium (~5-10 lines per diagram) |
| 260 | +- **Priority**: Low-Medium |
| 261 | + |
| 262 | +#### Integrate CHANGES.md |
| 263 | +- **Location**: `index.md` or new `docs/source/changelog.md` |
| 264 | +- **Content**: Link to or include recent changes from CHANGES.md |
| 265 | +- **Value**: Users see what's new |
| 266 | +- **Effort**: Low (if just linking), Medium (if integrating) |
| 267 | +- **Priority**: Low |
| 268 | + |
| 269 | +## Open Questions |
| 270 | + |
| 271 | +1. **Migration guide scope**: Include all versions or just recent (1.0+)? |
| 272 | + - Recommendation: Start from 1.0, or last 2-3 major versions |
| 273 | + |
| 274 | +2. **FAQ location**: Separate file or in getting-started.md? |
| 275 | + - Recommendation: Append to getting-started.md (easier to discover) |
| 276 | + |
| 277 | +3. **Templates examples**: Generic or specific real-world use cases? |
| 278 | + - Recommendation: Start generic, can add specific later |
| 279 | + |
| 280 | +4. **Workflow diagram**: Worth the maintenance overhead? |
| 281 | + - Recommendation: YES - Mermaid diagrams are easy to maintain |
| 282 | + |
| 283 | +5. **How comprehensive should use case examples be?** |
| 284 | + - Recommendation: Start with 2-3 good examples, add more based on user feedback |
| 285 | + |
| 286 | +6. **Should we create a separate "Advanced Topics" section?** |
| 287 | + - Could include: CI/CD, Docker, best practices, troubleshooting |
| 288 | + - Recommendation: Create if we add 3+ advanced guides |
| 289 | + |
| 290 | +7. **Glossary as separate file or inline in concepts doc?** |
| 291 | + - Recommendation: Separate file for easy reference |
| 292 | + |
| 293 | +## Recommended Implementation Phases |
| 294 | + |
| 295 | +### Phase 1: Essential Fixes (Must Do) |
| 296 | +**Target: After UV refactoring PR merges** |
| 297 | +- Remove usage-old.rst |
| 298 | +- Create migration guide |
| 299 | +- Add FAQ section |
| 300 | +- Complete templates.md TODOs |
| 301 | +- Enhance contributing.md |
| 302 | + |
| 303 | +**Effort**: ~4-6 hours |
| 304 | +**Line count**: +158 lines total |
| 305 | + |
| 306 | +### Phase 2: Structure & Navigation (Should Do) |
| 307 | +**Target: Within 1-2 weeks** |
| 308 | +- Add glossary |
| 309 | +- Add conceptual overview |
| 310 | +- Add workflow diagram (Mermaid) |
| 311 | +- Improve cross-references |
| 312 | + |
| 313 | +**Effort**: ~3-4 hours |
| 314 | +**Line count**: +100-140 lines |
| 315 | + |
| 316 | +### Phase 3: Advanced Content (Nice to Have) |
| 317 | +**Target: As needed / based on user feedback** |
| 318 | +- CI/CD integration guide |
| 319 | +- Best practices guide |
| 320 | +- Advanced troubleshooting |
| 321 | +- Quick reference sheet |
| 322 | +- "Why mxmake" section |
| 323 | + |
| 324 | +**Effort**: ~6-8 hours |
| 325 | +**Line count**: +250-350 lines |
| 326 | + |
| 327 | +### Phase 4: Examples Expansion (Optional) |
| 328 | +**Target**: Community contributions / as requested |
| 329 | +- More use case examples (Django, FastAPI, etc.) |
| 330 | +- Platform-specific guides |
| 331 | +- Integration examples |
| 332 | + |
| 333 | +**Effort**: ~2 hours per example |
| 334 | +**Line count**: +40 lines per example |
| 335 | + |
| 336 | +## Summary: Projected Documentation Growth |
| 337 | + |
| 338 | +| Phase | Files Changed/Added | Lines Added | Total Lines | |
| 339 | +|-------|---------------------|-------------|-------------| |
| 340 | +| Current | 9 files | 756 | 756 | |
| 341 | +| Phase 1 | +1 file, edit 4 | +158 | ~902 | |
| 342 | +| Phase 2 | +2 files, edit several | +120 | ~1,022 | |
| 343 | +| Phase 3 | +4 files | +300 | ~1,322 | |
| 344 | +| Phase 4 | Varies | +40 each | Variable | |
| 345 | + |
| 346 | +**Recommendation**: Execute Phase 1 immediately, Phase 2 soon after, Phase 3-4 based on user feedback and priorities. |
| 347 | + |
| 348 | +## Notes |
| 349 | + |
| 350 | +- This plan assumes the UV refactoring PR (#56) is merged first |
| 351 | +- Documentation changes already made on refactoring branch: |
| 352 | + - getting-started.md: Added UV auto-detection section |
| 353 | + - preseeds.md: Updated examples, added UV_PYTHON warnings |
| 354 | + - These changes will be in main after merge |
| 355 | +- All new work will be done on this `docs/improvement-plan` branch |
| 356 | +- Each task can be done incrementally with focused commits |
| 357 | +- Keep total documentation under 1,500 lines for maintainability |
| 358 | +- Quality over quantity - concise, accurate, helpful |
0 commit comments