Skip to content

Commit 4fa8d02

Browse files
committed
Add comprehensive documentation improvement plan
Plan includes: - Phase 1: Essential fixes (remove usage-old.rst, migration guide, complete templates.md TODOs, enhance contributing.md) - Phase 2: Structure improvements (glossary, concepts, diagrams) - Phase 3: Advanced content (CI/CD, best practices, troubleshooting) - Phase 4: Optional examples expansion Estimated growth: 756 -> ~1,322 lines across 4 phases Phase 1 tasks are safe to implement without conflicting with UV refactoring branch documentation changes.
1 parent 5eed546 commit 4fa8d02

File tree

1 file changed

+358
-0
lines changed

1 file changed

+358
-0
lines changed

DOCUMENTATION_IMPROVEMENT_PLAN.md

Lines changed: 358 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,358 @@
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

Comments
 (0)