Add design doc for auto-updating documentation
This commit is contained in:
73
docs/plans/2026-02-19-auto-docs-design.md
Normal file
73
docs/plans/2026-02-19-auto-docs-design.md
Normal file
@@ -0,0 +1,73 @@
|
||||
# Design: Auto-updating README.md and AGENTS.md
|
||||
|
||||
## Overview
|
||||
|
||||
Create documentation files (README.md, AGENTS.md) that auto-update on every commit via a git pre-commit hook.
|
||||
|
||||
## Requirements
|
||||
|
||||
- README.md with: full usage docs, deck summaries, workflow guide
|
||||
- AGENTS.md with: build/verify commands, code style guide, extension guide, project structure
|
||||
- Pre-commit hook triggers on all file changes
|
||||
- Template-based generation for maintainability
|
||||
|
||||
## Architecture
|
||||
|
||||
```
|
||||
├── README.md # Generated (do not edit directly)
|
||||
├── AGENTS.md # Generated (do not edit directly)
|
||||
├── docs/
|
||||
│ └── templates/
|
||||
│ ├── README.template.md
|
||||
│ └── AGENTS.template.md
|
||||
├── scripts/
|
||||
│ └── update_docs.py # Generator script
|
||||
└── .git/hooks/
|
||||
└── pre-commit # Runs update_docs.py
|
||||
```
|
||||
|
||||
## Components
|
||||
|
||||
### 1. Template Files
|
||||
|
||||
Markdown templates with placeholders:
|
||||
- `{{DECK_SUMMARIES}}` - Dynamic deck table from decks/*.json
|
||||
- `{{COLLECTION_STATS}}` - Card counts from collection_hydrated/
|
||||
- Static content for usage, workflow, conventions
|
||||
|
||||
### 2. Generator Script (`scripts/update_docs.py`)
|
||||
|
||||
- Reads `decks/*.json` for commander, colors, card counts
|
||||
- Reads `collection_hydrated/` for collection statistics
|
||||
- Fills template placeholders
|
||||
- Writes README.md and AGENTS.md
|
||||
|
||||
### 3. Pre-commit Hook
|
||||
|
||||
Simple bash script that:
|
||||
1. Runs `python scripts/update_docs.py`
|
||||
2. Stages updated docs with `git add README.md AGENTS.md`
|
||||
|
||||
## Data Flow
|
||||
|
||||
```
|
||||
decks/*.json ──┐
|
||||
├──> update_docs.py ──> README.md
|
||||
collection/ ───┤ AGENTS.md
|
||||
templates/ ────┘
|
||||
```
|
||||
|
||||
## Implementation Steps
|
||||
|
||||
1. Create template files in `docs/templates/`
|
||||
2. Create `scripts/update_docs.py` generator
|
||||
3. Create `.git/hooks/pre-commit` hook
|
||||
4. Run initial generation
|
||||
5. Commit all files
|
||||
|
||||
## Success Criteria
|
||||
|
||||
- README.md contains current deck summaries
|
||||
- AGENTS.md documents project conventions
|
||||
- Running `git commit` updates docs automatically
|
||||
- Templates are easy to edit for future changes
|
||||
Reference in New Issue
Block a user