@ktpartners/dgs-platform 2.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/LICENSE +38 -0
  2. package/README.md +851 -0
  3. package/agents/dgs-codebase-cross-analyzer.md +183 -0
  4. package/agents/dgs-codebase-mapper.md +782 -0
  5. package/agents/dgs-codebase-synthesizer.md +156 -0
  6. package/agents/dgs-debugger.md +1256 -0
  7. package/agents/dgs-executor.md +550 -0
  8. package/agents/dgs-integration-checker.md +481 -0
  9. package/agents/dgs-nyquist-auditor.md +178 -0
  10. package/agents/dgs-phase-researcher.md +563 -0
  11. package/agents/dgs-phase-verifier.md +450 -0
  12. package/agents/dgs-plan-checker.md +708 -0
  13. package/agents/dgs-planner.md +1324 -0
  14. package/agents/dgs-project-researcher.md +631 -0
  15. package/agents/dgs-research-synthesizer.md +249 -0
  16. package/agents/dgs-roadmapper.md +652 -0
  17. package/agents/dgs-verifier.md +607 -0
  18. package/bin/install.js +2073 -0
  19. package/commands/dgs/add-doc.md +45 -0
  20. package/commands/dgs/add-idea.md +38 -0
  21. package/commands/dgs/add-phase.md +43 -0
  22. package/commands/dgs/add-repo.md +54 -0
  23. package/commands/dgs/add-tests.md +41 -0
  24. package/commands/dgs/add-todo.md +47 -0
  25. package/commands/dgs/approve-spec.md +38 -0
  26. package/commands/dgs/audit-milestone.md +36 -0
  27. package/commands/dgs/audit-phase.md +37 -0
  28. package/commands/dgs/cancel-job.md +23 -0
  29. package/commands/dgs/capture-principle.md +143 -0
  30. package/commands/dgs/check-todos.md +45 -0
  31. package/commands/dgs/cleanup.md +18 -0
  32. package/commands/dgs/complete-milestone.md +136 -0
  33. package/commands/dgs/complete-project.md +70 -0
  34. package/commands/dgs/consolidate-ideas.md +50 -0
  35. package/commands/dgs/create-milestone-job.md +37 -0
  36. package/commands/dgs/debug.md +164 -0
  37. package/commands/dgs/develop-idea.md +53 -0
  38. package/commands/dgs/discuss-idea.md +41 -0
  39. package/commands/dgs/discuss-phase.md +83 -0
  40. package/commands/dgs/execute-phase.md +41 -0
  41. package/commands/dgs/fast.md +38 -0
  42. package/commands/dgs/find-related-ideas.md +43 -0
  43. package/commands/dgs/health.md +28 -0
  44. package/commands/dgs/help.md +22 -0
  45. package/commands/dgs/import-spec.md +36 -0
  46. package/commands/dgs/init-product.md +28 -0
  47. package/commands/dgs/insert-phase.md +32 -0
  48. package/commands/dgs/join-discord.md +18 -0
  49. package/commands/dgs/list-docs.md +40 -0
  50. package/commands/dgs/list-ideas.md +42 -0
  51. package/commands/dgs/list-jobs.md +22 -0
  52. package/commands/dgs/list-phase-assumptions.md +46 -0
  53. package/commands/dgs/list-projects.md +57 -0
  54. package/commands/dgs/list-specs.md +40 -0
  55. package/commands/dgs/map-codebase.md +92 -0
  56. package/commands/dgs/new-milestone.md +44 -0
  57. package/commands/dgs/new-project.md +42 -0
  58. package/commands/dgs/node-repair.md +26 -0
  59. package/commands/dgs/overlap-check.md +20 -0
  60. package/commands/dgs/pause-work.md +38 -0
  61. package/commands/dgs/plan-milestone-gaps.md +34 -0
  62. package/commands/dgs/plan-phase.md +44 -0
  63. package/commands/dgs/progress.md +24 -0
  64. package/commands/dgs/quick.md +41 -0
  65. package/commands/dgs/reactivate-project.md +70 -0
  66. package/commands/dgs/reapply-patches.md +110 -0
  67. package/commands/dgs/refine-spec.md +38 -0
  68. package/commands/dgs/reject-idea.md +43 -0
  69. package/commands/dgs/remove-doc.md +44 -0
  70. package/commands/dgs/remove-phase.md +31 -0
  71. package/commands/dgs/remove-repo.md +69 -0
  72. package/commands/dgs/research-idea.md +43 -0
  73. package/commands/dgs/research-phase.md +189 -0
  74. package/commands/dgs/restore-idea.md +45 -0
  75. package/commands/dgs/resume-work.md +40 -0
  76. package/commands/dgs/rollback-job.md +24 -0
  77. package/commands/dgs/run-job.md +35 -0
  78. package/commands/dgs/search.md +40 -0
  79. package/commands/dgs/set-profile.md +34 -0
  80. package/commands/dgs/settings.md +38 -0
  81. package/commands/dgs/switch-project.md +58 -0
  82. package/commands/dgs/undo-consolidation.md +42 -0
  83. package/commands/dgs/update-idea.md +44 -0
  84. package/commands/dgs/update.md +37 -0
  85. package/commands/dgs/validate-phase.md +35 -0
  86. package/commands/dgs/verify-work.md +39 -0
  87. package/commands/dgs/write-spec.md +49 -0
  88. package/deliver-great-systems/.planning/phases/09-backend-wiring-and-error-handling/09-01-SUMMARY.md +84 -0
  89. package/deliver-great-systems/.planning/phases/09-backend-wiring-and-error-handling/09-02-SUMMARY.md +86 -0
  90. package/deliver-great-systems/.planning/phases/10-v1-to-v2-migration-flow/10-01-SUMMARY.md +85 -0
  91. package/deliver-great-systems/bin/dgs-tools.cjs +1444 -0
  92. package/deliver-great-systems/bin/lib/auto-test.cjs +1365 -0
  93. package/deliver-great-systems/bin/lib/commands.cjs +570 -0
  94. package/deliver-great-systems/bin/lib/config.cjs +417 -0
  95. package/deliver-great-systems/bin/lib/conflict-agent.cjs +1063 -0
  96. package/deliver-great-systems/bin/lib/conflict-agent.test.cjs +554 -0
  97. package/deliver-great-systems/bin/lib/context.cjs +929 -0
  98. package/deliver-great-systems/bin/lib/context.test.cjs +693 -0
  99. package/deliver-great-systems/bin/lib/core.cjs +744 -0
  100. package/deliver-great-systems/bin/lib/core.test.cjs +822 -0
  101. package/deliver-great-systems/bin/lib/docs.cjs +919 -0
  102. package/deliver-great-systems/bin/lib/docs.test.cjs +211 -0
  103. package/deliver-great-systems/bin/lib/execution.cjs +705 -0
  104. package/deliver-great-systems/bin/lib/execution.test.cjs +1472 -0
  105. package/deliver-great-systems/bin/lib/frontmatter.cjs +324 -0
  106. package/deliver-great-systems/bin/lib/ideas.cjs +1406 -0
  107. package/deliver-great-systems/bin/lib/ideas.test.cjs +1417 -0
  108. package/deliver-great-systems/bin/lib/identity.cjs +125 -0
  109. package/deliver-great-systems/bin/lib/init.cjs +1114 -0
  110. package/deliver-great-systems/bin/lib/init.test.cjs +1271 -0
  111. package/deliver-great-systems/bin/lib/jobs.cjs +2015 -0
  112. package/deliver-great-systems/bin/lib/jobs.test.cjs +2619 -0
  113. package/deliver-great-systems/bin/lib/merge-conflicts.cjs +654 -0
  114. package/deliver-great-systems/bin/lib/merge-conflicts.test.cjs +370 -0
  115. package/deliver-great-systems/bin/lib/migration.cjs +352 -0
  116. package/deliver-great-systems/bin/lib/migration.test.cjs +582 -0
  117. package/deliver-great-systems/bin/lib/milestone.cjs +243 -0
  118. package/deliver-great-systems/bin/lib/overlap.cjs +437 -0
  119. package/deliver-great-systems/bin/lib/overlap.test.cjs +747 -0
  120. package/deliver-great-systems/bin/lib/path-audit.test.cjs +384 -0
  121. package/deliver-great-systems/bin/lib/paths.cjs +144 -0
  122. package/deliver-great-systems/bin/lib/paths.test.cjs +486 -0
  123. package/deliver-great-systems/bin/lib/phase.cjs +910 -0
  124. package/deliver-great-systems/bin/lib/projects.cjs +691 -0
  125. package/deliver-great-systems/bin/lib/projects.test.cjs +871 -0
  126. package/deliver-great-systems/bin/lib/repos.cjs +1432 -0
  127. package/deliver-great-systems/bin/lib/repos.test.cjs +1882 -0
  128. package/deliver-great-systems/bin/lib/roadmap.cjs +305 -0
  129. package/deliver-great-systems/bin/lib/search.cjs +570 -0
  130. package/deliver-great-systems/bin/lib/specs.cjs +1303 -0
  131. package/deliver-great-systems/bin/lib/state.cjs +893 -0
  132. package/deliver-great-systems/bin/lib/template.cjs +228 -0
  133. package/deliver-great-systems/bin/lib/test-helpers.cjs +291 -0
  134. package/deliver-great-systems/bin/lib/verify.cjs +796 -0
  135. package/deliver-great-systems/references/checkpoints.md +776 -0
  136. package/deliver-great-systems/references/conflict-resolution.md +66 -0
  137. package/deliver-great-systems/references/context-tiers.md +166 -0
  138. package/deliver-great-systems/references/continuation-format.md +249 -0
  139. package/deliver-great-systems/references/decimal-phase-calculation.md +67 -0
  140. package/deliver-great-systems/references/git-integration.md +250 -0
  141. package/deliver-great-systems/references/git-planning-commit.md +40 -0
  142. package/deliver-great-systems/references/model-profile-resolution.md +36 -0
  143. package/deliver-great-systems/references/model-profiles.md +95 -0
  144. package/deliver-great-systems/references/phase-argument-parsing.md +61 -0
  145. package/deliver-great-systems/references/planning-config.md +224 -0
  146. package/deliver-great-systems/references/questioning.md +162 -0
  147. package/deliver-great-systems/references/spec-review-loop.md +177 -0
  148. package/deliver-great-systems/references/tdd.md +265 -0
  149. package/deliver-great-systems/references/ui-brand.md +160 -0
  150. package/deliver-great-systems/references/verification-patterns.md +612 -0
  151. package/deliver-great-systems/templates/DEBUG.md +166 -0
  152. package/deliver-great-systems/templates/UAT.md +251 -0
  153. package/deliver-great-systems/templates/VALIDATION.md +95 -0
  154. package/deliver-great-systems/templates/claude-md.md +74 -0
  155. package/deliver-great-systems/templates/codebase/architecture.md +257 -0
  156. package/deliver-great-systems/templates/codebase/concerns.md +312 -0
  157. package/deliver-great-systems/templates/codebase/conventions.md +309 -0
  158. package/deliver-great-systems/templates/codebase/integrations.md +282 -0
  159. package/deliver-great-systems/templates/codebase/stack.md +188 -0
  160. package/deliver-great-systems/templates/codebase/structure.md +287 -0
  161. package/deliver-great-systems/templates/codebase/testing.md +482 -0
  162. package/deliver-great-systems/templates/config.json +38 -0
  163. package/deliver-great-systems/templates/context.md +354 -0
  164. package/deliver-great-systems/templates/continue-here.md +80 -0
  165. package/deliver-great-systems/templates/debug-subagent-prompt.md +93 -0
  166. package/deliver-great-systems/templates/discovery.md +148 -0
  167. package/deliver-great-systems/templates/milestone-archive.md +125 -0
  168. package/deliver-great-systems/templates/milestone.md +117 -0
  169. package/deliver-great-systems/templates/phase-prompt.md +615 -0
  170. package/deliver-great-systems/templates/planner-subagent-prompt.md +119 -0
  171. package/deliver-great-systems/templates/project.md +186 -0
  172. package/deliver-great-systems/templates/requirements.md +233 -0
  173. package/deliver-great-systems/templates/research-project/ARCHITECTURE.md +206 -0
  174. package/deliver-great-systems/templates/research-project/FEATURES.md +149 -0
  175. package/deliver-great-systems/templates/research-project/PITFALLS.md +202 -0
  176. package/deliver-great-systems/templates/research-project/STACK.md +122 -0
  177. package/deliver-great-systems/templates/research-project/SUMMARY.md +172 -0
  178. package/deliver-great-systems/templates/research.md +554 -0
  179. package/deliver-great-systems/templates/retrospective.md +54 -0
  180. package/deliver-great-systems/templates/roadmap.md +204 -0
  181. package/deliver-great-systems/templates/state.md +178 -0
  182. package/deliver-great-systems/templates/summary-complex.md +59 -0
  183. package/deliver-great-systems/templates/summary-minimal.md +41 -0
  184. package/deliver-great-systems/templates/summary-standard.md +48 -0
  185. package/deliver-great-systems/templates/summary.md +253 -0
  186. package/deliver-great-systems/templates/user-setup.md +313 -0
  187. package/deliver-great-systems/templates/verification-report.md +324 -0
  188. package/deliver-great-systems/workflows/add-doc.md +151 -0
  189. package/deliver-great-systems/workflows/add-idea.md +96 -0
  190. package/deliver-great-systems/workflows/add-phase.md +120 -0
  191. package/deliver-great-systems/workflows/add-tests.md +359 -0
  192. package/deliver-great-systems/workflows/add-todo.md +162 -0
  193. package/deliver-great-systems/workflows/approve-spec.md +194 -0
  194. package/deliver-great-systems/workflows/audit-milestone.md +364 -0
  195. package/deliver-great-systems/workflows/audit-phase.md +462 -0
  196. package/deliver-great-systems/workflows/cancel-job.md +108 -0
  197. package/deliver-great-systems/workflows/check-todos.md +181 -0
  198. package/deliver-great-systems/workflows/cleanup.md +247 -0
  199. package/deliver-great-systems/workflows/codereview.md +526 -0
  200. package/deliver-great-systems/workflows/complete-milestone.md +1298 -0
  201. package/deliver-great-systems/workflows/consolidate-ideas.md +365 -0
  202. package/deliver-great-systems/workflows/create-milestone-job.md +177 -0
  203. package/deliver-great-systems/workflows/develop-idea.md +544 -0
  204. package/deliver-great-systems/workflows/diagnose-issues.md +231 -0
  205. package/deliver-great-systems/workflows/discovery-phase.md +301 -0
  206. package/deliver-great-systems/workflows/discuss-idea.md +263 -0
  207. package/deliver-great-systems/workflows/discuss-phase.md +733 -0
  208. package/deliver-great-systems/workflows/execute-phase.md +571 -0
  209. package/deliver-great-systems/workflows/execute-plan.md +592 -0
  210. package/deliver-great-systems/workflows/find-related-ideas.md +271 -0
  211. package/deliver-great-systems/workflows/health.md +173 -0
  212. package/deliver-great-systems/workflows/help.md +997 -0
  213. package/deliver-great-systems/workflows/import-spec.md +381 -0
  214. package/deliver-great-systems/workflows/init-product.md +767 -0
  215. package/deliver-great-systems/workflows/insert-phase.md +138 -0
  216. package/deliver-great-systems/workflows/list-docs.md +119 -0
  217. package/deliver-great-systems/workflows/list-ideas.md +154 -0
  218. package/deliver-great-systems/workflows/list-jobs.md +89 -0
  219. package/deliver-great-systems/workflows/list-phase-assumptions.md +192 -0
  220. package/deliver-great-systems/workflows/list-specs.md +101 -0
  221. package/deliver-great-systems/workflows/map-codebase.md +621 -0
  222. package/deliver-great-systems/workflows/new-milestone.md +591 -0
  223. package/deliver-great-systems/workflows/new-project.md +1113 -0
  224. package/deliver-great-systems/workflows/node-repair.md +94 -0
  225. package/deliver-great-systems/workflows/overlap-check.md +86 -0
  226. package/deliver-great-systems/workflows/pause-work.md +134 -0
  227. package/deliver-great-systems/workflows/plan-milestone-gaps.md +306 -0
  228. package/deliver-great-systems/workflows/plan-phase.md +698 -0
  229. package/deliver-great-systems/workflows/progress.md +386 -0
  230. package/deliver-great-systems/workflows/quick.md +845 -0
  231. package/deliver-great-systems/workflows/refine-spec.md +275 -0
  232. package/deliver-great-systems/workflows/reject-idea.md +109 -0
  233. package/deliver-great-systems/workflows/remove-doc.md +117 -0
  234. package/deliver-great-systems/workflows/remove-phase.md +163 -0
  235. package/deliver-great-systems/workflows/research-idea.md +325 -0
  236. package/deliver-great-systems/workflows/research-phase.md +81 -0
  237. package/deliver-great-systems/workflows/restore-idea.md +101 -0
  238. package/deliver-great-systems/workflows/resume-project.md +311 -0
  239. package/deliver-great-systems/workflows/rollback-job.md +130 -0
  240. package/deliver-great-systems/workflows/run-job.md +498 -0
  241. package/deliver-great-systems/workflows/search.md +130 -0
  242. package/deliver-great-systems/workflows/set-profile.md +83 -0
  243. package/deliver-great-systems/workflows/settings.md +470 -0
  244. package/deliver-great-systems/workflows/transition.md +563 -0
  245. package/deliver-great-systems/workflows/undo-consolidation.md +155 -0
  246. package/deliver-great-systems/workflows/update-idea.md +157 -0
  247. package/deliver-great-systems/workflows/update.md +242 -0
  248. package/deliver-great-systems/workflows/validate-phase.md +177 -0
  249. package/deliver-great-systems/workflows/verify-phase.md +253 -0
  250. package/deliver-great-systems/workflows/verify-work.md +671 -0
  251. package/deliver-great-systems/workflows/write-spec.md +450 -0
  252. package/hooks/dist/dgs-check-update.js +62 -0
  253. package/hooks/dist/dgs-context-monitor.js +141 -0
  254. package/hooks/dist/dgs-statusline.js +115 -0
  255. package/package.json +60 -0
  256. package/scripts/build-hooks.js +43 -0
@@ -0,0 +1,253 @@
1
+ # Summary Template
2
+
3
+ Template for `phases/XX-name/{phase}-{plan}-SUMMARY.md` (in planning root) - phase completion documentation.
4
+
5
+ > **Layout-agnostic:** Workflows resolve the phase directory path via `${phase_dir}` from init output. Works in both standard and root layouts.
6
+
7
+ ---
8
+
9
+ ## File Template
10
+
11
+ ```markdown
12
+ ---
13
+ phase: XX-name
14
+ plan: YY
15
+ subsystem: [primary category: auth, payments, ui, api, database, infra, testing, etc.]
16
+ tags: [searchable tech: jwt, stripe, react, postgres, prisma]
17
+
18
+ # Dependency graph
19
+ requires:
20
+ - phase: [prior phase this depends on]
21
+ provides: [what that phase built that this uses]
22
+ provides:
23
+ - [bullet list of what this phase built/delivered]
24
+ affects: [list of phase names or keywords that will need this context]
25
+
26
+ # Tech tracking
27
+ tech-stack:
28
+ added: [libraries/tools added in this phase]
29
+ patterns: [architectural/code patterns established]
30
+
31
+ key-files:
32
+ created: [important files created]
33
+ modified: [important files modified]
34
+
35
+ key-decisions:
36
+ - "Decision 1"
37
+ - "Decision 2"
38
+
39
+ patterns-established:
40
+ - "Pattern 1: description"
41
+ - "Pattern 2: description"
42
+
43
+ requirements-completed: [] # REQUIRED — Copy ALL requirement IDs from this plan's `requirements` frontmatter field.
44
+
45
+ # Metrics
46
+ duration: Xmin
47
+ completed: YYYY-MM-DD
48
+ executed_by: "" # Author who triggered execution (set from init author)
49
+ ---
50
+
51
+ # Phase [X]: [Name] Summary
52
+
53
+ **[Substantive one-liner describing outcome - NOT "phase complete" or "implementation finished"]**
54
+
55
+ ## Performance
56
+
57
+ - **Duration:** [time] (e.g., 23 min, 1h 15m)
58
+ - **Started:** [ISO timestamp]
59
+ - **Completed:** [ISO timestamp]
60
+ - **Tasks:** [count completed]
61
+ - **Files modified:** [count]
62
+
63
+ ## Accomplishments
64
+ - [Most important outcome]
65
+ - [Second key accomplishment]
66
+ - [Third if applicable]
67
+
68
+ ## Task Commits
69
+
70
+ Each task was committed atomically:
71
+
72
+ 1. **Task 1: [task name]** - `abc123f` (feat/fix/test/refactor)
73
+ 2. **Task 2: [task name]** - `def456g` (feat/fix/test/refactor)
74
+ 3. **Task 3: [task name]** - `hij789k` (feat/fix/test/refactor)
75
+
76
+ **Plan metadata:** `lmn012o` (docs: complete plan)
77
+
78
+ _Note: TDD tasks may have multiple commits (test → feat → refactor)_
79
+
80
+ ## Files Created/Modified
81
+ - `path/to/file.ts` - What it does
82
+ - `path/to/another.ts` - What it does
83
+
84
+ ## Decisions Made
85
+ [Key decisions with brief rationale, or "None - followed plan as specified"]
86
+
87
+ ## Deviations from Plan
88
+
89
+ [If no deviations: "None - plan executed exactly as written"]
90
+
91
+ [If deviations occurred:]
92
+
93
+ ### Auto-fixed Issues
94
+
95
+ **1. [Rule X - Category] Brief description**
96
+ - **Found during:** Task [N] ([task name])
97
+ - **Issue:** [What was wrong]
98
+ - **Fix:** [What was done]
99
+ - **Files modified:** [file paths]
100
+ - **Verification:** [How it was verified]
101
+ - **Committed in:** [hash] (part of task commit)
102
+
103
+ [... repeat for each auto-fix ...]
104
+
105
+ ---
106
+
107
+ **Total deviations:** [N] auto-fixed ([breakdown by rule])
108
+ **Impact on plan:** [Brief assessment - e.g., "All auto-fixes necessary for correctness/security. No scope creep."]
109
+
110
+ ## Issues Encountered
111
+ [Problems and how they were resolved, or "None"]
112
+
113
+ [Note: "Deviations from Plan" documents unplanned work that was handled automatically via deviation rules. "Issues Encountered" documents problems during planned work that required problem-solving.]
114
+
115
+ ## User Setup Required
116
+
117
+ [If USER-SETUP.md was generated:]
118
+ **External services require manual configuration.** See [{phase}-USER-SETUP.md](./{phase}-USER-SETUP.md) for:
119
+ - Environment variables to add
120
+ - Dashboard configuration steps
121
+ - Verification commands
122
+
123
+ [If no USER-SETUP.md:]
124
+ None - no external service configuration required.
125
+
126
+ ## Next Phase Readiness
127
+ [What's ready for next phase]
128
+ [Any blockers or concerns]
129
+
130
+ ---
131
+ *Phase: XX-name*
132
+ *Completed: [date]*
133
+ ```
134
+
135
+ <frontmatter_guidance>
136
+ **Purpose:** Enable automatic context assembly via dependency graph. Frontmatter makes summary metadata machine-readable so plan-phase can scan all summaries quickly and select relevant ones based on dependencies.
137
+
138
+ **Fast scanning:** Frontmatter is first ~25 lines, cheap to scan across all summaries without reading full content.
139
+
140
+ **Dependency graph:** `requires`/`provides`/`affects` create explicit links between phases, enabling transitive closure for context selection.
141
+
142
+ **Subsystem:** Primary categorization (auth, payments, ui, api, database, infra, testing) for detecting related phases.
143
+
144
+ **Tags:** Searchable technical keywords (libraries, frameworks, tools) for tech stack awareness.
145
+
146
+ **Key-files:** Important files for @context references in PLAN.md.
147
+
148
+ **Patterns:** Established conventions future phases should maintain.
149
+
150
+ **Executed_by:** Set from `author` field in init JSON. Records who triggered execution.
151
+
152
+ **Population:** Frontmatter is populated during summary creation in execute-plan.md. See `<step name="create_summary">` for field-by-field guidance.
153
+ </frontmatter_guidance>
154
+
155
+ <one_liner_rules>
156
+ The one-liner MUST be substantive:
157
+
158
+ **Good:**
159
+ - "JWT auth with refresh rotation using jose library"
160
+ - "Prisma schema with User, Session, and Product models"
161
+ - "Dashboard with real-time metrics via Server-Sent Events"
162
+
163
+ **Bad:**
164
+ - "Phase complete"
165
+ - "Authentication implemented"
166
+ - "Foundation finished"
167
+ - "All tasks done"
168
+
169
+ The one-liner should tell someone what actually shipped.
170
+ </one_liner_rules>
171
+
172
+ <example>
173
+ ```markdown
174
+ # Phase 1: Foundation Summary
175
+
176
+ **JWT auth with refresh rotation using jose library, Prisma User model, and protected API middleware**
177
+
178
+ ## Performance
179
+
180
+ - **Duration:** 28 min
181
+ - **Started:** 2025-01-15T14:22:10Z
182
+ - **Completed:** 2025-01-15T14:50:33Z
183
+ - **Tasks:** 5
184
+ - **Files modified:** 8
185
+
186
+ ## Accomplishments
187
+ - User model with email/password auth
188
+ - Login/logout endpoints with httpOnly JWT cookies
189
+ - Protected route middleware checking token validity
190
+ - Refresh token rotation on each request
191
+
192
+ ## Files Created/Modified
193
+ - `prisma/schema.prisma` - User and Session models
194
+ - `src/app/api/auth/login/route.ts` - Login endpoint
195
+ - `src/app/api/auth/logout/route.ts` - Logout endpoint
196
+ - `src/middleware.ts` - Protected route checks
197
+ - `src/lib/auth.ts` - JWT helpers using jose
198
+
199
+ ## Decisions Made
200
+ - Used jose instead of jsonwebtoken (ESM-native, Edge-compatible)
201
+ - 15-min access tokens with 7-day refresh tokens
202
+ - Storing refresh tokens in database for revocation capability
203
+
204
+ ## Deviations from Plan
205
+
206
+ ### Auto-fixed Issues
207
+
208
+ **1. [Rule 2 - Missing Critical] Added password hashing with bcrypt**
209
+ - **Found during:** Task 2 (Login endpoint implementation)
210
+ - **Issue:** Plan didn't specify password hashing - storing plaintext would be critical security flaw
211
+ - **Fix:** Added bcrypt hashing on registration, comparison on login with salt rounds 10
212
+ - **Files modified:** src/app/api/auth/login/route.ts, src/lib/auth.ts
213
+ - **Verification:** Password hash test passes, plaintext never stored
214
+ - **Committed in:** abc123f (Task 2 commit)
215
+
216
+ **2. [Rule 3 - Blocking] Installed missing jose dependency**
217
+ - **Found during:** Task 4 (JWT token generation)
218
+ - **Issue:** jose package not in package.json, import failing
219
+ - **Fix:** Ran `npm install jose`
220
+ - **Files modified:** package.json, package-lock.json
221
+ - **Verification:** Import succeeds, build passes
222
+ - **Committed in:** def456g (Task 4 commit)
223
+
224
+ ---
225
+
226
+ **Total deviations:** 2 auto-fixed (1 missing critical, 1 blocking)
227
+ **Impact on plan:** Both auto-fixes essential for security and functionality. No scope creep.
228
+
229
+ ## Issues Encountered
230
+ - jsonwebtoken CommonJS import failed in Edge runtime - switched to jose (planned library change, worked as expected)
231
+
232
+ ## Next Phase Readiness
233
+ - Auth foundation complete, ready for feature development
234
+ - User registration endpoint needed before public launch
235
+
236
+ ---
237
+ *Phase: 01-foundation*
238
+ *Completed: 2025-01-15*
239
+ ```
240
+ </example>
241
+
242
+ <guidelines>
243
+ **Frontmatter:** MANDATORY - complete all fields. Enables automatic context assembly for future planning.
244
+
245
+ **One-liner:** Must be substantive. "JWT auth with refresh rotation using jose library" not "Authentication implemented".
246
+
247
+ **Decisions section:**
248
+ - Key decisions made during execution with rationale
249
+ - Extracted to STATE.md accumulated context
250
+ - Use "None - followed plan as specified" if no deviations
251
+
252
+ **After creation:** STATE.md updated with position, decisions, issues.
253
+ </guidelines>
@@ -0,0 +1,313 @@
1
+ # User Setup Template
2
+
3
+ Template for `phases/XX-name/{phase}-USER-SETUP.md` (in planning root) - human-required configuration that Claude cannot automate.
4
+
5
+ > **Layout-agnostic:** Workflows resolve the phase directory path via `${phase_dir}` from init output. Works in both standard and root layouts.
6
+
7
+ **Purpose:** Document setup tasks that literally require human action - account creation, dashboard configuration, secret retrieval. Claude automates everything possible; this file captures only what remains.
8
+
9
+ ---
10
+
11
+ ## File Template
12
+
13
+ ```markdown
14
+ # Phase {X}: User Setup Required
15
+
16
+ **Generated:** [YYYY-MM-DD]
17
+ **Phase:** {phase-name}
18
+ **Status:** Incomplete
19
+
20
+ Complete these items for the integration to function. Claude automated everything possible; these items require human access to external dashboards/accounts.
21
+
22
+ ## Environment Variables
23
+
24
+ | Status | Variable | Source | Add to |
25
+ |--------|----------|--------|--------|
26
+ | [ ] | `ENV_VAR_NAME` | [Service Dashboard → Path → To → Value] | `.env.local` |
27
+ | [ ] | `ANOTHER_VAR` | [Service Dashboard → Path → To → Value] | `.env.local` |
28
+
29
+ ## Account Setup
30
+
31
+ [Only if new account creation is required]
32
+
33
+ - [ ] **Create [Service] account**
34
+ - URL: [signup URL]
35
+ - Skip if: Already have account
36
+
37
+ ## Dashboard Configuration
38
+
39
+ [Only if dashboard configuration is required]
40
+
41
+ - [ ] **[Configuration task]**
42
+ - Location: [Service Dashboard → Path → To → Setting]
43
+ - Set to: [Required value or configuration]
44
+ - Notes: [Any important details]
45
+
46
+ ## Verification
47
+
48
+ After completing setup, verify with:
49
+
50
+ ```bash
51
+ # [Verification commands]
52
+ ```
53
+
54
+ Expected results:
55
+ - [What success looks like]
56
+
57
+ ---
58
+
59
+ **Once all items complete:** Mark status as "Complete" at top of file.
60
+ ```
61
+
62
+ ---
63
+
64
+ ## When to Generate
65
+
66
+ Generate `{phase}-USER-SETUP.md` when plan frontmatter contains `user_setup` field.
67
+
68
+ **Trigger:** `user_setup` exists in PLAN.md frontmatter and has items.
69
+
70
+ **Location:** Same directory as PLAN.md and SUMMARY.md.
71
+
72
+ **Timing:** Generated during execute-plan.md after tasks complete, before SUMMARY.md creation.
73
+
74
+ ---
75
+
76
+ ## Frontmatter Schema
77
+
78
+ In PLAN.md, `user_setup` declares human-required configuration:
79
+
80
+ ```yaml
81
+ user_setup:
82
+ - service: stripe
83
+ why: "Payment processing requires API keys"
84
+ env_vars:
85
+ - name: STRIPE_SECRET_KEY
86
+ source: "Stripe Dashboard → Developers → API keys → Secret key"
87
+ - name: STRIPE_WEBHOOK_SECRET
88
+ source: "Stripe Dashboard → Developers → Webhooks → Signing secret"
89
+ dashboard_config:
90
+ - task: "Create webhook endpoint"
91
+ location: "Stripe Dashboard → Developers → Webhooks → Add endpoint"
92
+ details: "URL: https://[your-domain]/api/webhooks/stripe, Events: checkout.session.completed, customer.subscription.*"
93
+ local_dev:
94
+ - "Run: stripe listen --forward-to localhost:3000/api/webhooks/stripe"
95
+ - "Use the webhook secret from CLI output for local testing"
96
+ ```
97
+
98
+ ---
99
+
100
+ ## The Automation-First Rule
101
+
102
+ **USER-SETUP.md contains ONLY what Claude literally cannot do.**
103
+
104
+ | Claude CAN Do (not in USER-SETUP) | Claude CANNOT Do (→ USER-SETUP) |
105
+ |-----------------------------------|--------------------------------|
106
+ | `npm install stripe` | Create Stripe account |
107
+ | Write webhook handler code | Get API keys from dashboard |
108
+ | Create `.env.local` file structure | Copy actual secret values |
109
+ | Run `stripe listen` | Authenticate Stripe CLI (browser OAuth) |
110
+ | Configure package.json | Access external service dashboards |
111
+ | Write any code | Retrieve secrets from third-party systems |
112
+
113
+ **The test:** "Does this require a human in a browser, accessing an account Claude doesn't have credentials for?"
114
+ - Yes → USER-SETUP.md
115
+ - No → Claude does it automatically
116
+
117
+ ---
118
+
119
+ ## Service-Specific Examples
120
+
121
+ <stripe_example>
122
+ ```markdown
123
+ # Phase 10: User Setup Required
124
+
125
+ **Generated:** 2025-01-14
126
+ **Phase:** 10-monetization
127
+ **Status:** Incomplete
128
+
129
+ Complete these items for Stripe integration to function.
130
+
131
+ ## Environment Variables
132
+
133
+ | Status | Variable | Source | Add to |
134
+ |--------|----------|--------|--------|
135
+ | [ ] | `STRIPE_SECRET_KEY` | Stripe Dashboard → Developers → API keys → Secret key | `.env.local` |
136
+ | [ ] | `NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY` | Stripe Dashboard → Developers → API keys → Publishable key | `.env.local` |
137
+ | [ ] | `STRIPE_WEBHOOK_SECRET` | Stripe Dashboard → Developers → Webhooks → [endpoint] → Signing secret | `.env.local` |
138
+
139
+ ## Account Setup
140
+
141
+ - [ ] **Create Stripe account** (if needed)
142
+ - URL: https://dashboard.stripe.com/register
143
+ - Skip if: Already have Stripe account
144
+
145
+ ## Dashboard Configuration
146
+
147
+ - [ ] **Create webhook endpoint**
148
+ - Location: Stripe Dashboard → Developers → Webhooks → Add endpoint
149
+ - Endpoint URL: `https://[your-domain]/api/webhooks/stripe`
150
+ - Events to send:
151
+ - `checkout.session.completed`
152
+ - `customer.subscription.created`
153
+ - `customer.subscription.updated`
154
+ - `customer.subscription.deleted`
155
+
156
+ - [ ] **Create products and prices** (if using subscription tiers)
157
+ - Location: Stripe Dashboard → Products → Add product
158
+ - Create each subscription tier
159
+ - Copy Price IDs to:
160
+ - `STRIPE_STARTER_PRICE_ID`
161
+ - `STRIPE_PRO_PRICE_ID`
162
+
163
+ ## Local Development
164
+
165
+ For local webhook testing:
166
+ ```bash
167
+ stripe listen --forward-to localhost:3000/api/webhooks/stripe
168
+ ```
169
+ Use the webhook signing secret from CLI output (starts with `whsec_`).
170
+
171
+ ## Verification
172
+
173
+ After completing setup:
174
+
175
+ ```bash
176
+ # Check env vars are set
177
+ grep STRIPE .env.local
178
+
179
+ # Verify build passes
180
+ npm run build
181
+
182
+ # Test webhook endpoint (should return 400 bad signature, not 500 crash)
183
+ curl -X POST http://localhost:3000/api/webhooks/stripe \
184
+ -H "Content-Type: application/json" \
185
+ -d '{}'
186
+ ```
187
+
188
+ Expected: Build passes, webhook returns 400 (signature validation working).
189
+
190
+ ---
191
+
192
+ **Once all items complete:** Mark status as "Complete" at top of file.
193
+ ```
194
+ </stripe_example>
195
+
196
+ <supabase_example>
197
+ ```markdown
198
+ # Phase 2: User Setup Required
199
+
200
+ **Generated:** 2025-01-14
201
+ **Phase:** 02-authentication
202
+ **Status:** Incomplete
203
+
204
+ Complete these items for Supabase Auth to function.
205
+
206
+ ## Environment Variables
207
+
208
+ | Status | Variable | Source | Add to |
209
+ |--------|----------|--------|--------|
210
+ | [ ] | `NEXT_PUBLIC_SUPABASE_URL` | Supabase Dashboard → Settings → API → Project URL | `.env.local` |
211
+ | [ ] | `NEXT_PUBLIC_SUPABASE_ANON_KEY` | Supabase Dashboard → Settings → API → anon public | `.env.local` |
212
+ | [ ] | `SUPABASE_SERVICE_ROLE_KEY` | Supabase Dashboard → Settings → API → service_role | `.env.local` |
213
+
214
+ ## Account Setup
215
+
216
+ - [ ] **Create Supabase project**
217
+ - URL: https://supabase.com/dashboard/new
218
+ - Skip if: Already have project for this app
219
+
220
+ ## Dashboard Configuration
221
+
222
+ - [ ] **Enable Email Auth**
223
+ - Location: Supabase Dashboard → Authentication → Providers
224
+ - Enable: Email provider
225
+ - Configure: Confirm email (on/off based on preference)
226
+
227
+ - [ ] **Configure OAuth providers** (if using social login)
228
+ - Location: Supabase Dashboard → Authentication → Providers
229
+ - For Google: Add Client ID and Secret from Google Cloud Console
230
+ - For GitHub: Add Client ID and Secret from GitHub OAuth Apps
231
+
232
+ ## Verification
233
+
234
+ After completing setup:
235
+
236
+ ```bash
237
+ # Check env vars
238
+ grep SUPABASE .env.local
239
+
240
+ # Verify connection (run in project directory)
241
+ npx supabase status
242
+ ```
243
+
244
+ ---
245
+
246
+ **Once all items complete:** Mark status as "Complete" at top of file.
247
+ ```
248
+ </supabase_example>
249
+
250
+ <sendgrid_example>
251
+ ```markdown
252
+ # Phase 5: User Setup Required
253
+
254
+ **Generated:** 2025-01-14
255
+ **Phase:** 05-notifications
256
+ **Status:** Incomplete
257
+
258
+ Complete these items for SendGrid email to function.
259
+
260
+ ## Environment Variables
261
+
262
+ | Status | Variable | Source | Add to |
263
+ |--------|----------|--------|--------|
264
+ | [ ] | `SENDGRID_API_KEY` | SendGrid Dashboard → Settings → API Keys → Create API Key | `.env.local` |
265
+ | [ ] | `SENDGRID_FROM_EMAIL` | Your verified sender email address | `.env.local` |
266
+
267
+ ## Account Setup
268
+
269
+ - [ ] **Create SendGrid account**
270
+ - URL: https://signup.sendgrid.com/
271
+ - Skip if: Already have account
272
+
273
+ ## Dashboard Configuration
274
+
275
+ - [ ] **Verify sender identity**
276
+ - Location: SendGrid Dashboard → Settings → Sender Authentication
277
+ - Option 1: Single Sender Verification (quick, for dev)
278
+ - Option 2: Domain Authentication (production)
279
+
280
+ - [ ] **Create API Key**
281
+ - Location: SendGrid Dashboard → Settings → API Keys → Create API Key
282
+ - Permission: Restricted Access → Mail Send (Full Access)
283
+ - Copy key immediately (shown only once)
284
+
285
+ ## Verification
286
+
287
+ After completing setup:
288
+
289
+ ```bash
290
+ # Check env var
291
+ grep SENDGRID .env.local
292
+
293
+ # Test email sending (replace with your test email)
294
+ curl -X POST http://localhost:3000/api/test-email \
295
+ -H "Content-Type: application/json" \
296
+ -d '{"to": "your@email.com"}'
297
+ ```
298
+
299
+ ---
300
+
301
+ **Once all items complete:** Mark status as "Complete" at top of file.
302
+ ```
303
+ </sendgrid_example>
304
+
305
+ ---
306
+
307
+ ## Guidelines
308
+
309
+ **Never include:** Actual secret values. Steps Claude can automate (package installs, code changes).
310
+
311
+ **Naming:** `{phase}-USER-SETUP.md` matches the phase number pattern.
312
+ **Status tracking:** User marks checkboxes and updates status line when complete.
313
+ **Searchability:** `grep -r "USER-SETUP" phases/` finds all phases with user requirements (run from planning root).