- Add plans/ to directory structure - Add plans/index.json to shared state files table - Add Plans row to component formats table - Create plans/README.md with schema and query examples 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
75 lines
1.9 KiB
Markdown
75 lines
1.9 KiB
Markdown
# Plans
|
|
|
|
Implementation plans for features, enhancements, and investigations.
|
|
|
|
## Structure
|
|
|
|
```
|
|
plans/
|
|
├── index.json # Status registry (source of truth)
|
|
├── README.md # This file
|
|
└── *.md # Individual plan files
|
|
```
|
|
|
|
## Plan Naming
|
|
|
|
- **Dated plans**: `YYYY-MM-DD-descriptive-name.md` (design docs)
|
|
- **Generated names**: `adjective-verb-scientist.md` (brainstorming outputs)
|
|
|
|
## Status Registry (index.json)
|
|
|
|
Central tracking for all plans:
|
|
|
|
```json
|
|
{
|
|
"plan-name": {
|
|
"title": "Human readable title",
|
|
"status": "pending|implemented|partial|abandoned|superseded",
|
|
"created": "YYYY-MM-DD",
|
|
"implemented": "YYYY-MM-DD",
|
|
"category": "feature|enhancement|bugfix|diagnostic|design",
|
|
"notes": "Optional notes"
|
|
}
|
|
}
|
|
```
|
|
|
|
### Status Values
|
|
|
|
| Status | Meaning |
|
|
|--------|---------|
|
|
| `pending` | Not yet implemented |
|
|
| `implemented` | Fully implemented |
|
|
| `partial` | Partially implemented |
|
|
| `abandoned` | Decided not to implement |
|
|
| `superseded` | Replaced by another plan |
|
|
|
|
### Categories
|
|
|
|
| Category | Meaning |
|
|
|----------|---------|
|
|
| `feature` | New capability |
|
|
| `enhancement` | Improve existing feature |
|
|
| `bugfix` | Fix an issue |
|
|
| `diagnostic` | One-time investigation |
|
|
| `design` | Design document for reference |
|
|
|
|
## Querying Plans
|
|
|
|
```bash
|
|
# List pending plans
|
|
jq -r '.plans | to_entries[] | select(.value.status == "pending") | .key' index.json
|
|
|
|
# List by category
|
|
jq '.plans | to_entries[] | select(.value.category == "feature")' index.json
|
|
|
|
# Count by status
|
|
jq '.plans | to_entries | group_by(.value.status) | map({status: .[0].value.status, count: length})' index.json
|
|
```
|
|
|
|
## Workflow
|
|
|
|
1. **Create plan**: Write `plans/plan-name.md`
|
|
2. **Register**: Add entry to `index.json` with `status: "pending"`
|
|
3. **Implement**: Execute the plan
|
|
4. **Update**: Set `status: "implemented"` and add `implemented` date
|