Skip to content

Template: Implementation Plan

This template is used during Phase B of the Use Case to UX workflow. Copy it to your project directory and fill in the <!-- REPLACE: ... --> placeholders.

When filled in, the document title should follow the pattern: <Project Title> — Implementation Plan.


PropertyValue
Target Repository
Story Root Path
Integration Branch
Execution ModelSequential waves; stories within a wave run in parallel
Agent Personafront-end-engineer for all implementation agents

<!-- REPLACE: ASCII dependency graph. Example:
[Wave 0: Infrastructure] ──► [Wave 1: Core Stories] ──► [Wave 3: Advanced Stories]
└──────────────► [Wave 2: Supporting Stories]
-->

WaveStoriesParallelismWorktrees

All implementation agents use the front-end-engineer persona. No other persona is used for story authoring. The team coordinator (if spawned) uses the team-lead persona. See the workspace repository for persona definitions.

  • Worktree parent directory: <!-- REPLACE: domain -->-impl-worktrees/ at the workspace root
  • Per-story worktree path: <domain>-impl-worktrees/<story-name>/
  • Branch naming: <github-username>/<domain>-use-cases/<story-name>
  • Integration branch:

Each story gets its own isolated worktree so agents do not share working trees. Agents must use absolute paths for all tool calls (Read, Edit, Write, Glob, Grep, Bash) when working inside a worktree.

After a wave completes, cherry-pick or merge each story branch into the integration branch before starting the next wave.

Run the following checks after every wave (from within the target repository root):

Terminal window
npm run lint
npx tsc --noEmit
npm run test

All three must pass before the next wave begins. If visual snapshots changed, also run:

Terminal window
./tools/generate-vrt-baselines.sh
# or
npx playwright test --project=vrt

Never push to origin until all local checks pass.

  • One commit per wave on the integration branch, aggregating all story changes from that wave.
  • Commit message format:
feat(<domain>): implement Wave <N> — <wave label>
Stories: <comma-separated story IDs>
Co-Authored-By: <!-- REPLACE: agent co-author line -->
  • Do not squash individual story branches before review; keep them available for per-story diff.

Story IDDescriptionWorktreeBranch
<!-- REPLACE: domain -->-impl-worktrees/<!-- REPLACE: story-id --><!-- REPLACE: username/domain-use-cases/story-id -->

Entry Criteria

Exit Criteria

  • All stories in this wave have their branches merged into the integration branch.
  • npm run lint passes with zero errors.
  • npx tsc --noEmit passes with zero errors.
  • npm run test passes with zero failures.

Agent Count:

Estimated Parallelism:



Complete this checklist after all waves have been merged into the integration branch and before opening the final pull request.

  • npm run lint — zero errors, zero warnings
  • npx tsc --noEmit — zero type errors
  • npm run test — all tests pass; test count meets or exceeds
  • VRT baselines updated if any snapshot-producing stories were added
  • All story files present under <!-- REPLACE: story root path -->
  • Each story exports: Description MDX, Interactive story, Stepwise story, Automated story
  • No <!-- REPLACE: ... --> placeholders remain in any authored story file
  • Integration branch rebased on main (or <!-- REPLACE: base branch -->) with no conflicts
  • Pull request opened with summary of all waves and story count