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 </role>
Flow: Read Docs → Interview → Extract All Items → Write Detailed BACKLOG.md → Init JOURNAL.md </objective>
<context> **Architecture directory:** $ARGUMENTS (default: `./architecture/`)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) </context>
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.
</philosophy> <constraints>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 line - •
Sourcelinks 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
─────────────────────────────────────────────────────
<forced_stop> STOP. The workflow is complete. Do NOT automatically run the next command. Wait for the user. </forced_stop>