Skip to content

The Branch-Per-Epic Model

Each epic lives on its own branch from start to merge. This keeps main clean: only completed, fully tested epics land there.

  • Created when: Claude starts implementation for an epic (after story breakdown approval)
  • Active during: all story implementations, Playwright run, your manual QA, and any post-QA fixes
  • Tagged when: you sign off on manual QA
  • Merged when: all four quality gates pass on the PR
  • Deleted when: merged (Claude cleans up)

main always contains only working, tested features.

If you need to pause mid-epic, the branch persists. Pick it up in the next session.

You can review the epic’s full history on the PR before it merges.