End-to-end project planning toolkit: converts requirements into structured phased implementation plans, groups phases into dependency-ordered waves for parallel subagent execution, and decomposes large branches into focused pull requests.
90
90%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
How to update a wave document as work progresses (Mode B).
- [ ] T1.1 — description ← Pending
- [~] T1.2 — description ← In Progress (use [~] or [/] per project convention)
- [x] T1.3 — description ← Done| Value | Meaning |
|---|---|
Pending | Not started |
In Progress | Agent is actively working on this phase |
Done | All tasks complete, verification passed |
Blocked | Blocked by an unresolved issue (add a note) |
Append a status tag to the wave heading:
### Wave 1 — Diagnostics & Design (parallel) ✅ done
### Wave 2 — Fix & Build (parallel) 🔄 in progress
### Wave 3 — Coverage & Validation (parallel) ⏳ pendingOr plain ASCII equivalents (preferred for agent-authored docs):
### Wave 1 — Diagnostics & Design (parallel) — DONE
### Wave 2 — Fix & Build (parallel) — IN PROGRESS
### Wave 3 — Coverage & Validation (parallel) — PENDING**Status**: In Progress ← update when first wave starts
**Status**: Complete ← update when all waves done and final checks pass
**Status**: Blocked ← update with a reason note when stuckRun after a wave's work is committed and merged:
Verification: checklist.- [ ] → - [x].Status cell from In Progress → Done.— DONE.Pending → In Progress if agents are starting.**Status**: In Progress or Complete as appropriate.NEVER advance to wave N+1 if wave N has:
In Progress state.Example gate check protocol:
**Before starting Wave 2:**
Run the following and confirm all pass:
- `vitest run` — all tests green
- `tsc --noEmit` — no type errors
- `git log --oneline main..HEAD` — all Wave 1 commits present on mainIf a wave is partially done (some tasks complete, some not):
In Progress (not Pending).— IN PROGRESS.If a task is blocked:
> BLOCKED: note immediately after the task entry.Blocked.— BLOCKED.- [~] T2.3 — Fix e2e polling
> BLOCKED: Playwright browser download fails in CI — pending infrastructure ticket #4521.After a parallel wave's branches are all merged:
# List worktrees
git worktree list
# Remove each worktree that was used for this wave
git worktree remove <path>
# Delete merged branches
git branch -d <branch-name>Add a Cleanup: subsection to the wave if worktrees were used:
Cleanup (after merge):
- [ ] Remove worktrees: `git worktree remove <path>`
- [ ] Delete branches: `git branch -d <branch>`### Wave 1 — Extract shared lib (parallel) — DONE
> Gate: None — start immediately.
- [x] T1.1 — `scripts/lib/http.ts` — branch `refactor/scripts-lib-http`
- [x] T1.2 — `scripts/lib/dates.ts` — branch `refactor/scripts-lib-dates`
- [x] T1.3 — `scripts/lib/wikidata.ts` — branch `refactor/scripts-lib-wikidata`
- [x] T1.4 — `scripts/lib/paths.ts` — branch `refactor/scripts-lib-paths`
Verification:
- [x] All merged; `main` CI green
- [x] No direct imports of old paths remain
Cleanup:
- [x] Worktrees removed
- [x] Branches deleted
### Wave 2 — Scaffold CLI (sequential) — IN PROGRESS
> Gate: Wave 1 verified ✓
- [~] T2.1 — Install Cliffy + scaffold `scripts/cli.ts` — branch `refactor/scripts-cli-scaffold`
Verification:
- [ ] `deno task cli --help` exits 0
- [ ] No old script imports remain in `cli.ts`