@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,265 @@
1
+ <overview>
2
+ > **v2 Multi-Project:** The `@${...}` path references in TDD plan templates are resolved by the executor using init output paths at runtime. In v2 setups, these resolve to `<project-slug>/` within the planning root.
3
+
4
+ TDD is about design quality, not coverage metrics. The red-green-refactor cycle forces you to think about behavior before implementation, producing cleaner interfaces and more testable code.
5
+
6
+ **Principle:** If you can describe the behavior as `expect(fn(input)).toBe(output)` before writing `fn`, TDD improves the result.
7
+
8
+ **Key insight:** TDD work is fundamentally heavier than standard tasks—it requires 2-3 execution cycles (RED → GREEN → REFACTOR), each with file reads, test runs, and potential debugging. TDD features get dedicated plans to ensure full context is available throughout the cycle.
9
+ </overview>
10
+
11
+ <when_to_use_tdd>
12
+ ## When TDD Improves Quality
13
+
14
+ **TDD candidates (create a TDD plan):**
15
+ - Business logic with defined inputs/outputs
16
+ - API endpoints with request/response contracts
17
+ - Data transformations, parsing, formatting
18
+ - Validation rules and constraints
19
+ - Algorithms with testable behavior
20
+ - State machines and workflows
21
+ - Utility functions with clear specifications
22
+
23
+ **Skip TDD (use standard plan with `type="auto"` tasks):**
24
+ - UI layout, styling, visual components
25
+ - Configuration changes
26
+ - Glue code connecting existing components
27
+ - One-off scripts and migrations
28
+ - Simple CRUD with no business logic
29
+ - Exploratory prototyping
30
+
31
+ **Heuristic:** Can you write `expect(fn(input)).toBe(output)` before writing `fn`?
32
+ → Yes: Create a TDD plan
33
+ → No: Use standard plan, add tests after if needed
34
+ </when_to_use_tdd>
35
+
36
+ <tdd_plan_structure>
37
+ ## TDD Plan Structure
38
+
39
+ Each TDD plan implements **one feature** through the full RED-GREEN-REFACTOR cycle.
40
+
41
+ ```markdown
42
+ ---
43
+ phase: XX-name
44
+ plan: NN
45
+ type: tdd
46
+ ---
47
+
48
+ <objective>
49
+ [What feature and why]
50
+ Purpose: [Design benefit of TDD for this feature]
51
+ Output: [Working, tested feature]
52
+ </objective>
53
+
54
+ <context>
55
+ @${project_md_path}
56
+ @${roadmap_path}
57
+ @relevant/source/files.ts
58
+ </context>
59
+
60
+ <feature>
61
+ <name>[Feature name]</name>
62
+ <files>[source file, test file]</files>
63
+ <behavior>
64
+ [Expected behavior in testable terms]
65
+ Cases: input → expected output
66
+ </behavior>
67
+ <implementation>[How to implement once tests pass]</implementation>
68
+ </feature>
69
+
70
+ <verification>
71
+ [Test command that proves feature works]
72
+ </verification>
73
+
74
+ <success_criteria>
75
+ - Failing test written and committed
76
+ - Implementation passes test
77
+ - Refactor complete (if needed)
78
+ - All 2-3 commits present
79
+ </success_criteria>
80
+
81
+ <output>
82
+ After completion, create SUMMARY.md with:
83
+ - RED: What test was written, why it failed
84
+ - GREEN: What implementation made it pass
85
+ - REFACTOR: What cleanup was done (if any)
86
+ - Commits: List of commits produced
87
+ </output>
88
+ ```
89
+
90
+ **One feature per TDD plan.** If features are trivial enough to batch, they're trivial enough to skip TDD—use a standard plan and add tests after.
91
+ </tdd_plan_structure>
92
+
93
+ <execution_flow>
94
+ ## Red-Green-Refactor Cycle
95
+
96
+ **RED - Write failing test:**
97
+ 1. Create test file following project conventions
98
+ 2. Write test describing expected behavior (from `<behavior>` element)
99
+ 3. Run test - it MUST fail
100
+ 4. If test passes: feature exists or test is wrong. Investigate.
101
+ 5. Commit: `test({phase}-{plan}): add failing test for [feature]`
102
+
103
+ **GREEN - Implement to pass:**
104
+ 1. Write minimal code to make test pass
105
+ 2. No cleverness, no optimization - just make it work
106
+ 3. Run test - it MUST pass
107
+ 4. Commit: `feat({phase}-{plan}): implement [feature]`
108
+
109
+ **REFACTOR (if needed):**
110
+ 1. Clean up implementation if obvious improvements exist
111
+ 2. Run tests - MUST still pass
112
+ 3. Only commit if changes made: `refactor({phase}-{plan}): clean up [feature]`
113
+
114
+ **Result:** Each TDD plan produces 2-3 atomic commits.
115
+ </execution_flow>
116
+
117
+ <test_quality>
118
+ ## Good Tests vs Bad Tests
119
+
120
+ **Test behavior, not implementation:**
121
+ - Good: "returns formatted date string"
122
+ - Bad: "calls formatDate helper with correct params"
123
+ - Tests should survive refactors
124
+
125
+ **One concept per test:**
126
+ - Good: Separate tests for valid input, empty input, malformed input
127
+ - Bad: Single test checking all edge cases with multiple assertions
128
+
129
+ **Descriptive names:**
130
+ - Good: "should reject empty email", "returns null for invalid ID"
131
+ - Bad: "test1", "handles error", "works correctly"
132
+
133
+ **No implementation details:**
134
+ - Good: Test public API, observable behavior
135
+ - Bad: Mock internals, test private methods, assert on internal state
136
+ </test_quality>
137
+
138
+ <framework_setup>
139
+ ## Test Framework Setup (If None Exists)
140
+
141
+ When executing a TDD plan but no test framework is configured, set it up as part of the RED phase:
142
+
143
+ **1. Detect project type:**
144
+ ```bash
145
+ # JavaScript/TypeScript
146
+ if [ -f package.json ]; then echo "node"; fi
147
+
148
+ # Python
149
+ if [ -f requirements.txt ] || [ -f pyproject.toml ]; then echo "python"; fi
150
+
151
+ # Go
152
+ if [ -f go.mod ]; then echo "go"; fi
153
+
154
+ # Rust
155
+ if [ -f Cargo.toml ]; then echo "rust"; fi
156
+ ```
157
+
158
+ **2. Install minimal framework:**
159
+ | Project | Framework | Install |
160
+ |---------|-----------|---------|
161
+ | Node.js | Jest | `npm install -D jest @types/jest ts-jest` |
162
+ | Node.js (Vite) | Vitest | `npm install -D vitest` |
163
+ | Python | pytest | `pip install pytest` |
164
+ | Go | testing | Built-in |
165
+ | Rust | cargo test | Built-in |
166
+
167
+ **3. Create config if needed:**
168
+ - Jest: `jest.config.js` with ts-jest preset
169
+ - Vitest: `vitest.config.ts` with test globals
170
+ - pytest: `pytest.ini` or `pyproject.toml` section
171
+
172
+ **4. Verify setup:**
173
+ ```bash
174
+ # Run empty test suite - should pass with 0 tests
175
+ npm test # Node
176
+ pytest # Python
177
+ go test ./... # Go
178
+ cargo test # Rust
179
+ ```
180
+
181
+ **5. Create first test file:**
182
+ Follow project conventions for test location:
183
+ - `*.test.ts` / `*.spec.ts` next to source
184
+ - `__tests__/` directory
185
+ - `tests/` directory at root
186
+
187
+ Framework setup is a one-time cost included in the first TDD plan's RED phase.
188
+ </framework_setup>
189
+
190
+ <error_handling>
191
+ ## Error Handling
192
+
193
+ **Test doesn't fail in RED phase:**
194
+ - Feature may already exist - investigate
195
+ - Test may be wrong (not testing what you think)
196
+ - Fix before proceeding
197
+
198
+ **Test doesn't pass in GREEN phase:**
199
+ - Debug implementation
200
+ - Don't skip to refactor
201
+ - Keep iterating until green
202
+
203
+ **Tests fail in REFACTOR phase:**
204
+ - Undo refactor
205
+ - Commit was premature
206
+ - Refactor in smaller steps
207
+
208
+ **Unrelated tests break:**
209
+ - Stop and investigate
210
+ - May indicate coupling issue
211
+ - Fix before proceeding
212
+ </error_handling>
213
+
214
+ <commit_pattern>
215
+ ## Commit Pattern for TDD Plans
216
+
217
+ TDD plans produce 2-3 atomic commits (one per phase):
218
+
219
+ ```
220
+ test(08-02): add failing test for email validation
221
+
222
+ - Tests valid email formats accepted
223
+ - Tests invalid formats rejected
224
+ - Tests empty input handling
225
+
226
+ feat(08-02): implement email validation
227
+
228
+ - Regex pattern matches RFC 5322
229
+ - Returns boolean for validity
230
+ - Handles edge cases (empty, null)
231
+
232
+ refactor(08-02): extract regex to constant (optional)
233
+
234
+ - Moved pattern to EMAIL_REGEX constant
235
+ - No behavior changes
236
+ - Tests still pass
237
+ ```
238
+
239
+ **Comparison with standard plans:**
240
+ - Standard plans: 1 commit per task, 2-4 commits per plan
241
+ - TDD plans: 2-3 commits for single feature
242
+
243
+ Both follow same format: `{type}({phase}-{plan}): {description}`
244
+
245
+ **Benefits:**
246
+ - Each commit independently revertable
247
+ - Git bisect works at commit level
248
+ - Clear history showing TDD discipline
249
+ - Consistent with overall commit strategy
250
+ </commit_pattern>
251
+
252
+ <context_budget>
253
+ ## Context Budget
254
+
255
+ TDD plans target **~40% context usage** (lower than standard plans' ~50%).
256
+
257
+ Why lower:
258
+ - RED phase: write test, run test, potentially debug why it didn't fail
259
+ - GREEN phase: implement, run test, potentially iterate on failures
260
+ - REFACTOR phase: modify code, run tests, verify no regressions
261
+
262
+ Each phase involves reading files, running commands, analyzing output. The back-and-forth is inherently heavier than linear task execution.
263
+
264
+ Single feature focus ensures full quality throughout the cycle.
265
+ </context_budget>
@@ -0,0 +1,160 @@
1
+ <ui_patterns>
2
+
3
+ Visual patterns for user-facing DGS output. Orchestrators @-reference this file.
4
+
5
+ ## Stage Banners
6
+
7
+ Use for major workflow transitions.
8
+
9
+ ```
10
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
11
+ DGS ► {STAGE NAME}
12
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
13
+ ```
14
+
15
+ **Stage names (uppercase):**
16
+ - `QUESTIONING`
17
+ - `RESEARCHING`
18
+ - `DEFINING REQUIREMENTS`
19
+ - `CREATING ROADMAP`
20
+ - `PLANNING PHASE {N}`
21
+ - `EXECUTING WAVE {N}`
22
+ - `VERIFYING`
23
+ - `PHASE {N} COMPLETE ✓`
24
+ - `MILESTONE COMPLETE 🎉`
25
+
26
+ ---
27
+
28
+ ## Checkpoint Boxes
29
+
30
+ User action required. 62-character width.
31
+
32
+ ```
33
+ ╔══════════════════════════════════════════════════════════════╗
34
+ ║ CHECKPOINT: {Type} ║
35
+ ╚══════════════════════════════════════════════════════════════╝
36
+
37
+ {Content}
38
+
39
+ ──────────────────────────────────────────────────────────────
40
+ → {ACTION PROMPT}
41
+ ──────────────────────────────────────────────────────────────
42
+ ```
43
+
44
+ **Types:**
45
+ - `CHECKPOINT: Verification Required` → `→ Type "approved" or describe issues`
46
+ - `CHECKPOINT: Decision Required` → `→ Select: option-a / option-b`
47
+ - `CHECKPOINT: Action Required` → `→ Type "done" when complete`
48
+
49
+ ---
50
+
51
+ ## Status Symbols
52
+
53
+ ```
54
+ ✓ Complete / Passed / Verified
55
+ ✗ Failed / Missing / Blocked
56
+ ◆ In Progress
57
+ ○ Pending
58
+ ⚡ Auto-approved
59
+ ⚠ Warning
60
+ 🎉 Milestone complete (only in banner)
61
+ ```
62
+
63
+ ---
64
+
65
+ ## Progress Display
66
+
67
+ **Phase/milestone level:**
68
+ ```
69
+ Progress: ████████░░ 80%
70
+ ```
71
+
72
+ **Task level:**
73
+ ```
74
+ Tasks: 2/4 complete
75
+ ```
76
+
77
+ **Plan level:**
78
+ ```
79
+ Plans: 3/5 complete
80
+ ```
81
+
82
+ ---
83
+
84
+ ## Spawning Indicators
85
+
86
+ ```
87
+ ◆ Spawning researcher...
88
+
89
+ ◆ Spawning 4 researchers in parallel...
90
+ → Stack research
91
+ → Features research
92
+ → Architecture research
93
+ → Pitfalls research
94
+
95
+ ✓ Researcher complete: STACK.md written
96
+ ```
97
+
98
+ ---
99
+
100
+ ## Next Up Block
101
+
102
+ Always at end of major completions.
103
+
104
+ ```
105
+ ───────────────────────────────────────────────────────────────
106
+
107
+ ## ▶ Next Up
108
+
109
+ **{Identifier}: {Name}** — {one-line description}
110
+
111
+ `{copy-paste command}`
112
+
113
+ <sub>`/clear` first → fresh context window</sub>
114
+
115
+ ───────────────────────────────────────────────────────────────
116
+
117
+ **Also available:**
118
+ - `/dgs:alternative-1` — description
119
+ - `/dgs:alternative-2` — description
120
+
121
+ ───────────────────────────────────────────────────────────────
122
+ ```
123
+
124
+ ---
125
+
126
+ ## Error Box
127
+
128
+ ```
129
+ ╔══════════════════════════════════════════════════════════════╗
130
+ ║ ERROR ║
131
+ ╚══════════════════════════════════════════════════════════════╝
132
+
133
+ {Error description}
134
+
135
+ **To fix:** {Resolution steps}
136
+ ```
137
+
138
+ ---
139
+
140
+ ## Tables
141
+
142
+ ```
143
+ | Phase | Status | Plans | Progress |
144
+ |-------|--------|-------|----------|
145
+ | 1 | ✓ | 3/3 | 100% |
146
+ | 2 | ◆ | 1/4 | 25% |
147
+ | 3 | ○ | 0/2 | 0% |
148
+ ```
149
+
150
+ ---
151
+
152
+ ## Anti-Patterns
153
+
154
+ - Varying box/banner widths
155
+ - Mixing banner styles (`===`, `---`, `***`)
156
+ - Skipping `DGS ►` prefix in banners
157
+ - Random emoji (`🚀`, `✨`, `💫`)
158
+ - Missing Next Up block after completions
159
+
160
+ </ui_patterns>