@pjmendonca/devflow 1.13.2 → 1.19.0

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 (236) hide show
  1. package/.claude/commands/agent.md +1 -1
  2. package/.claude/commands/brainstorm.md +28 -0
  3. package/.claude/commands/bugfix.md +21 -0
  4. package/.claude/commands/checkpoint.md +0 -1
  5. package/.claude/commands/collab.md +0 -1
  6. package/.claude/commands/costs.md +88 -18
  7. package/.claude/commands/devflow.md +26 -0
  8. package/.claude/commands/handoff.md +0 -1
  9. package/.claude/commands/init.md +383 -0
  10. package/.claude/commands/memory.md +0 -1
  11. package/.claude/commands/pair.md +0 -1
  12. package/.claude/commands/review.md +27 -0
  13. package/.claude/commands/route.md +0 -1
  14. package/.claude/commands/swarm.md +0 -1
  15. package/.claude/commands/validate.md +55 -0
  16. package/.claude/hooks/session-notification.sh +44 -0
  17. package/.claude/hooks/session-startup.sh +427 -0
  18. package/.claude/hooks/session-stop.sh +38 -0
  19. package/.claude/hooks/session_tracker.py +272 -0
  20. package/.claude/settings.json +38 -0
  21. package/.claude/skills/brainstorm/SKILL.md +531 -0
  22. package/.claude/skills/costs/SKILL.md +156 -0
  23. package/.claude/skills/validate/SKILL.md +101 -0
  24. package/CHANGELOG.md +284 -0
  25. package/README.md +207 -10
  26. package/bin/devflow-install.js +2 -1
  27. package/bin/devflow.js +4 -0
  28. package/lib/constants.js +0 -1
  29. package/lib/exec-python.js +1 -1
  30. package/package.json +1 -1
  31. package/tooling/.automation/.checkpoint_lock +1 -0
  32. package/tooling/.automation/agents/architect.md +19 -0
  33. package/tooling/.automation/agents/ba.md +19 -0
  34. package/tooling/.automation/agents/maintainer.md +19 -0
  35. package/tooling/.automation/agents/pm.md +19 -0
  36. package/tooling/.automation/agents/reviewer.md +1 -1
  37. package/tooling/.automation/agents/writer.md +19 -0
  38. package/tooling/.automation/benchmarks/benchmark_20251230_100119.json +314 -0
  39. package/tooling/.automation/benchmarks/benchmark_20251230_100216.json +314 -0
  40. package/tooling/.automation/costs/config.json +31 -0
  41. package/tooling/.automation/costs/sessions/2025-12-29_20251229_164128.json +22 -0
  42. package/tooling/.automation/memory/knowledge/kg_integration-test.json +738 -1
  43. package/tooling/.automation/memory/knowledge/kg_test-story.json +3381 -2
  44. package/tooling/.automation/memory/shared/shared_integration-test.json +193 -1
  45. package/tooling/.automation/memory/shared/shared_test-story.json +757 -1
  46. package/tooling/.automation/memory/shared/shared_test.json +1332 -0
  47. package/tooling/.automation/memory/shared/shared_validation-check.json +240 -0
  48. package/tooling/.automation/overrides/templates/architect/cloud-native.yaml +5 -5
  49. package/tooling/.automation/overrides/templates/architect/enterprise-architect.yaml +23 -5
  50. package/tooling/.automation/overrides/templates/architect/pragmatic-minimalist.yaml +24 -6
  51. package/tooling/.automation/overrides/templates/ba/agile-storyteller.yaml +4 -4
  52. package/tooling/.automation/overrides/templates/ba/domain-expert.yaml +4 -4
  53. package/tooling/.automation/overrides/templates/ba/requirements-engineer.yaml +4 -4
  54. package/tooling/.automation/overrides/templates/dev/performance-engineer.yaml +18 -0
  55. package/tooling/.automation/overrides/templates/dev/rapid-prototyper.yaml +19 -1
  56. package/tooling/.automation/overrides/templates/dev/security-focused.yaml +18 -0
  57. package/tooling/.automation/overrides/templates/dev/user-advocate.yaml +54 -0
  58. package/tooling/.automation/overrides/templates/maintainer/devops-maintainer.yaml +4 -4
  59. package/tooling/.automation/overrides/templates/maintainer/legacy-steward.yaml +4 -4
  60. package/tooling/.automation/overrides/templates/maintainer/oss-maintainer.yaml +4 -4
  61. package/tooling/.automation/overrides/templates/maintainer/reliability-engineer.yaml +55 -0
  62. package/tooling/.automation/overrides/templates/pm/agile-pm.yaml +4 -4
  63. package/tooling/.automation/overrides/templates/pm/hybrid-delivery.yaml +3 -3
  64. package/tooling/.automation/overrides/templates/pm/traditional-pm.yaml +4 -4
  65. package/tooling/.automation/overrides/templates/reviewer/quick-sanity.yaml +18 -0
  66. package/tooling/.automation/overrides/templates/reviewer/thorough-critic.yaml +18 -0
  67. package/tooling/.automation/overrides/templates/sm/agile-coach.yaml +2 -2
  68. package/tooling/.automation/overrides/templates/sm/startup-pm.yaml +3 -3
  69. package/tooling/.automation/overrides/templates/writer/api-documentarian.yaml +5 -5
  70. package/tooling/.automation/overrides/templates/writer/docs-as-code.yaml +4 -4
  71. package/tooling/.automation/overrides/templates/writer/user-guide-author.yaml +5 -5
  72. package/tooling/.automation/validation/history/2025-12-29_val_002a28c1.json +32 -0
  73. package/tooling/.automation/validation/history/2025-12-29_val_01273bb1.json +32 -0
  74. package/tooling/.automation/validation/history/2025-12-29_val_03369914.json +41 -0
  75. package/tooling/.automation/validation/history/2025-12-29_val_07a449ba.json +32 -0
  76. package/tooling/.automation/validation/history/2025-12-29_val_0df1f0a2.json +41 -0
  77. package/tooling/.automation/validation/history/2025-12-29_val_10ff3d34.json +41 -0
  78. package/tooling/.automation/validation/history/2025-12-29_val_110771d7.json +32 -0
  79. package/tooling/.automation/validation/history/2025-12-29_val_13f3a7f9.json +32 -0
  80. package/tooling/.automation/validation/history/2025-12-29_val_17ba9d21.json +41 -0
  81. package/tooling/.automation/validation/history/2025-12-29_val_22247089.json +32 -0
  82. package/tooling/.automation/validation/history/2025-12-29_val_227ea6a4.json +32 -0
  83. package/tooling/.automation/validation/history/2025-12-29_val_2335d5ae.json +32 -0
  84. package/tooling/.automation/validation/history/2025-12-29_val_246824bb.json +41 -0
  85. package/tooling/.automation/validation/history/2025-12-29_val_28b4b9cd.json +32 -0
  86. package/tooling/.automation/validation/history/2025-12-29_val_2abd12cc.json +32 -0
  87. package/tooling/.automation/validation/history/2025-12-29_val_2c801b2f.json +59 -0
  88. package/tooling/.automation/validation/history/2025-12-29_val_2c8cfa8e.json +32 -0
  89. package/tooling/.automation/validation/history/2025-12-29_val_2ce76eb0.json +32 -0
  90. package/tooling/.automation/validation/history/2025-12-29_val_30351948.json +41 -0
  91. package/tooling/.automation/validation/history/2025-12-29_val_30eb7229.json +41 -0
  92. package/tooling/.automation/validation/history/2025-12-29_val_34df0e77.json +41 -0
  93. package/tooling/.automation/validation/history/2025-12-29_val_376e4d6a.json +32 -0
  94. package/tooling/.automation/validation/history/2025-12-29_val_3a4e8a1a.json +59 -0
  95. package/tooling/.automation/validation/history/2025-12-29_val_3b77a628.json +32 -0
  96. package/tooling/.automation/validation/history/2025-12-29_val_3ea4e1cf.json +59 -0
  97. package/tooling/.automation/validation/history/2025-12-29_val_44aacdb4.json +59 -0
  98. package/tooling/.automation/validation/history/2025-12-29_val_457ddfa8.json +32 -0
  99. package/tooling/.automation/validation/history/2025-12-29_val_45af6238.json +41 -0
  100. package/tooling/.automation/validation/history/2025-12-29_val_4735dba1.json +41 -0
  101. package/tooling/.automation/validation/history/2025-12-29_val_486b203c.json +41 -0
  102. package/tooling/.automation/validation/history/2025-12-29_val_49dc56cd.json +59 -0
  103. package/tooling/.automation/validation/history/2025-12-29_val_4d863d6d.json +32 -0
  104. package/tooling/.automation/validation/history/2025-12-29_val_5149a808.json +59 -0
  105. package/tooling/.automation/validation/history/2025-12-29_val_52e0bb43.json +32 -0
  106. package/tooling/.automation/validation/history/2025-12-29_val_585d6319.json +59 -0
  107. package/tooling/.automation/validation/history/2025-12-29_val_5b2d859a.json +32 -0
  108. package/tooling/.automation/validation/history/2025-12-29_val_635a7081.json +41 -0
  109. package/tooling/.automation/validation/history/2025-12-29_val_64df4905.json +32 -0
  110. package/tooling/.automation/validation/history/2025-12-29_val_70634cee.json +41 -0
  111. package/tooling/.automation/validation/history/2025-12-29_val_714553f9.json +32 -0
  112. package/tooling/.automation/validation/history/2025-12-29_val_7f7bfdbf.json +41 -0
  113. package/tooling/.automation/validation/history/2025-12-29_val_7faad91d.json +32 -0
  114. package/tooling/.automation/validation/history/2025-12-29_val_81821f8f.json +41 -0
  115. package/tooling/.automation/validation/history/2025-12-29_val_8249f3c9.json +32 -0
  116. package/tooling/.automation/validation/history/2025-12-29_val_8422b50f.json +41 -0
  117. package/tooling/.automation/validation/history/2025-12-29_val_8446c134.json +32 -0
  118. package/tooling/.automation/validation/history/2025-12-29_val_879f4e26.json +59 -0
  119. package/tooling/.automation/validation/history/2025-12-29_val_8b6d5bd7.json +32 -0
  120. package/tooling/.automation/validation/history/2025-12-29_val_8c5cd787.json +32 -0
  121. package/tooling/.automation/validation/history/2025-12-29_val_91d20bc7.json +32 -0
  122. package/tooling/.automation/validation/history/2025-12-29_val_958a12b7.json +41 -0
  123. package/tooling/.automation/validation/history/2025-12-29_val_95d91108.json +41 -0
  124. package/tooling/.automation/validation/history/2025-12-29_val_980dbb74.json +32 -0
  125. package/tooling/.automation/validation/history/2025-12-29_val_9e40c79b.json +32 -0
  126. package/tooling/.automation/validation/history/2025-12-29_val_9f499b7c.json +32 -0
  127. package/tooling/.automation/validation/history/2025-12-29_val_9f7c3b57.json +32 -0
  128. package/tooling/.automation/validation/history/2025-12-29_val_a30d5bd4.json +32 -0
  129. package/tooling/.automation/validation/history/2025-12-29_val_a6eb09c7.json +32 -0
  130. package/tooling/.automation/validation/history/2025-12-29_val_a86f7b83.json +41 -0
  131. package/tooling/.automation/validation/history/2025-12-29_val_ad5347e1.json +41 -0
  132. package/tooling/.automation/validation/history/2025-12-29_val_b0a5a993.json +32 -0
  133. package/tooling/.automation/validation/history/2025-12-29_val_bcb0192e.json +32 -0
  134. package/tooling/.automation/validation/history/2025-12-29_val_bf3c9aaa.json +32 -0
  135. package/tooling/.automation/validation/history/2025-12-29_val_c461ff88.json +32 -0
  136. package/tooling/.automation/validation/history/2025-12-29_val_c4f4e258.json +41 -0
  137. package/tooling/.automation/validation/history/2025-12-29_val_c7f0fa6d.json +41 -0
  138. package/tooling/.automation/validation/history/2025-12-29_val_c911b0e6.json +32 -0
  139. package/tooling/.automation/validation/history/2025-12-29_val_cc581964.json +32 -0
  140. package/tooling/.automation/validation/history/2025-12-29_val_cdd5a33b.json +32 -0
  141. package/tooling/.automation/validation/history/2025-12-29_val_cfd42495.json +32 -0
  142. package/tooling/.automation/validation/history/2025-12-29_val_d1c7a4ee.json +41 -0
  143. package/tooling/.automation/validation/history/2025-12-29_val_d2280d0e.json +32 -0
  144. package/tooling/.automation/validation/history/2025-12-29_val_d2a6ff69.json +32 -0
  145. package/tooling/.automation/validation/history/2025-12-29_val_d8c53ab2.json +59 -0
  146. package/tooling/.automation/validation/history/2025-12-29_val_d9c1247a.json +41 -0
  147. package/tooling/.automation/validation/history/2025-12-29_val_d9d58569.json +32 -0
  148. package/tooling/.automation/validation/history/2025-12-29_val_dabb4fd9.json +32 -0
  149. package/tooling/.automation/validation/history/2025-12-29_val_dd8fe359.json +32 -0
  150. package/tooling/.automation/validation/history/2025-12-29_val_decdffc9.json +32 -0
  151. package/tooling/.automation/validation/history/2025-12-29_val_e3a95476.json +59 -0
  152. package/tooling/.automation/validation/history/2025-12-29_val_e776dfca.json +32 -0
  153. package/tooling/.automation/validation/history/2025-12-29_val_ea70969f.json +59 -0
  154. package/tooling/.automation/validation/history/2025-12-29_val_ef41ea95.json +32 -0
  155. package/tooling/.automation/validation/history/2025-12-29_val_f384f9b1.json +32 -0
  156. package/tooling/.automation/validation/history/2025-12-29_val_f8adc38c.json +41 -0
  157. package/tooling/.automation/validation/history/2025-12-29_val_fa40b69e.json +32 -0
  158. package/tooling/.automation/validation/history/2025-12-29_val_fc538d54.json +41 -0
  159. package/tooling/.automation/validation/history/2025-12-29_val_fe814665.json +32 -0
  160. package/tooling/.automation/validation/history/2025-12-29_val_ffea4b12.json +32 -0
  161. package/tooling/.automation/validation/history/2025-12-30_val_02d001e5.json +59 -0
  162. package/tooling/.automation/validation/history/2025-12-30_val_0b8966dc.json +32 -0
  163. package/tooling/.automation/validation/history/2025-12-30_val_15455fbf.json +59 -0
  164. package/tooling/.automation/validation/history/2025-12-30_val_157e34b9.json +32 -0
  165. package/tooling/.automation/validation/history/2025-12-30_val_28d1d933.json +32 -0
  166. package/tooling/.automation/validation/history/2025-12-30_val_3442a52c.json +32 -0
  167. package/tooling/.automation/validation/history/2025-12-30_val_37f1ce1e.json +32 -0
  168. package/tooling/.automation/validation/history/2025-12-30_val_4f1d8a93.json +32 -0
  169. package/tooling/.automation/validation/history/2025-12-30_val_56ff1de3.json +32 -0
  170. package/tooling/.automation/validation/history/2025-12-30_val_664fd4e2.json +41 -0
  171. package/tooling/.automation/validation/history/2025-12-30_val_66afb0a7.json +32 -0
  172. package/tooling/.automation/validation/history/2025-12-30_val_7634663c.json +41 -0
  173. package/tooling/.automation/validation/history/2025-12-30_val_8ea830c3.json +41 -0
  174. package/tooling/.automation/validation/history/2025-12-30_val_998957c2.json +32 -0
  175. package/tooling/.automation/validation/history/2025-12-30_val_a52177db.json +32 -0
  176. package/tooling/.automation/validation/history/2025-12-30_val_a5b65a63.json +32 -0
  177. package/tooling/.automation/validation/history/2025-12-30_val_ae391d0e.json +32 -0
  178. package/tooling/.automation/validation/history/2025-12-30_val_c7895339.json +41 -0
  179. package/tooling/.automation/validation/history/2025-12-30_val_ca416593.json +41 -0
  180. package/tooling/.automation/validation/history/2025-12-30_val_cee19422.json +32 -0
  181. package/tooling/.automation/validation/history/2025-12-30_val_ddd4f4e6.json +32 -0
  182. package/tooling/.automation/validation/history/2025-12-30_val_f2e1394b.json +32 -0
  183. package/tooling/.automation/validation/history/2025-12-30_val_f4a7fa06.json +41 -0
  184. package/tooling/.automation/validation/history/2025-12-30_val_ffea3369.json +32 -0
  185. package/tooling/.automation/validation/history/2026-01-03_val_1287a74c.json +41 -0
  186. package/tooling/.automation/validation/history/2026-01-03_val_3b24071f.json +32 -0
  187. package/tooling/.automation/validation/history/2026-01-03_val_44d77573.json +32 -0
  188. package/tooling/.automation/validation/history/2026-01-03_val_5b31dc51.json +32 -0
  189. package/tooling/.automation/validation/history/2026-01-03_val_74267244.json +32 -0
  190. package/tooling/.automation/validation/history/2026-01-03_val_8b2d95c7.json +59 -0
  191. package/tooling/.automation/validation/history/2026-01-03_val_d875b297.json +41 -0
  192. package/tooling/.automation/validation-config.yaml +103 -0
  193. package/tooling/completions/DevflowCompletion.ps1 +21 -21
  194. package/tooling/completions/_run-story +3 -3
  195. package/tooling/completions/run-story-completion.bash +8 -8
  196. package/tooling/docs/DOC-STANDARD.md +14 -14
  197. package/tooling/docs/stories/.gitkeep +0 -0
  198. package/tooling/docs/templates/brainstorm-guide.md +314 -0
  199. package/tooling/docs/templates/migration-spec.md +4 -4
  200. package/tooling/docs/templates/story.md +66 -0
  201. package/tooling/scripts/context_checkpoint.py +5 -15
  202. package/tooling/scripts/cost_dashboard.py +610 -13
  203. package/tooling/scripts/create-persona.py +1 -12
  204. package/tooling/scripts/create-persona.sh +44 -44
  205. package/tooling/scripts/lib/__init__.py +12 -1
  206. package/tooling/scripts/lib/agent_handoff.py +11 -2
  207. package/tooling/scripts/lib/agent_router.py +31 -10
  208. package/tooling/scripts/lib/colors.py +106 -0
  209. package/tooling/scripts/lib/context_monitor.py +766 -0
  210. package/tooling/scripts/lib/cost_config.py +229 -10
  211. package/tooling/scripts/lib/cost_display.py +20 -45
  212. package/tooling/scripts/lib/cost_tracker.py +462 -15
  213. package/tooling/scripts/lib/currency_converter.py +28 -5
  214. package/tooling/scripts/lib/pair_programming.py +102 -3
  215. package/tooling/scripts/lib/personality_system.py +949 -0
  216. package/tooling/scripts/lib/platform.py +55 -0
  217. package/tooling/scripts/lib/shared_memory.py +9 -3
  218. package/tooling/scripts/lib/swarm_orchestrator.py +514 -75
  219. package/tooling/scripts/lib/validation_loop.py +1014 -0
  220. package/tooling/scripts/memory_summarize.py +9 -2
  221. package/tooling/scripts/new-doc.py +2 -9
  222. package/tooling/scripts/personalize_agent.py +1 -12
  223. package/tooling/scripts/rollback-migration.sh +60 -60
  224. package/tooling/scripts/run-collab.ps1 +16 -16
  225. package/tooling/scripts/run-collab.py +88 -53
  226. package/tooling/scripts/run-collab.sh +4 -4
  227. package/tooling/scripts/run-story.py +278 -20
  228. package/tooling/scripts/run-story.sh +3 -3
  229. package/tooling/scripts/setup-checkpoint-service.py +2 -9
  230. package/tooling/scripts/tech-debt-tracker.py +1 -12
  231. package/tooling/scripts/test_adversarial_swarm.py +452 -0
  232. package/tooling/scripts/validate-overrides.py +1 -10
  233. package/tooling/scripts/validate-overrides.sh +40 -40
  234. package/tooling/scripts/validate_loop.py +162 -0
  235. package/tooling/scripts/validate_setup.py +2 -30
  236. package/.claude/skills/init/SKILL.md +0 -496
@@ -23,10 +23,10 @@ _run_story_completion() {
23
23
  COMPREPLY=()
24
24
  cur="${COMP_WORDS[COMP_CWORD]}"
25
25
  prev="${COMP_WORDS[COMP_CWORD-1]}"
26
-
26
+
27
27
  # Main options
28
28
  opts="--swarm --pair --auto-route --sequential --agents --max-iterations --model --budget --memory --query --route-only --quiet --debug --dry-run --help"
29
-
29
+
30
30
  case "${prev}" in
31
31
  --agents|-a)
32
32
  # Support comma-separated agent completion
@@ -38,7 +38,7 @@ _run_story_completion() {
38
38
  existing_agents=""
39
39
  current_part="$cur"
40
40
  fi
41
-
41
+
42
42
  local suggestions=""
43
43
  for agent in $_devflow_agents; do
44
44
  if [[ "$agent" == ${current_part}* ]]; then
@@ -67,7 +67,7 @@ _run_story_completion() {
67
67
  *)
68
68
  ;;
69
69
  esac
70
-
70
+
71
71
  # Complete options
72
72
  if [[ ${cur} == -* ]]; then
73
73
  COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
@@ -81,9 +81,9 @@ _run_collab_completion() {
81
81
  COMPREPLY=()
82
82
  cur="${COMP_WORDS[COMP_CWORD]}"
83
83
  prev="${COMP_WORDS[COMP_CWORD-1]}"
84
-
84
+
85
85
  opts="--swarm --pair --auto --sequential --agents --max-iterations --model --budget --memory --query --route-only --quiet --help"
86
-
86
+
87
87
  case "${prev}" in
88
88
  --agents)
89
89
  local existing_agents current_part
@@ -94,7 +94,7 @@ _run_collab_completion() {
94
94
  existing_agents=""
95
95
  current_part="$cur"
96
96
  fi
97
-
97
+
98
98
  local suggestions=""
99
99
  for agent in $_devflow_agents; do
100
100
  if [[ "$agent" == ${current_part}* ]]; then
@@ -119,7 +119,7 @@ _run_collab_completion() {
119
119
  *)
120
120
  ;;
121
121
  esac
122
-
122
+
123
123
  if [[ ${cur} == -* ]]; then
124
124
  COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
125
125
  return 0
@@ -1,14 +1,14 @@
1
- # Documentation Standard - Stronger Project
1
+ # Documentation Standard - Devflow
2
2
 
3
- **Version**: 1.0
4
- **Last Updated**: 2025-12-20
3
+ **Version**: 1.1
4
+ **Last Updated**: 2025-12-27
5
5
  **Applies To**: All documentation in `tooling/docs/`
6
6
 
7
7
  ---
8
8
 
9
9
  ## Purpose
10
10
 
11
- This document defines the standard format, structure, and conventions for all documentation in the Stronger project's `tooling/docs/` directory.
11
+ This document defines the standard format, structure, and conventions for all documentation in the Devflow project's `tooling/docs/` directory.
12
12
 
13
13
  ---
14
14
 
@@ -212,26 +212,26 @@ Always include header separator:
212
212
 
213
213
  ### Alerts/Callouts
214
214
 
215
- Use these emoji conventions:
215
+ Use these text-based conventions (no emojis per project policy):
216
216
 
217
217
  ```markdown
218
- **WARNING**: Important warning
218
+ **[WARNING]**: Important warning
219
219
 
220
- **TIP**: Helpful tip
220
+ **[TIP]**: Helpful tip
221
221
 
222
- **NOTE**: Additional information
222
+ **[NOTE]**: Additional information
223
223
 
224
- **CRITICAL**: Critical information
224
+ **[CRITICAL]**: Critical information
225
225
 
226
- **SUCCESS**: Successful outcome
226
+ **[OK]**: Successful outcome
227
227
 
228
- **ERROR**: Error or failure
228
+ **[ERROR]**: Error or failure
229
229
 
230
- **GOAL**: Objective or target
230
+ **[GOAL]**: Objective or target
231
231
 
232
- **DATA**: Data or statistics
232
+ **[INFO]**: Data or statistics
233
233
 
234
- **TECHNICAL**: Technical details
234
+ **[TECHNICAL]**: Technical details
235
235
  ```
236
236
 
237
237
  ---
File without changes
@@ -0,0 +1,314 @@
1
+ # Brainstorming Techniques Guide
2
+
3
+ This guide provides structured approaches for product discovery and story creation during Devflow initialization and brainstorming sessions.
4
+
5
+ ---
6
+
7
+ ## Technique 1: Guided Discovery (Socratic Method)
8
+
9
+ Progressive questioning to uncover product vision and features.
10
+
11
+ ### Vision Questions
12
+
13
+ 1. **Problem Space**
14
+ - What problem are you solving?
15
+ - Who experiences this problem most acutely?
16
+ - What happens if this problem isn't solved?
17
+
18
+ 2. **Target Users**
19
+ - Who is your primary user?
20
+ - What's their current workflow/workaround?
21
+ - What frustrates them most about existing solutions?
22
+
23
+ 3. **Success Definition**
24
+ - What does success look like in 6 months?
25
+ - How will you measure success?
26
+ - What's the one thing this product MUST do well?
27
+
28
+ 4. **Competitive Landscape**
29
+ - What alternatives exist today?
30
+ - What's your unfair advantage?
31
+ - Why would users switch to your solution?
32
+
33
+ ### Feature Discovery Questions
34
+
35
+ 1. **Core Value**
36
+ - What's the minimum feature set for first value delivery?
37
+ - If you could only ship one feature, what would it be?
38
+ - What features are table stakes vs. differentiators?
39
+
40
+ 2. **User Journey**
41
+ - What's the first thing a new user should do?
42
+ - What action leads to the "aha moment"?
43
+ - What would make users come back daily?
44
+
45
+ 3. **Constraints**
46
+ - What's technically hardest about this product?
47
+ - What regulatory or compliance constraints exist?
48
+ - What's your deadline or launch constraint?
49
+
50
+ ---
51
+
52
+ ## Technique 2: User Journey Mapping
53
+
54
+ Walk through user flows to discover features systematically.
55
+
56
+ ### Journey Framework
57
+
58
+ ```
59
+ TRIGGER -> ENTRY -> CORE ACTIONS -> SUCCESS -> RETENTION
60
+ ```
61
+
62
+ ### Journey Questions by Stage
63
+
64
+ **1. Trigger (What brings users?)**
65
+ - How do users discover your product?
66
+ - What motivates them to try it?
67
+ - What's their emotional state when starting?
68
+
69
+ **2. Entry (First experience)**
70
+ - What's the onboarding flow?
71
+ - What information do you need from users?
72
+ - How quickly can they see value?
73
+
74
+ **3. Core Actions (Main usage)**
75
+ - What are the 3-5 primary actions users take?
76
+ - What workflows are most common?
77
+ - What data do they create/consume?
78
+
79
+ **4. Success (Value delivery)**
80
+ - What outcome indicates success for the user?
81
+ - How do they know they've achieved their goal?
82
+ - What feedback loops exist?
83
+
84
+ **5. Retention (Coming back)**
85
+ - Why would users return?
86
+ - What triggers re-engagement?
87
+ - How does value compound over time?
88
+
89
+ ### Journey Mapping Exercise
90
+
91
+ ```
92
+ For each user type, complete:
93
+
94
+ User: [Name/Persona]
95
+ Goal: [What they want to achieve]
96
+
97
+ Journey:
98
+ 1. [Trigger] -> Feature: ___
99
+ 2. [Entry] -> Feature: ___
100
+ 3. [Action 1] -> Feature: ___
101
+ 4. [Action 2] -> Feature: ___
102
+ 5. [Action 3] -> Feature: ___
103
+ 6. [Success] -> Feature: ___
104
+ 7. [Return] -> Feature: ___
105
+ ```
106
+
107
+ ---
108
+
109
+ ## Technique 3: Rapid Feature List
110
+
111
+ Fast ideation followed by grouping and prioritization.
112
+
113
+ ### Phase 1: Ideation (5 minutes)
114
+
115
+ Rules:
116
+ - No filtering - capture everything
117
+ - Quantity over quality
118
+ - Build on others' ideas
119
+ - No criticism yet
120
+
121
+ Prompt questions:
122
+ - What features do competitors have?
123
+ - What would make users say "wow"?
124
+ - What automation would save time?
125
+ - What information do users need?
126
+ - What actions should be one-click?
127
+
128
+ ### Phase 2: Grouping (3 minutes)
129
+
130
+ Group features into:
131
+ - **User Management** (auth, profiles, settings)
132
+ - **Core Features** (primary value proposition)
133
+ - **Data & Content** (creation, display, storage)
134
+ - **Social/Sharing** (collaboration, communication)
135
+ - **Analytics/Insights** (reporting, tracking)
136
+ - **Integrations** (third-party connections)
137
+ - **Admin/Settings** (configuration, management)
138
+
139
+ ### Phase 3: Prioritization (5 minutes)
140
+
141
+ Use MoSCoW method:
142
+ - **Must Have**: Critical for launch, non-negotiable
143
+ - **Should Have**: Important but can work around
144
+ - **Could Have**: Nice to have, enhances experience
145
+ - **Won't Have**: Out of scope for now
146
+
147
+ ### Rapid List Template
148
+
149
+ ```
150
+ MUST HAVE (MVP)
151
+ - [ ] Feature 1
152
+ - [ ] Feature 2
153
+ - [ ] Feature 3
154
+
155
+ SHOULD HAVE (v1.1)
156
+ - [ ] Feature 4
157
+ - [ ] Feature 5
158
+
159
+ COULD HAVE (Later)
160
+ - [ ] Feature 6
161
+ - [ ] Feature 7
162
+
163
+ WON'T HAVE (Not now)
164
+ - [ ] Feature 8
165
+ ```
166
+
167
+ ---
168
+
169
+ ## Technique 4: Story Decomposition
170
+
171
+ Breaking epics into implementable stories.
172
+
173
+ ### INVEST Criteria
174
+
175
+ Every story should be:
176
+ - **I**ndependent: Can be built separately
177
+ - **N**egotiable: Details can be discussed
178
+ - **V**aluable: Delivers user value
179
+ - **E**stimable: Can be sized
180
+ - **S**mall: Fits in a sprint
181
+ - **T**estable: Has clear acceptance criteria
182
+
183
+ ### Decomposition Strategies
184
+
185
+ **1. By User Role**
186
+ ```
187
+ Epic: User Authentication
188
+ -> Story: User can sign up with email
189
+ -> Story: Admin can invite users
190
+ -> Story: User can reset password
191
+ ```
192
+
193
+ **2. By Workflow Step**
194
+ ```
195
+ Epic: Checkout Flow
196
+ -> Story: User can add items to cart
197
+ -> Story: User can enter shipping address
198
+ -> Story: User can complete payment
199
+ ```
200
+
201
+ **3. By Data Operation (CRUD)**
202
+ ```
203
+ Epic: Task Management
204
+ -> Story: User can create a task
205
+ -> Story: User can view task list
206
+ -> Story: User can edit a task
207
+ -> Story: User can delete a task
208
+ ```
209
+
210
+ **4. By Happy Path + Edge Cases**
211
+ ```
212
+ Epic: File Upload
213
+ -> Story: User can upload single file (happy path)
214
+ -> Story: System handles invalid file types
215
+ -> Story: System handles upload failures
216
+ ```
217
+
218
+ ### Story Sizing Reference
219
+
220
+ | Size | Description | Example |
221
+ |------|-------------|---------|
222
+ | XS | < 2 hours | Add a button, fix typo |
223
+ | S | 2-4 hours | Simple form, basic API endpoint |
224
+ | M | 1-2 days | Feature with UI + API + tests |
225
+ | L | 3-5 days | Complex feature, multiple components |
226
+ | XL | 1+ week | Should be broken down further |
227
+
228
+ ---
229
+
230
+ ## Technique 5: Prioritization Frameworks
231
+
232
+ ### RICE Scoring
233
+
234
+ ```
235
+ Score = (Reach x Impact x Confidence) / Effort
236
+
237
+ Reach: Number of users affected per quarter
238
+ Impact: 3=massive, 2=high, 1=medium, 0.5=low, 0.25=minimal
239
+ Confidence: 100%, 80%, 50%
240
+ Effort: Person-weeks
241
+ ```
242
+
243
+ ### Impact/Effort Matrix
244
+
245
+ ```
246
+ HIGH IMPACT
247
+ |
248
+ Quick | Big Bets
249
+ Wins | (schedule these)
250
+ (do first)|
251
+ -------------+-------------
252
+ Fill-ins | Time Sinks
253
+ (maybe) | (avoid)
254
+ |
255
+ LOW IMPACT
256
+
257
+ LOW EFFORT | HIGH EFFORT
258
+ ```
259
+
260
+ ### Priority Labels
261
+
262
+ | Priority | Meaning | Timing |
263
+ |----------|---------|--------|
264
+ | P0 | Critical | This sprint, drop everything |
265
+ | P1 | High | Next sprint |
266
+ | P2 | Medium | This quarter |
267
+ | P3 | Low | Backlog |
268
+
269
+ ---
270
+
271
+ ## Quick Reference: Init Session (10 min)
272
+
273
+ 1. **Vision** (2 min)
274
+ - What problem are you solving?
275
+ - Who's your primary user?
276
+
277
+ 2. **Core Features** (3 min)
278
+ - What's the one thing this must do well?
279
+ - What are the 3-5 core features?
280
+
281
+ 3. **First Sprint** (3 min)
282
+ - What's your MVP scope?
283
+ - Pick 3-5 stories for sprint 1
284
+
285
+ 4. **Wrap-up** (2 min)
286
+ - Review and confirm
287
+ - Generate story files
288
+
289
+ ---
290
+
291
+ ## Full Workshop Reference (30 min)
292
+
293
+ 1. **Vision Discovery** (5 min)
294
+ - Complete vision questions
295
+ - Define success metrics
296
+
297
+ 2. **User Journey Mapping** (8 min)
298
+ - Map 1-2 primary user journeys
299
+ - Extract features from each step
300
+
301
+ 3. **Rapid Feature List** (7 min)
302
+ - Brainstorm all features
303
+ - Group by category
304
+ - Apply MoSCoW
305
+
306
+ 4. **Story Decomposition** (7 min)
307
+ - Break down Must Have features
308
+ - Apply INVEST criteria
309
+ - Size stories
310
+
311
+ 5. **Sprint Planning** (3 min)
312
+ - Select sprint 1 stories
313
+ - Verify capacity fit
314
+ - Generate files
@@ -96,7 +96,7 @@
96
96
  1. **[Change Description 1]**
97
97
  - Files affected: `path/to/file`
98
98
  - Changes needed: [describe the code changes]
99
-
99
+
100
100
  2. **[Change Description 2]**
101
101
  - Files affected: `path/to/file`
102
102
  - Changes needed: [describe the code changes]
@@ -243,13 +243,13 @@ If automated rollback fails:
243
243
  *To be filled after migration*
244
244
 
245
245
  ### What Went Well
246
- -
246
+ -
247
247
 
248
248
  ### What Could Be Improved
249
- -
249
+ -
250
250
 
251
251
  ### Action Items
252
- -
252
+ -
253
253
 
254
254
  ## Notes
255
255
 
@@ -0,0 +1,66 @@
1
+ # STORY-{sprint}-{number}-{slug}
2
+
3
+ **Type**: Feature
4
+ **Status**: backlog | drafted | ready-for-dev | in-progress | review | done
5
+ **Sprint**: {sprint}
6
+ **Priority**: P0 (Critical) | P1 (High) | P2 (Medium) | P3 (Low)
7
+ **Effort**: XS | S | M | L | XL
8
+ **Created**: {date}
9
+ **Last Updated**: {date}
10
+
11
+ ---
12
+
13
+ ## Summary
14
+
15
+ {One-line description of what this story delivers}
16
+
17
+ ## User Story
18
+
19
+ As a **{user type}**,
20
+ I want **{goal/desire}**,
21
+ So that **{benefit/value}**.
22
+
23
+ ## Context
24
+
25
+ {Why is this story important? What problem does it solve? Background information.}
26
+
27
+ ## Acceptance Criteria
28
+
29
+ - [ ] **AC-1**: {Specific, testable criterion}
30
+ - [ ] **AC-2**: {Specific, testable criterion}
31
+ - [ ] **AC-3**: {Specific, testable criterion}
32
+
33
+ ## Technical Notes
34
+
35
+ {Implementation hints, architectural considerations, API contracts, data structures}
36
+
37
+ ## Business Rules
38
+
39
+ - {Rule 1}: {Business logic that must be enforced}
40
+ - {Rule 2}: {Validation or constraint}
41
+
42
+ ## Dependencies
43
+
44
+ - {Story or system this depends on}
45
+
46
+ ## Out of Scope
47
+
48
+ - {What this story explicitly does NOT include}
49
+
50
+ ## UI/UX Notes
51
+
52
+ {Wireframes, mockups, or design specifications if applicable}
53
+
54
+ ## Testing Strategy
55
+
56
+ - **Unit Tests**: {What to test at unit level}
57
+ - **Integration Tests**: {What to test at integration level}
58
+ - **Manual QA**: {Scenarios requiring manual verification}
59
+
60
+ ## Definition of Done
61
+
62
+ - [ ] Code implemented and compiles
63
+ - [ ] All acceptance criteria met
64
+ - [ ] Tests written and passing
65
+ - [ ] Code reviewed
66
+ - [ ] Documentation updated (if applicable)
@@ -25,12 +25,15 @@ from datetime import datetime
25
25
  from pathlib import Path
26
26
  from typing import Optional
27
27
 
28
+ from lib.colors import Colors
29
+ from lib.platform import IS_WINDOWS
30
+
28
31
  # Configuration
29
32
  PROJECT_ROOT = Path(__file__).parent.parent.parent
30
33
  CHECKPOINT_DIR = PROJECT_ROOT / "tooling" / ".automation" / "checkpoints"
31
34
  LOGS_DIR = PROJECT_ROOT / "tooling" / ".automation" / "logs"
32
35
  # Platform-specific CLI command
33
- CLAUDE_CLI = "claude.cmd" if sys.platform == "win32" else "claude"
36
+ CLAUDE_CLI = "claude.cmd" if IS_WINDOWS else "claude"
34
37
 
35
38
  # Context thresholds
36
39
  CONTEXT_WARNING_THRESHOLD = 0.75 # 75% - Start warning
@@ -38,19 +41,6 @@ CONTEXT_CRITICAL_THRESHOLD = 0.85 # 85% - Auto-checkpoint
38
41
  CONTEXT_EMERGENCY_THRESHOLD = 0.95 # 95% - Force checkpoint
39
42
 
40
43
 
41
- # Colors for terminal output
42
- class Colors:
43
- HEADER = "\033[95m"
44
- BLUE = "\033[94m"
45
- CYAN = "\033[96m"
46
- GREEN = "\033[92m"
47
- YELLOW = "\033[93m"
48
- RED = "\033[91m"
49
- BOLD = "\033[1m"
50
- UNDERLINE = "\033[4m"
51
- END = "\033[0m"
52
-
53
-
54
44
  class ContextCheckpointManager:
55
45
  """Manages context checkpointing for Claude Code sessions."""
56
46
 
@@ -69,7 +59,7 @@ class ContextCheckpointManager:
69
59
  # Handle graceful shutdown (Windows-compatible)
70
60
  signal.signal(signal.SIGINT, self._signal_handler)
71
61
  # SIGTERM is not available on Windows
72
- if sys.platform != "win32":
62
+ if not IS_WINDOWS:
73
63
  signal.signal(signal.SIGTERM, self._signal_handler)
74
64
 
75
65
  def _signal_handler(self, signum, frame):