@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.
- package/.claude/commands/agent.md +1 -1
- package/.claude/commands/brainstorm.md +28 -0
- package/.claude/commands/bugfix.md +21 -0
- package/.claude/commands/checkpoint.md +0 -1
- package/.claude/commands/collab.md +0 -1
- package/.claude/commands/costs.md +88 -18
- package/.claude/commands/devflow.md +26 -0
- package/.claude/commands/handoff.md +0 -1
- package/.claude/commands/init.md +383 -0
- package/.claude/commands/memory.md +0 -1
- package/.claude/commands/pair.md +0 -1
- package/.claude/commands/review.md +27 -0
- package/.claude/commands/route.md +0 -1
- package/.claude/commands/swarm.md +0 -1
- package/.claude/commands/validate.md +55 -0
- package/.claude/hooks/session-notification.sh +44 -0
- package/.claude/hooks/session-startup.sh +427 -0
- package/.claude/hooks/session-stop.sh +38 -0
- package/.claude/hooks/session_tracker.py +272 -0
- package/.claude/settings.json +38 -0
- package/.claude/skills/brainstorm/SKILL.md +531 -0
- package/.claude/skills/costs/SKILL.md +156 -0
- package/.claude/skills/validate/SKILL.md +101 -0
- package/CHANGELOG.md +284 -0
- package/README.md +207 -10
- package/bin/devflow-install.js +2 -1
- package/bin/devflow.js +4 -0
- package/lib/constants.js +0 -1
- package/lib/exec-python.js +1 -1
- package/package.json +1 -1
- package/tooling/.automation/.checkpoint_lock +1 -0
- package/tooling/.automation/agents/architect.md +19 -0
- package/tooling/.automation/agents/ba.md +19 -0
- package/tooling/.automation/agents/maintainer.md +19 -0
- package/tooling/.automation/agents/pm.md +19 -0
- package/tooling/.automation/agents/reviewer.md +1 -1
- package/tooling/.automation/agents/writer.md +19 -0
- package/tooling/.automation/benchmarks/benchmark_20251230_100119.json +314 -0
- package/tooling/.automation/benchmarks/benchmark_20251230_100216.json +314 -0
- package/tooling/.automation/costs/config.json +31 -0
- package/tooling/.automation/costs/sessions/2025-12-29_20251229_164128.json +22 -0
- package/tooling/.automation/memory/knowledge/kg_integration-test.json +738 -1
- package/tooling/.automation/memory/knowledge/kg_test-story.json +3381 -2
- package/tooling/.automation/memory/shared/shared_integration-test.json +193 -1
- package/tooling/.automation/memory/shared/shared_test-story.json +757 -1
- package/tooling/.automation/memory/shared/shared_test.json +1332 -0
- package/tooling/.automation/memory/shared/shared_validation-check.json +240 -0
- package/tooling/.automation/overrides/templates/architect/cloud-native.yaml +5 -5
- package/tooling/.automation/overrides/templates/architect/enterprise-architect.yaml +23 -5
- package/tooling/.automation/overrides/templates/architect/pragmatic-minimalist.yaml +24 -6
- package/tooling/.automation/overrides/templates/ba/agile-storyteller.yaml +4 -4
- package/tooling/.automation/overrides/templates/ba/domain-expert.yaml +4 -4
- package/tooling/.automation/overrides/templates/ba/requirements-engineer.yaml +4 -4
- package/tooling/.automation/overrides/templates/dev/performance-engineer.yaml +18 -0
- package/tooling/.automation/overrides/templates/dev/rapid-prototyper.yaml +19 -1
- package/tooling/.automation/overrides/templates/dev/security-focused.yaml +18 -0
- package/tooling/.automation/overrides/templates/dev/user-advocate.yaml +54 -0
- package/tooling/.automation/overrides/templates/maintainer/devops-maintainer.yaml +4 -4
- package/tooling/.automation/overrides/templates/maintainer/legacy-steward.yaml +4 -4
- package/tooling/.automation/overrides/templates/maintainer/oss-maintainer.yaml +4 -4
- package/tooling/.automation/overrides/templates/maintainer/reliability-engineer.yaml +55 -0
- package/tooling/.automation/overrides/templates/pm/agile-pm.yaml +4 -4
- package/tooling/.automation/overrides/templates/pm/hybrid-delivery.yaml +3 -3
- package/tooling/.automation/overrides/templates/pm/traditional-pm.yaml +4 -4
- package/tooling/.automation/overrides/templates/reviewer/quick-sanity.yaml +18 -0
- package/tooling/.automation/overrides/templates/reviewer/thorough-critic.yaml +18 -0
- package/tooling/.automation/overrides/templates/sm/agile-coach.yaml +2 -2
- package/tooling/.automation/overrides/templates/sm/startup-pm.yaml +3 -3
- package/tooling/.automation/overrides/templates/writer/api-documentarian.yaml +5 -5
- package/tooling/.automation/overrides/templates/writer/docs-as-code.yaml +4 -4
- package/tooling/.automation/overrides/templates/writer/user-guide-author.yaml +5 -5
- package/tooling/.automation/validation/history/2025-12-29_val_002a28c1.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_01273bb1.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_03369914.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_07a449ba.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_0df1f0a2.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_10ff3d34.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_110771d7.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_13f3a7f9.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_17ba9d21.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_22247089.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_227ea6a4.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_2335d5ae.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_246824bb.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_28b4b9cd.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_2abd12cc.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_2c801b2f.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_2c8cfa8e.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_2ce76eb0.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_30351948.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_30eb7229.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_34df0e77.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_376e4d6a.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_3a4e8a1a.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_3b77a628.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_3ea4e1cf.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_44aacdb4.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_457ddfa8.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_45af6238.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_4735dba1.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_486b203c.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_49dc56cd.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_4d863d6d.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_5149a808.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_52e0bb43.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_585d6319.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_5b2d859a.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_635a7081.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_64df4905.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_70634cee.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_714553f9.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_7f7bfdbf.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_7faad91d.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_81821f8f.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_8249f3c9.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_8422b50f.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_8446c134.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_879f4e26.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_8b6d5bd7.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_8c5cd787.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_91d20bc7.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_958a12b7.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_95d91108.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_980dbb74.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_9e40c79b.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_9f499b7c.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_9f7c3b57.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_a30d5bd4.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_a6eb09c7.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_a86f7b83.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_ad5347e1.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_b0a5a993.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_bcb0192e.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_bf3c9aaa.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_c461ff88.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_c4f4e258.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_c7f0fa6d.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_c911b0e6.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_cc581964.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_cdd5a33b.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_cfd42495.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_d1c7a4ee.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_d2280d0e.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_d2a6ff69.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_d8c53ab2.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_d9c1247a.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_d9d58569.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_dabb4fd9.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_dd8fe359.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_decdffc9.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_e3a95476.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_e776dfca.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_ea70969f.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_ef41ea95.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_f384f9b1.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_f8adc38c.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_fa40b69e.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_fc538d54.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_fe814665.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_ffea4b12.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_02d001e5.json +59 -0
- package/tooling/.automation/validation/history/2025-12-30_val_0b8966dc.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_15455fbf.json +59 -0
- package/tooling/.automation/validation/history/2025-12-30_val_157e34b9.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_28d1d933.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_3442a52c.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_37f1ce1e.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_4f1d8a93.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_56ff1de3.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_664fd4e2.json +41 -0
- package/tooling/.automation/validation/history/2025-12-30_val_66afb0a7.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_7634663c.json +41 -0
- package/tooling/.automation/validation/history/2025-12-30_val_8ea830c3.json +41 -0
- package/tooling/.automation/validation/history/2025-12-30_val_998957c2.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_a52177db.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_a5b65a63.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_ae391d0e.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_c7895339.json +41 -0
- package/tooling/.automation/validation/history/2025-12-30_val_ca416593.json +41 -0
- package/tooling/.automation/validation/history/2025-12-30_val_cee19422.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_ddd4f4e6.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_f2e1394b.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_f4a7fa06.json +41 -0
- package/tooling/.automation/validation/history/2025-12-30_val_ffea3369.json +32 -0
- package/tooling/.automation/validation/history/2026-01-03_val_1287a74c.json +41 -0
- package/tooling/.automation/validation/history/2026-01-03_val_3b24071f.json +32 -0
- package/tooling/.automation/validation/history/2026-01-03_val_44d77573.json +32 -0
- package/tooling/.automation/validation/history/2026-01-03_val_5b31dc51.json +32 -0
- package/tooling/.automation/validation/history/2026-01-03_val_74267244.json +32 -0
- package/tooling/.automation/validation/history/2026-01-03_val_8b2d95c7.json +59 -0
- package/tooling/.automation/validation/history/2026-01-03_val_d875b297.json +41 -0
- package/tooling/.automation/validation-config.yaml +103 -0
- package/tooling/completions/DevflowCompletion.ps1 +21 -21
- package/tooling/completions/_run-story +3 -3
- package/tooling/completions/run-story-completion.bash +8 -8
- package/tooling/docs/DOC-STANDARD.md +14 -14
- package/tooling/docs/stories/.gitkeep +0 -0
- package/tooling/docs/templates/brainstorm-guide.md +314 -0
- package/tooling/docs/templates/migration-spec.md +4 -4
- package/tooling/docs/templates/story.md +66 -0
- package/tooling/scripts/context_checkpoint.py +5 -15
- package/tooling/scripts/cost_dashboard.py +610 -13
- package/tooling/scripts/create-persona.py +1 -12
- package/tooling/scripts/create-persona.sh +44 -44
- package/tooling/scripts/lib/__init__.py +12 -1
- package/tooling/scripts/lib/agent_handoff.py +11 -2
- package/tooling/scripts/lib/agent_router.py +31 -10
- package/tooling/scripts/lib/colors.py +106 -0
- package/tooling/scripts/lib/context_monitor.py +766 -0
- package/tooling/scripts/lib/cost_config.py +229 -10
- package/tooling/scripts/lib/cost_display.py +20 -45
- package/tooling/scripts/lib/cost_tracker.py +462 -15
- package/tooling/scripts/lib/currency_converter.py +28 -5
- package/tooling/scripts/lib/pair_programming.py +102 -3
- package/tooling/scripts/lib/personality_system.py +949 -0
- package/tooling/scripts/lib/platform.py +55 -0
- package/tooling/scripts/lib/shared_memory.py +9 -3
- package/tooling/scripts/lib/swarm_orchestrator.py +514 -75
- package/tooling/scripts/lib/validation_loop.py +1014 -0
- package/tooling/scripts/memory_summarize.py +9 -2
- package/tooling/scripts/new-doc.py +2 -9
- package/tooling/scripts/personalize_agent.py +1 -12
- package/tooling/scripts/rollback-migration.sh +60 -60
- package/tooling/scripts/run-collab.ps1 +16 -16
- package/tooling/scripts/run-collab.py +88 -53
- package/tooling/scripts/run-collab.sh +4 -4
- package/tooling/scripts/run-story.py +278 -20
- package/tooling/scripts/run-story.sh +3 -3
- package/tooling/scripts/setup-checkpoint-service.py +2 -9
- package/tooling/scripts/tech-debt-tracker.py +1 -12
- package/tooling/scripts/test_adversarial_swarm.py +452 -0
- package/tooling/scripts/validate-overrides.py +1 -10
- package/tooling/scripts/validate-overrides.sh +40 -40
- package/tooling/scripts/validate_loop.py +162 -0
- package/tooling/scripts/validate_setup.py +2 -30
- 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 -
|
|
1
|
+
# Documentation Standard - Devflow
|
|
2
2
|
|
|
3
|
-
**Version**: 1.
|
|
4
|
-
**Last Updated**: 2025-12-
|
|
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
|
|
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
|
|
215
|
+
Use these text-based conventions (no emojis per project policy):
|
|
216
216
|
|
|
217
217
|
```markdown
|
|
218
|
-
|
|
218
|
+
**[WARNING]**: Important warning
|
|
219
219
|
|
|
220
|
-
|
|
220
|
+
**[TIP]**: Helpful tip
|
|
221
221
|
|
|
222
|
-
|
|
222
|
+
**[NOTE]**: Additional information
|
|
223
223
|
|
|
224
|
-
|
|
224
|
+
**[CRITICAL]**: Critical information
|
|
225
225
|
|
|
226
|
-
|
|
226
|
+
**[OK]**: Successful outcome
|
|
227
227
|
|
|
228
|
-
|
|
228
|
+
**[ERROR]**: Error or failure
|
|
229
229
|
|
|
230
|
-
**GOAL**: Objective or target
|
|
230
|
+
**[GOAL]**: Objective or target
|
|
231
231
|
|
|
232
|
-
|
|
232
|
+
**[INFO]**: Data or statistics
|
|
233
233
|
|
|
234
|
-
|
|
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
|
|
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
|
|
62
|
+
if not IS_WINDOWS:
|
|
73
63
|
signal.signal(signal.SIGTERM, self._signal_handler)
|
|
74
64
|
|
|
75
65
|
def _signal_handler(self, signum, frame):
|