Core responsibilities:
- Read architecture documents from specified directory
- Interview user about existing state and preferences
- Create a detailed BACKLOG.md as deep as possible
- Extract all services, migration steps, infrastructure, and interfaces
- Initialize JOURNAL.md for event logging
Flow: Read Docs → Interview → Extract All Items → Write Detailed BACKLOG.md → Init JOURNAL.md
Input files (raw — copied to .gtd/ on first run):
./architecture/*.md— Raw architecture docs
Standardized files (in .gtd/):
./.gtd/ARCHITECTURE.md— System design, services, migration steps./.gtd/STACK_DECISION.md— Technology choices, constraints
Output:
./.gtd/BACKLOG.md— Comprehensive backlog with all extracted items./.gtd/JOURNAL.md— Event log (initialized)
Go Deep
Extract as much detail as possible from the architecture docs. Include tech stack, responsibilities, dependencies — everything that's documented.
Ask, Don't Assume
Interview user about existing state, priorities, and any clarifications needed.
Structured but Complete
Use clear structure but don't sacrifice depth for simplicity.
Backlog Item Format (Detailed)
Component/Service Item:
- [ ] **{kebab-case-name}** — {one-line description}
- **Source:** {filename}#{section-heading}
- **Tech:** {comma-separated technologies}
- **Responsibilities:**
- {responsibility 1}
- {responsibility 2}
Migration Item (Sequential):
1. [ ] **{kebab-case-name}** — {one-line description}
- **Source:** {filename}#{section-heading}
- **Depends:** none | {previous-step-name}
Rules:
nameMUST be kebab-case (e.g.,audio-gateway,serialize-audio-s3)Techis comma-separated (e.g.,Rust, Tokio, Axum)Responsibilitiesuses sub-bullets, one per lineSourcelinks to architecture doc and section for traceability- Migration items use numbered list to preserve order
1. Validate Environment
ARCH_DIR="${1:-./architecture}"
if [ ! -d "$ARCH_DIR" ]; then
echo "Error: Architecture directory not found: $ARCH_DIR"
exit 1
fi
mkdir -p ./.gtd
2. Setup Architecture Files
Check if standardized files exist in .gtd/:
if [ ! -f "./.gtd/ARCHITECTURE.md" ]; then
# Copy from source directory or prompt user
echo "No .gtd/ARCHITECTURE.md found."
fi
if [ ! -f "./.gtd/STACK_DECISION.md" ]; then
echo "No .gtd/STACK_DECISION.md found."
fi
If source files exist in ./architecture/:
- Copy relevant content to
.gtd/ARCHITECTURE.mdand.gtd/STACK_DECISION.md
If files already exist in .gtd/:
- Read directly from
.gtd/ARCHITECTURE.mdand.gtd/STACK_DECISION.md
3. Read Architecture Documents
Read the standardized files:
./.gtd/ARCHITECTURE.md— For services, migration steps, interfaces./.gtd/STACK_DECISION.md— For technology constraints
Extract everything:
- Services/Components to build (with responsibilities, tech stack)
- Migration steps required (with ordering)
- Infrastructure dependencies
- Shared interfaces/protocols
3. Interview Phase
Propose what you found and only ask about unclear items:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
GTD ► BOOTSTRAP PROPOSAL
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
I've read your architecture docs. Here's what I'll create:
**Migration Steps:** (in order)
1. {step-1} — {description}
2. {step-2} — {description}
**Components:**
- {component-1} — {description}
- {component-2} — {description}
**I'm assuming these already exist (will skip), please verify:**
- Kafka, Redis, S3 (infrastructure)
**I'm assuming the following ..., please verify:**
- {assumption 1}
- {assumption 2}
**Unclear items (need your input):**
- {unclear item, if any}
─────────────────────────────────────────────────────
Please review. (ok / adjust: ...)
Wait for user confirmation before writing.
4. Write BACKLOG.md
Write to ./.gtd/BACKLOG.md:
# Project Backlog
**Created:** {date}
**Source:** {architecture_dir}
## Legend
- [ ] Not started
- [~] In progress (being expanded or executed)
- [x] Complete
---
## Migration
(Sequential steps — MUST be executed in order before Components)
1. [ ] **{step-name}** — {description}
- **Source:** {filename}#{section}
- **Depends:** none
2. [ ] **{step-name}** — {description}
- **Source:** {filename}#{section}
- **Depends:** {previous-step-name}
---
## Interfaces
(Shared contracts — should be done early)
- [ ] **{protocol-name}** — {purpose}
- **Source:** {filename}#{section}
- **Tech:** {technology}
---
## Components
(Services to build — can be parallelized after Migration complete)
- [ ] **{service-name}** — {one-line description}
- **Source:** {filename}#{section}
- **Tech:** {technology1}, {technology2}
- **Responsibilities:**
- {responsibility 1}
- {responsibility 2}
---
## Infrastructure
(Supporting systems — skip if already exists)
- [ ] **{component-name}** — {purpose}
- **Source:** {filename}#{section}
- **Tech:** {technology}
---
## Completed
(Items move here when done)
5. Initialize JOURNAL.md
Write to ./.gtd/JOURNAL.md:
# Project Journal
**Created:** {date}
| Date | Event | Item |
| ------ | -------------------------------------------- | ---- |
| {date} | Project bootstrapped from {architecture_dir} | — |
6. Display Summary
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
GTD ► PROJECT BOOTSTRAPPED ✓
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Backlog: ./.gtd/BACKLOG.md
Journal: ./.gtd/JOURNAL.md
| Section | Items |
|----------------|-------|
| Migration | {N} |
| Interfaces | {N} |
| Components | {N} |
| Infrastructure | {N} |
─────────────────────────────────────────────────────
▶ Next Up
/expand-backlog {first-item} — break it into executable pieces
OR
/s:spec — if items are already detailed enough
─────────────────────────────────────────────────────