ai-flow-dev 2.5.4 → 2.7.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 (163) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +570 -567
  3. package/dist/cli.js +30 -2
  4. package/dist/cli.js.map +1 -1
  5. package/package.json +73 -73
  6. package/prompts/backend/flow-build-phase-0.md +535 -425
  7. package/prompts/backend/flow-build-phase-1.md +626 -626
  8. package/prompts/backend/flow-build-phase-10.md +340 -340
  9. package/prompts/backend/flow-build-phase-2.md +573 -573
  10. package/prompts/backend/flow-build-phase-3.md +834 -782
  11. package/prompts/backend/flow-build-phase-4.md +554 -554
  12. package/prompts/backend/flow-build-phase-5.md +703 -703
  13. package/prompts/backend/flow-build-phase-6.md +524 -524
  14. package/prompts/backend/flow-build-phase-7.md +1001 -1001
  15. package/prompts/backend/flow-build-phase-8.md +1407 -1407
  16. package/prompts/backend/flow-build-phase-9.md +477 -477
  17. package/prompts/backend/flow-build.md +137 -137
  18. package/prompts/backend/flow-check-review.md +20 -20
  19. package/prompts/backend/flow-check-test.md +14 -14
  20. package/prompts/backend/flow-check.md +67 -67
  21. package/prompts/backend/flow-commit.md +119 -119
  22. package/prompts/backend/flow-docs-sync.md +354 -354
  23. package/prompts/backend/flow-work-feature.md +61 -61
  24. package/prompts/backend/flow-work-fix.md +46 -46
  25. package/prompts/backend/flow-work-refactor.md +48 -48
  26. package/prompts/backend/flow-work-resume.md +34 -34
  27. package/prompts/backend/flow-work.md +1286 -1023
  28. package/prompts/desktop/flow-build-phase-0.md +359 -0
  29. package/prompts/desktop/flow-build-phase-1.md +295 -0
  30. package/prompts/desktop/flow-build-phase-10.md +357 -0
  31. package/prompts/desktop/flow-build-phase-2.md +282 -0
  32. package/prompts/desktop/flow-build-phase-3.md +291 -0
  33. package/prompts/desktop/flow-build-phase-4.md +308 -0
  34. package/prompts/desktop/flow-build-phase-5.md +269 -0
  35. package/prompts/desktop/flow-build-phase-6.md +350 -0
  36. package/prompts/desktop/flow-build-phase-7.md +297 -0
  37. package/prompts/desktop/flow-build-phase-8.md +541 -0
  38. package/prompts/desktop/flow-build-phase-9.md +439 -0
  39. package/prompts/desktop/flow-build.md +156 -0
  40. package/prompts/desktop/flow-check-review.md +20 -0
  41. package/prompts/desktop/flow-check-test.md +14 -0
  42. package/prompts/desktop/flow-check.md +67 -0
  43. package/prompts/desktop/flow-commit.md +119 -0
  44. package/prompts/desktop/flow-docs-sync.md +354 -0
  45. package/prompts/desktop/flow-work-feature.md +61 -0
  46. package/prompts/desktop/flow-work-fix.md +46 -0
  47. package/prompts/desktop/flow-work-refactor.md +48 -0
  48. package/prompts/desktop/flow-work-resume.md +34 -0
  49. package/prompts/desktop/flow-work.md +1390 -0
  50. package/prompts/frontend/flow-build-phase-0.md +425 -425
  51. package/prompts/frontend/flow-build-phase-1.md +626 -626
  52. package/prompts/frontend/flow-build-phase-10.md +33 -33
  53. package/prompts/frontend/flow-build-phase-2.md +573 -573
  54. package/prompts/frontend/flow-build-phase-3.md +782 -782
  55. package/prompts/frontend/flow-build-phase-4.md +554 -554
  56. package/prompts/frontend/flow-build-phase-5.md +703 -703
  57. package/prompts/frontend/flow-build-phase-6.md +524 -524
  58. package/prompts/frontend/flow-build-phase-7.md +1001 -1001
  59. package/prompts/frontend/flow-build-phase-8.md +872 -872
  60. package/prompts/frontend/flow-build-phase-9.md +94 -94
  61. package/prompts/frontend/flow-build.md +137 -137
  62. package/prompts/frontend/flow-check-review.md +20 -20
  63. package/prompts/frontend/flow-check-test.md +14 -14
  64. package/prompts/frontend/flow-check.md +67 -67
  65. package/prompts/frontend/flow-commit.md +119 -119
  66. package/prompts/frontend/flow-docs-sync.md +550 -550
  67. package/prompts/frontend/flow-work-feature.md +61 -61
  68. package/prompts/frontend/flow-work-fix.md +38 -38
  69. package/prompts/frontend/flow-work-refactor.md +48 -48
  70. package/prompts/frontend/flow-work-resume.md +34 -34
  71. package/prompts/frontend/flow-work.md +1320 -1027
  72. package/prompts/mobile/flow-build-phase-0.md +425 -425
  73. package/prompts/mobile/flow-build-phase-1.md +626 -626
  74. package/prompts/mobile/flow-build-phase-10.md +32 -32
  75. package/prompts/mobile/flow-build-phase-2.md +573 -573
  76. package/prompts/mobile/flow-build-phase-3.md +782 -782
  77. package/prompts/mobile/flow-build-phase-4.md +554 -554
  78. package/prompts/mobile/flow-build-phase-5.md +703 -703
  79. package/prompts/mobile/flow-build-phase-6.md +524 -524
  80. package/prompts/mobile/flow-build-phase-7.md +1001 -1001
  81. package/prompts/mobile/flow-build-phase-8.md +888 -888
  82. package/prompts/mobile/flow-build-phase-9.md +90 -90
  83. package/prompts/mobile/flow-build.md +135 -135
  84. package/prompts/mobile/flow-check-review.md +20 -20
  85. package/prompts/mobile/flow-check-test.md +14 -14
  86. package/prompts/mobile/flow-check.md +67 -67
  87. package/prompts/mobile/flow-commit.md +119 -119
  88. package/prompts/mobile/flow-docs-sync.md +620 -620
  89. package/prompts/mobile/flow-work-feature.md +61 -61
  90. package/prompts/mobile/flow-work-fix.md +46 -46
  91. package/prompts/mobile/flow-work-refactor.md +48 -48
  92. package/prompts/mobile/flow-work-resume.md +34 -34
  93. package/prompts/mobile/flow-work.md +1329 -1023
  94. package/prompts/shared/mermaid-guidelines.md +102 -102
  95. package/prompts/shared/scope-levels.md +114 -114
  96. package/prompts/shared/smart-skip-preflight.md +214 -214
  97. package/prompts/shared/story-points.md +55 -55
  98. package/prompts/shared/task-format.md +74 -74
  99. package/prompts/shared/task-summary-template.md +277 -277
  100. package/templates/AGENT.template.md +443 -443
  101. package/templates/backend/.clauderules.template +112 -112
  102. package/templates/backend/.cursorrules.template +102 -102
  103. package/templates/backend/README.template.md +2 -2
  104. package/templates/backend/ai-instructions.template.md +2 -2
  105. package/templates/backend/copilot-instructions.template.md +2 -2
  106. package/templates/backend/docs/api.template.md +320 -320
  107. package/templates/backend/docs/business-flows.template.md +97 -97
  108. package/templates/backend/docs/code-standards.template.md +2 -2
  109. package/templates/backend/docs/contributing.template.md +3 -3
  110. package/templates/backend/docs/data-model.template.md +520 -520
  111. package/templates/backend/docs/testing.template.md +2 -2
  112. package/templates/backend/project-brief.template.md +2 -2
  113. package/templates/backend/specs/configuration.template.md +2 -2
  114. package/templates/backend/specs/security.template.md +2 -2
  115. package/templates/desktop/.clauderules.template +112 -0
  116. package/templates/desktop/.cursorrules.template +102 -0
  117. package/templates/desktop/README.template.md +170 -0
  118. package/templates/desktop/ai-instructions.template.md +366 -0
  119. package/templates/desktop/copilot-instructions.template.md +140 -0
  120. package/templates/desktop/docs/docs/api.template.md +320 -0
  121. package/templates/desktop/docs/docs/architecture.template.md +724 -0
  122. package/templates/desktop/docs/docs/business-flows.template.md +102 -0
  123. package/templates/desktop/docs/docs/code-standards.template.md +792 -0
  124. package/templates/desktop/docs/docs/contributing.template.md +149 -0
  125. package/templates/desktop/docs/docs/data-model.template.md +520 -0
  126. package/templates/desktop/docs/docs/operations.template.md +720 -0
  127. package/templates/desktop/docs/docs/testing.template.md +722 -0
  128. package/templates/desktop/project-brief.template.md +150 -0
  129. package/templates/desktop/specs/specs/configuration.template.md +121 -0
  130. package/templates/desktop/specs/specs/security.template.md +392 -0
  131. package/templates/frontend/README.template.md +2 -2
  132. package/templates/frontend/ai-instructions.template.md +2 -2
  133. package/templates/frontend/docs/api-integration.template.md +362 -362
  134. package/templates/frontend/docs/components.template.md +2 -2
  135. package/templates/frontend/docs/error-handling.template.md +360 -360
  136. package/templates/frontend/docs/operations.template.md +107 -107
  137. package/templates/frontend/docs/performance.template.md +124 -124
  138. package/templates/frontend/docs/pwa.template.md +119 -119
  139. package/templates/frontend/docs/state-management.template.md +2 -2
  140. package/templates/frontend/docs/styling.template.md +2 -2
  141. package/templates/frontend/docs/testing.template.md +2 -2
  142. package/templates/frontend/project-brief.template.md +2 -2
  143. package/templates/frontend/specs/accessibility.template.md +95 -95
  144. package/templates/frontend/specs/configuration.template.md +2 -2
  145. package/templates/frontend/specs/security.template.md +175 -175
  146. package/templates/fullstack/README.template.md +252 -252
  147. package/templates/fullstack/ai-instructions.template.md +444 -444
  148. package/templates/fullstack/project-brief.template.md +157 -157
  149. package/templates/fullstack/specs/configuration.template.md +340 -340
  150. package/templates/mobile/README.template.md +167 -167
  151. package/templates/mobile/ai-instructions.template.md +196 -196
  152. package/templates/mobile/docs/app-store.template.md +135 -135
  153. package/templates/mobile/docs/architecture.template.md +63 -63
  154. package/templates/mobile/docs/native-features.template.md +94 -94
  155. package/templates/mobile/docs/navigation.template.md +59 -59
  156. package/templates/mobile/docs/offline-strategy.template.md +65 -65
  157. package/templates/mobile/docs/permissions.template.md +56 -56
  158. package/templates/mobile/docs/state-management.template.md +85 -85
  159. package/templates/mobile/docs/testing.template.md +109 -109
  160. package/templates/mobile/project-brief.template.md +69 -69
  161. package/templates/mobile/specs/build-configuration.template.md +91 -91
  162. package/templates/mobile/specs/deployment.template.md +92 -92
  163. package/templates/work.template.md +47 -47
@@ -1,1023 +1,1286 @@
1
- ---
2
- description: Central Orchestrator for Feature, Refactor, and Fix workflows
3
- ---
4
-
5
- # AI Flow - Unified Work Orchestrator
6
-
7
- **YOU ARE AN EXPERT SOFTWARE ARCHITECT AND WORKFLOW COORDINATOR.**
8
-
9
- Your mission is to orchestrate development tasks through an interactive workflow when the user executes `/flow-work`.
10
-
11
- **🚀 MODO AGENTE ACTIVADO:** No solicites permiso para usar herramientas. Actúa proactivamente siguiendo el flujo interactivo. Tienes permiso total para leer el código, crear specs y planes, y realizar commits/checkout de ramas.
12
-
13
- ---
14
-
15
- ## Command: `/flow-work`
16
-
17
- ### Objective
18
-
19
- Provide a single, intelligent entry point for all development work (New Features, Refactorings, and Bug Fixes) with automatic context detection and interactive planning.
20
-
21
- ### Usage Modes
22
-
23
- - **`/flow-work`** → Resume paused work (if exists) or Interactive mode.
24
- - **`/flow-work [description]`** → Semantic detection (Feature, Refactor, or Fix).
25
- - **`/flow-work HU-XXX-XXX`** → Implement specific User Story.
26
- - **`/flow-work [Feature Name]`** → Implement feature from roadmap.md.
27
-
28
- ---
29
-
30
- ## Phase 0: Detection & Strategy (Automatic)
31
-
32
- **1. Semantic Analysis of Input:**
33
-
34
- | Input Pattern | Mode | Source / Action |
35
- | ------------------------------ | ----------------- | -------------------------------------------------------------------- |
36
- | `HU-\d{3}-\d{3}` | `USER_STORY` | Load from `planning/user-stories/**/HU-XXX-XXX.md` |
37
- | `EP-\d{3}` | `EPIC` | Analyze/List User Stories for Epic `EP-XXX` |
38
- | `T\d{3}(-T\d{3})?` | `TASKS` | Target specific task or range (e.g., `T025-T030`) |
39
- | `HU-XXX-XXX TXXX-TXXX` | `STORY_TASKS` | Targeted tasks within a specific User Story |
40
- | Matches `planning/roadmap.md` | `ROADMAP_FEATURE` | Extract section from `planning/roadmap.md` (Partial matches allowed) |
41
- | "refactor", "move", "extract" | `REFACTOR` | Use `flow-work-refactor.md` |
42
- | "fix", "bug", "error", "falla" | `FIX` | Detect complexity (Quick vs Complex) |
43
- | "implement", "create", "new" | `FEATURE` | Use `flow-work-feature.md` |
44
- | No arguments | `RESUME` | Search for paused work in `.ai-flow/work/` |
45
-
46
- **2. Detection Logic Details:**
47
-
48
- - **USER_STORY / EPIC**: Load metadata from `planning/user-stories/` or `planning/roadmap.md`.
49
- - **ROADMAP_FEATURE**: Fuzzy search in `planning/roadmap.md` for titles like "User Management" or "Feature 2.2".
50
- - **TASK RANGES**: If `T025-T030` is provided, find the parent Story or Feature in current context or roadmap.
51
- - **SIMPLE FIX**: Affects 1 file, obvious cause, <10 lines fix. → Use `flow-work-fix.md` (Quick).
52
- - **COMPLEX FIX**: Multi-file, architectural, performance/security. → Use `flow-work-fix.md` (Deep).
53
-
54
- ---
55
-
56
- ## Phase 0.5: Complexity Classification (CRITICAL)
57
-
58
- **Analyze task scope to determine workflow:**
59
-
60
- | Metric | SIMPLE (⚡) | MEDIUM (📝) | COMPLEX (🏗️) |
61
- | ------------- | ----------- | ----------- | ------------- |
62
- | Files | 1 | 2-5 | >5 |
63
- | Lines | <20 | 20-100 | >100 |
64
- | Tests | No | Optional | Required |
65
- | Docs | None | Minor | Significant |
66
- | Architecture | None | Minimal | Major changes |
67
- | Time estimate | <15 min | 15-60 min | >60 min |
68
-
69
- **Classification Rules:**
70
-
71
- **⚡ SIMPLE Task:**
72
-
73
- - Examples: Fix typo, rename variable, update constant, add log, adjust CSS
74
- - **Workflow**: In-chat plan → Execute → Done (NO files created)
75
- - **Context**: Only `ai-instructions.md` if relevant
76
-
77
- **📝 MEDIUM Task:**
78
-
79
- - Examples: Add method, refactor function, simple bug fix, update API endpoint
80
- - **Workflow**: Create `work.md` only (NO `status.json`) → Execute → Simple archive
81
- - **Context**: Load 2-3 relevant docs
82
-
83
- **🏗️ COMPLEX Task:**
84
-
85
- - Examples: New feature, major refactor, security fix, multi-file changes
86
- - **Workflow**: Full workflow (`work.md` + `status.json` + branch + archiving)
87
- - **Context**: Load all relevant docs
88
-
89
- **Detection Logic:**
90
-
91
- ```python
92
- if files_affected == 1 and lines_changed < 20 and no_tests_needed and no_architecture_impact:
93
- complexity = "SIMPLE"
94
- elif files_affected <= 5 and lines_changed <= 100 and architecture_impact == "minimal":
95
- complexity = "MEDIUM"
96
- else:
97
- complexity = "COMPLEX"
98
- ```
99
-
100
- **Show classification:**
101
-
102
- ```
103
- 🔍 Task Complexity: [SIMPLE | MEDIUM 📝 | COMPLEX 🏗️]
104
-
105
- Detected:
106
- - Files: [N]
107
- - Estimated lines: [~X]
108
- - Tests needed: [Yes/No]
109
- - Architecture impact: [None/Minimal/Major]
110
-
111
- Proceeding with [SIMPLE/MEDIUM/COMPLEX] workflow.
112
- ```
113
-
114
- ---
115
-
116
- ## Phase 1: Analysis & Refinement
117
-
118
- **1. Context Loading (Smart & Selective):**
119
-
120
- **CRITICAL: Load context based on task complexity and type:**
121
-
122
- **IF complexity == "SIMPLE":**
123
-
124
- - Load ONLY `ai-instructions.md` if task involves code changes
125
- - Skip all other documentation
126
- - Use existing patterns in nearby code as reference
127
-
128
- **IF complexity == "MEDIUM":**
129
-
130
- - Load `ai-instructions.md` (core rules)
131
- - Load 1-2 specific docs based on task type:
132
- - Database changes `docs/data-model.md`
133
- - API changes → `docs/api.md`
134
- - Security `specs/security.md`
135
- - Skip architecture.md unless creating new patterns
136
-
137
- **IF complexity == "COMPLEX":**
138
-
139
- - Load `ai-instructions.md` (NEVER/ALWAYS rules)
140
- - Load `docs/architecture.md` (patterns, structure)
141
- - Load task-specific docs:
142
- - Database `docs/data-model.md`
143
- - Security/Auth `specs/security.md`
144
- - API `docs/api.md`
145
- - Tests `docs/testing.md`
146
- - Load `docs/code-standards.md` only if creating new files
147
-
148
- **Source Documentation (User Stories/Roadmap):**
149
-
150
- **IF** `HU-XXX-XXX` or roadmap feature provided:
151
-
152
- - **`planning/roadmap.md`**: Load for high-level scope
153
- - **`planning/user-stories/**/HU-XXX-XXX.md`\*\*: Load for detailed requirements
154
-
155
- **2. Detail Level Detection (if Manual input):**
156
-
157
- IF input is manual description (not HU/Roadmap):
158
-
159
- ```python
160
- detail_level = analyze_description(input)
161
-
162
- # Criteria for HIGH detail (Feature):
163
- # - Mentions technology/method (JWT, OAuth, bcrypt, etc.)
164
- # - Describes flow (registration, login, CRUD, etc.)
165
- # - Includes technical constraints (hashing, tokens, validation, etc.)
166
-
167
- # Criteria for HIGH detail (Refactor):
168
- # - Describes what to extract/move
169
- # - Mentions destination (file/class)
170
- # - References pattern to follow
171
-
172
- # Criteria for HIGH detail (Fix):
173
- # - Describes symptom (error 500, crash, null pointer, etc.)
174
- # - Mentions probable cause
175
- # - Suggests fix approach
176
- ```
177
-
178
- **3. Interactive Refinement (Conditional):**
179
-
180
- **IF detail_level == "HIGH":**
181
-
182
- - Skip refinement questions
183
- - Proceed directly to Phase 2 (Planning)
184
- - Show: "✅ Sufficient detail detected. Proceeding with planning..."
185
-
186
- **IF detail_level == "MEDIUM":**
187
-
188
- - Ask 1-2 targeted questions (only missing items)
189
- - Use Multiple Choice with defaults (⭐)
190
-
191
- **IF detail_level == "LOW":**
192
-
193
- - Full refinement flow (3-5 questions)
194
- - Use Multiple Choice with defaults (⭐)
195
- - Focus on: approach, scope, constraints, priorities
196
-
197
- **Example Interaction (LOW detail):**
198
-
199
- > 📝 I need to clarify some details for this feature:
200
- >
201
- > 1. What authentication provider should we use? [default: A]
202
- > A) JWT (Local)
203
- > B) OAuth2 (Google/GitHub)
204
- > C) Firebase Auth
205
- > 2. Should we implement audit logs for this? [default: B]
206
- > A) Yes
207
- > B) No
208
- >
209
- > Your answers (or Enter for defaults): \_
210
-
211
- **4. Refined Objective Generation (if Manual):**
212
-
213
- After refinement, generate clear objective statement:
214
-
215
- ```
216
- Refined Objective:
217
-
218
- [Clear 1-2 paragraph description of WHAT will be implemented]
219
-
220
- **Scope**:
221
- - [List in-scope items]
222
-
223
- **Out of Scope**:
224
- - [List out-of-scope items]
225
-
226
- Is this correct? (Yes/Edit/Cancel): _
227
- ```
228
-
229
- **5. Documentation Compliance Check:**
230
-
231
- Read relevant documentation:
232
-
233
- - `ai-instructions.md` (NEVER/ALWAYS rules)
234
- - `docs/architecture.md` (patterns, structure)
235
- - `docs/code-standards.md` (naming, quality)
236
- - IF auth/security: `specs/security.md`
237
- - IF database: `docs/data-model.md`
238
- - IF API: `docs/api.md`
239
-
240
- Compare refined objective against documentation:
241
-
242
- **IF deviation detected:**
243
-
244
- ```
245
- 🚨 POTENTIAL DEVIATION
246
-
247
- From [document]:
248
- ❌ NEVER: [rule being violated]
249
- ALWAYS: [rule being ignored]
250
-
251
- Your request: [conflicting part]
252
-
253
- Options:
254
- A) Modify request to align with documentation
255
- B) Proceed with deviation (requires justification)
256
- C) Cancel
257
-
258
- Your choice: _
259
- ```
260
-
261
- **IF user chooses B (Override):**
262
-
263
- ```
264
- ⚠️ OVERRIDE CONFIRMATION
265
-
266
- You are implementing something that deviates from:
267
- - [list violated documents/rules]
268
-
269
- Type "I UNDERSTAND THE RISKS" to proceed: _
270
-
271
- Provide justification: _
272
- ```
273
-
274
- ---
275
-
276
- ## Phase 1.5: SIMPLE Task Fast-Track
277
-
278
- **IF complexity == "SIMPLE": Execute immediately without creating files**
279
-
280
- 1. **Show in-chat plan:**
281
-
282
- ```
283
- SIMPLE Task - Fast Execution
284
-
285
- What: [1-line description]
286
- File: [path]
287
- Change: [specific modification]
288
- Lines: ~[N] (estimated)
289
-
290
- Execute now? (y/n): _
291
- ```
292
-
293
- 2. **IF user confirms ('y'):**
294
- - Make the change immediately
295
- - Show git diff preview
296
- - Skip to Phase 3 (no branch creation if already on feature branch)
297
- - Show: "✅ Done. Run `/flow-commit` to commit."
298
- - **END WORKFLOW** (no archiving needed)
299
-
300
- 3. **IF user declines ('n'):**
301
- - Cancel task
302
- - **END WORKFLOW**
303
-
304
- **Note:** SIMPLE tasks don't create work.md, status.json, or archive records.
305
-
306
- ---
307
-
308
- ## Phase 2: Planning & Documentation
309
-
310
- **⚠️ SKIP THIS PHASE IF complexity == "SIMPLE"**
311
-
312
- **1. Read Required Documentation (Based on Complexity)**
313
-
314
- **IF complexity == "MEDIUM":**
315
-
316
- - `ai-instructions.md` (core rules)
317
- - Load ONLY task-specific docs:
318
- - Database `docs/data-model.md`
319
- - API `docs/api.md`
320
- - Security `specs/security.md`
321
-
322
- **IF complexity == "COMPLEX":**
323
-
324
- - `ai-instructions.md` (NEVER/ALWAYS rules)
325
- - `docs/architecture.md` (layer, pattern, structure)
326
- - Task-specific docs:
327
- - Database → `docs/data-model.md`
328
- - Security/Auth → `specs/security.md`
329
- - API → `docs/api.md`
330
- - Tests `docs/testing.md`
331
- - `docs/code-standards.md` (only if creating new files)
332
-
333
- **2. Analyze Existing Codebase (MANDATORY)**
334
-
335
- Find similar features/patterns in codebase:
336
-
337
- - Identify existing files to use as reference (e.g., ProductService.ts for UserService.ts)
338
- - Check naming conventions in actual code
339
- - Verify architectural consistency
340
- - Look for reusable components/services
341
-
342
- **3. Generate work.md (Conditional)**
343
-
344
- **IF complexity == "MEDIUM":**
345
-
346
- - Create simplified `.ai-flow/work/[task-name]/work.md` (~15-20 lines)
347
- - Skip status.json
348
-
349
- **IF complexity == "COMPLEX":**
350
-
351
- - Create full `.ai-flow/work/[task-name]/work.md` (~30-40 lines)
352
- - Create `status.json` (see step 4)
353
-
354
- **Structure for MEDIUM tasks** (~15-20 lines):
355
-
356
- ```markdown
357
- # [Type]: [Feature Name]
358
-
359
- **Source**: [HU-XXX | Roadmap X.X | Manual]
360
- **Files**: [2-5 files listed]
361
- **Estimated**: [20-60 min]
362
-
363
- ## Objective
364
-
365
- [1 clear paragraph]
366
-
367
- ## Tasks
368
-
369
- - [ ] Task 1 → path/file.ts
370
- - [ ] Task 2 → path/file.ts
371
- - [ ] Task 3 (optional tests)
372
-
373
- ## Key Rules
374
-
375
- - [1-2 relevant ALWAYS rules]
376
- - [1-2 relevant NEVER rules]
377
- ```
378
-
379
- **Structure for COMPLEX tasks** (~30-40 lines):
380
-
381
- ```markdown
382
- # [Type]: [Feature Name]
383
-
384
- ## Context
385
-
386
- **Source**: HU-001-002 | Roadmap 2.3 | Manual [+ DEVIATION if override]
387
- **SP**: 5 | **Branch**: feature/user-auth | **Deps**: None
388
-
389
- ## Objective
390
-
391
- [1-2 clear paragraphs describing WHAT will be implemented]
392
-
393
- ## Documentation Constraints
394
-
395
- **Read**: ai-instructions.md, architecture.md, code-standards.md, [security.md]
396
-
397
- **Key Rules**:
398
-
399
- - ALWAYS: [List specific rules that apply]
400
- - NEVER: [List specific prohibitions]
401
- - 📐 Pattern: [Architectural pattern from docs]
402
- - 📁 Location: [File structure from architecture.md]
403
-
404
- ## Approach
405
-
406
- **Layer**: [Data | Business Logic | API | UI]
407
- **Files**: [List files to create/modify]
408
- **Reference**: [Existing file to follow as pattern]
409
-
410
- **Phases**:
411
-
412
- 1. [Phase 1 description]
413
- 2. [Phase 2 description]
414
- 3. [Phase 3 description]
415
- 4. [Phase 4 description]
416
-
417
- ## Tasks
418
-
419
- [SEE TASK GENERATION LOGIC BELOW]
420
-
421
- ## Validation
422
-
423
- - [ ] All NEVER/ALWAYS rules followed
424
- - [ ] Tests pass (coverage per docs/testing.md)
425
- - [ ] No hardcoded secrets
426
- - [ ] Follows existing patterns
427
- - [ ] [Add specific validations based on type]
428
- ```
429
-
430
- **Task Generation Logic:**
431
-
432
- **IF source is User Story:**
433
-
434
- ```python
435
- tasks = read_user_story_tasks()
436
- if tasks.are_detailed(): # Has: path, constraints, SP, deps
437
- work_md.tasks = """
438
- **Source**: planning/user-stories/EP-XXX/HU-XXX-XXX.md
439
-
440
- Tasks already detailed in User Story (see linked file).
441
-
442
- **Summary**: [N] tasks, [X] SP total
443
- - [Brief phase breakdown]
444
- """
445
- else:
446
- work_md.tasks = generate_detailed_tasks()
447
- ```
448
-
449
- **IF source is Roadmap:**
450
-
451
- ```python
452
- feature = read_roadmap_feature()
453
- if feature.has_detailed_tasks():
454
- work_md.tasks = """
455
- **Source**: planning/roadmap.md Feature X.X
456
-
457
- Tasks already detailed in Roadmap (see linked file).
458
-
459
- **Summary**: [N] tasks, [X] SP total
460
- """
461
- else:
462
- work_md.tasks = generate_detailed_tasks()
463
- ```
464
-
465
- **IF source is Manual OR tasks need expansion:**
466
-
467
- Generate detailed tasks with this format:
468
-
469
- ```markdown
470
- ## Tasks
471
-
472
- **Source**: Manual | Roadmap X.X (expanded) | HU-XXX-XXX (expanded)
473
-
474
- - [ ] T001 [D] Create User entity → src/entities/User.ts • 1 SP
475
- - Follow Product.ts pattern, hash passwords (bcrypt)
476
- - [ ] T002 [L] UserService.register() → src/services/ • 2 SP
477
- - Validate email, hash password, return JWT (deps: T001)
478
- - [ ] T003 [A] POST /users/register → src/controllers/ • 1 SP
479
- - Return 201, rate limit, follow api.md (deps: T002)
480
- - [ ] T004 [T] Unit tests → tests/services/ • 2 SP
481
- - 80% coverage, edge cases (deps: T002)
482
- ```
483
-
484
- **Task Detail Requirements:**
485
-
486
- - Specific file path
487
- - Pattern/reference to follow
488
- - Key constraints from docs
489
- - Dependencies (if applicable)
490
- - Story Points
491
-
492
- **4. Generate status.json (ONLY for COMPLEX tasks)**
493
-
494
- **IF complexity == "COMPLEX":**
495
-
496
- Create: `.ai-flow/work/[task-name]/status.json`
497
-
498
- ```json
499
- {
500
- "type": "feature|refactor|fix",
501
- "source": "HU-001-002|roadmap-2.3|manual",
502
- "deviation": false,
503
- "progress": {
504
- "totalTasks": 4,
505
- "completedTasks": 0,
506
- "percentage": 0
507
- },
508
- "git": {
509
- "branchName": "feature/user-auth",
510
- "commits": []
511
- },
512
- "timestamps": {
513
- "created": "2025-12-22T23:00:00-03:00",
514
- "lastUpdated": "2025-12-22T23:00:00-03:00"
515
- },
516
- "validation": {
517
- "tests": { "executed": false },
518
- "lint": { "executed": false }
519
- }
520
- }
521
- ```
522
-
523
- **5. User Approval**
524
-
525
- Show work.md for review:
526
-
527
- ```
528
- 📄 Generated: .ai-flow/work/[task-name]/work.md
529
-
530
- Review work.md? (Yes/Edit/No): _
531
- ```
532
-
533
- - **Yes**: Proceed to Phase 3
534
- - **Edit**: Allow user to modify work.md, then re-read
535
- - **No**: Cancel workflow
536
-
537
- ---
538
-
539
- ## Phase 3: Execution (Branch Creation)
540
-
541
- **Upon confirmation to start implementation:**
542
-
543
- **🛡️ CRITICAL: Protected Branch Check**
544
-
545
- ```bash
546
- git branch --show-current
547
- git status --porcelain
548
- ```
549
-
550
- **If current branch is protected** (`main`, `master`, `develop`, `development`):
551
-
552
- **A) If there are uncommitted changes:**
553
-
554
- 1. **Analyze changes to generate branch name:**
555
-
556
- ```bash
557
- git status --porcelain
558
- git diff --stat
559
- ```
560
-
561
- **Detection rules:**
562
- - **New files** (untracked)`feature/`
563
- - **Bug fixes** (keywords: fix, error, bug in commit message or file content) → `fix/`
564
- - **Refactoring** (modifications without new features) → `refactor/`
565
- - **Configuration/Dependencies** (package.json, tsconfig, .env, etc.) → `chore/`
566
- - **Tests only** → `test/`
567
- - **Documentation only** → `docs/`
568
-
569
- **Naming strategy:**
570
- - Extract most significant file/module name
571
- - Remove extensions and path prefixes
572
- - Convert to kebab-case
573
- - Limit to 3-4 words max
574
-
575
- **Examples:**
576
-
577
- ```
578
- src/services/UserService.ts (new) → feature/user-service
579
- src/controllers/AuthController.ts (fix) → fix/auth-controller
580
- src/utils/validator.ts (modified) → refactor/validator-utils
581
- package.json + package-lock.json → chore/update-dependencies
582
- src/services/User* + tests/ → feature/user-management
583
- Multiple modules (auth + profile) → feature/auth-profile-integration
584
- ```
585
-
586
- 2. **Warn user:**
587
-
588
- ```
589
- ⚠️ Working on protected branch '[branch-name]' with uncommitted changes.
590
-
591
- Analyzed changes:
592
- - [file1] (new)
593
- - [file2] (modified)
594
- - [file3] (modified)
595
- ... [N] more files
596
-
597
- Detected type: [feature|fix|refactor|chore]
598
- Suggested branch: [type]/[descriptive-slug]
599
- ```
600
-
601
- 3. **Offer options:**
602
- - **A)** Create branch: `[type]/[suggested-name]` ⭐
603
- - **B)** Edit branch name (user provides custom slug)
604
- - **C)** Stash changes and continue: `git stash`
605
- - **D)** Cancel
606
-
607
- 4. If user chooses A:
608
-
609
- ```bash
610
- git checkout -b [type]/[suggested-name]
611
- ```
612
-
613
- Then show:
614
-
615
- ```
616
- Created and switched to '[type]/[suggested-name]'
617
-
618
- Next steps:
619
- 1. Run /flow-commit to commit these changes
620
- 2. Return to protected branch: git checkout [protected-branch]
621
- 3. Continue with /flow-work for new task
622
-
623
- Or continue working on this branch if it's your intended work.
624
- ```
625
-
626
- 5. If user chooses B:
627
- ```
628
- Enter branch name (without type prefix): _
629
- ```
630
- Then create: `[detected-type]/[user-input]`
631
-
632
- **B) If NO uncommitted changes:**
633
-
634
- - Proceed normally - creating work branches FROM protected branches is correct workflow
635
- - Protected branches serve as base for new work
636
-
637
- 1. **Generate Branch Name**:
638
- - `feature/[slug]`
639
- - `refactor/[slug]`
640
- - `fix/[slug]`
641
- 2. **Execute**: `git checkout -b [branch-name]`.
642
- 3. **Update `status.json`**: Record branch name and start timestamp.
643
- 4. **Implementation**: Proceed according to the selected mode (Auto, Phase-by-phase, Task-by-task).
644
- - Follow tasks in `work.md`
645
- - Update task checkboxes as completed
646
- - Update `status.json` progress
647
-
648
- ---
649
-
650
- ## Phase 4: Finalization (User-Controlled)
651
-
652
- **⚠️ SKIP THIS PHASE IF complexity == "SIMPLE"** (already handled in Phase 1.5)
653
-
654
- **Trigger Options:**
655
-
656
- - User types: `/flow-work complete`
657
- - All checkboxes in work.md marked complete
658
- - User explicitly requests finalization
659
-
660
- **CRITICAL: This phase requires EXPLICIT user confirmations at each step.**
661
-
662
- ---
663
-
664
- ### Step 1: Validation Check
665
-
666
- ```
667
- 🔍 Running validation...
668
- ```
669
-
670
- Execute:
671
-
672
- ```bash
673
- npm test # or project-specific test command
674
- npm run lint # or project-specific lint command
675
- ```
676
-
677
- Show results:
678
-
679
- ```
680
- 📊 Validation Results
681
-
682
- Tests: [✅ Passed | ❌ Failed (N tests)]
683
- Lint: [✅ Clean | ⚠️ N warnings | ❌ N errors]
684
- Coverage: [X%]
685
-
686
- Proceed with finalization?
687
-
688
- a) Yes, continue ⭐
689
- b) No, let me fix issues
690
- c) Skip validation (not recommended)
691
-
692
- Your choice: _
693
- ```
694
-
695
- - **'b'**: Return to Phase 3 for fixes, END finalization
696
- - **'c'**: Show warning, ask confirmation again, then continue
697
- - **'a'**: Continue to Step 2
698
-
699
- ---
700
-
701
- ### Step 2: Source Documentation Update (Interactive)
702
-
703
- **Detect source references:**
704
-
705
- ```python
706
- source = extract_from_work_md_or_status_json()
707
- # Returns: "HU-001-002" | "roadmap-2.3" | "manual" | None
708
- ```
709
-
710
- **IF source exists (HU or roadmap):**
711
-
712
- ```
713
- 📚 Update Source Documentation?
714
-
715
- Found:
716
- - planning/roadmap.md Feature 2.3 "User Authentication"
717
- - planning/user-stories/EP-001/HU-001-002.md
718
-
719
- What to update?
720
-
721
- a) Update both ⭐
722
- b) Update roadmap only
723
- c) Update user story only
724
- d) Skip (I'll update manually later)
725
-
726
- Your choice: _
727
- ```
728
-
729
- **Execute selected updates:**
730
-
731
- - Read files
732
- - Mark checkboxes as complete: `- [ ]` → `- [x]`
733
- - Add timestamp comment: `<!-- Completed: YYYY-MM-DD HH:MM -->`
734
- - Save files
735
-
736
- **Show confirmation:**
737
-
738
- ```
739
- Updated:
740
- - planning/roadmap.md (Feature 2.3)
741
- - planning/user-stories/EP-001/HU-001-002.md (5/5 DoD items)
742
- ```
743
-
744
- **IF update fails:**
745
-
746
- ```
747
- ❌ Failed to update [file]: [reason]
748
-
749
- Options:
750
- 1) Retry update
751
- 2) Skip this file
752
- 3) Cancel finalization
753
-
754
- Your choice: _
755
- ```
756
-
757
- **IF source is "manual" or None:**
758
-
759
- ```
760
- ⏭️ No source documentation to update (manual task)
761
- ```
762
-
763
- ---
764
-
765
- ### Step 3: Archiving Decision (Explicit Confirmation)
766
-
767
- **Show current state:**
768
-
769
- ```bash
770
- git diff --stat
771
- git log --oneline origin/[base-branch]..HEAD
772
- ```
773
-
774
- **Present archiving options:**
775
-
776
- ```
777
- 💾 Task Completion Options
778
-
779
- Current work:
780
- - Branch: [branch-name]
781
- - Files changed: [N]
782
- - Commits: [N]
783
- - Duration: [X min]
784
-
785
- What do you want to do?
786
-
787
- a) Complete & Archive ⭐
788
- Record analytics, delete work files, clean state
789
-
790
- b) Complete & Keep
791
- → Record analytics, rename folder to [task]-completed
792
-
793
- c) Mark as Paused
794
- → Keep work files for later resume
795
-
796
- d) Cancel
797
- → Go back to editing
798
-
799
- Your choice: _
800
- ```
801
-
802
- **IF 'a' (Complete & Archive):**
803
-
804
- ```
805
- Archiving task...
806
- ```
807
-
808
- 1. **Extract metadata:**
809
-
810
- ```javascript
811
- // IF complexity == "COMPLEX" (has status.json):
812
- analytics = {
813
- task: '[task-name]',
814
- type: '[feature|refactor|fix]',
815
- src: '[HU-001-002|roadmap-2.3|manual]',
816
- dur: Math.round((completed - created) / 60000), // minutes
817
- start: timestamps.created,
818
- end: new Date().toISOString(),
819
- tasks: progress.totalTasks,
820
- sp: extract_story_points_from_work_md(),
821
- commits: git.commits.length,
822
- valid: validation.tests.passed && validation.lint.passed,
823
- };
824
-
825
- // IF complexity == "MEDIUM" (only work.md):
826
- analytics = {
827
- task: '[task-name]',
828
- type: '[detected-from-folder-name]',
829
- src: 'manual',
830
- dur: estimate_duration_from_git_log(),
831
- start: get_first_commit_timestamp(),
832
- end: new Date().toISOString(),
833
- tasks: count_checkboxes_in_work_md(),
834
- sp: extract_story_points_from_work_md() || null,
835
- commits: count_commits_in_branch(),
836
- valid: validation_passed,
837
- };
838
- ```
839
-
840
- 2. **Append to analytics:**
841
-
842
- ```bash
843
- echo '{json}' >> .ai-flow/archive/analytics.jsonl
844
- ```
845
-
846
- 3. **Delete work folder:**
847
-
848
- ```bash
849
- rm -rf .ai-flow/work/[task-name]/
850
- ```
851
-
852
- 4. **Show confirmation:**
853
-
854
- ```
855
- ✅ Task archived successfully
856
-
857
- 📊 Analytics recorded:
858
- - Duration: [X] min
859
- - Story Points: [N]
860
- - Commits: [N]
861
- - Validation: [✅ Passed | ❌ Failed]
862
- ```
863
-
864
- **IF 'b' (Complete & Keep):**
865
-
866
- 1. Record analytics (same as 'a')
867
- 2. Rename folder:
868
- ```bash
869
- mv .ai-flow/work/[task] .ai-flow/work/[task]-completed/
870
- ```
871
- 3. Show: `✅ Task marked complete. Files kept in: .ai-flow/work/[task]-completed/`
872
-
873
- **IF 'c' (Mark as Paused):**
874
-
875
- 1. Add marker file:
876
- ```bash
877
- echo "Paused: $(date)" > .ai-flow/work/[task]/PAUSED
878
- ```
879
- 2. Show: `⏸️ Task paused. Resume with: /flow-work`
880
- 3. **END finalization**
881
-
882
- **IF 'd' (Cancel):**
883
-
884
- 1. Show: `❌ Finalization cancelled. Task remains active.`
885
- 2. **END finalization**
886
-
887
- ---
888
-
889
- ### Step 4: Ticket Summary (Optional)
890
-
891
- **Only ask if task was archived (option 'a' or 'b'):**
892
-
893
- ```
894
- 📋 Generate ticket summary?
895
-
896
- (For ClickUp, Jira, Linear, Asana, Trello, GitHub Projects, etc.)
897
-
898
- y/n: _
899
- ```
900
-
901
- **IF 'y':**
902
-
903
- 1. Check if template exists:
904
-
905
- ```bash
906
- [ -f .ai-flow/prompts/shared/task-summary-template.md ]
907
- ```
908
-
909
- 2. **IF template exists:**
910
- - Read template
911
- - Extract data from:
912
- - Last line of `analytics.jsonl`
913
- - Git stats: `git diff --stat`, `git log --oneline`
914
- - Branch info
915
- - Populate template with real data
916
- - Show formatted summary
917
-
918
- 3. **IF template doesn't exist:**
919
- - Generate basic summary:
920
-
921
- ```
922
- 📋 Task Summary
923
-
924
- **Task**: [task-name]
925
- **Type**: [feature|refactor|fix]
926
- **Duration**: [X min]
927
- **Story Points**: [N]
928
- **Commits**: [N]
929
- **Branch**: [branch-name]
930
- **Status**: ✅ Complete
931
-
932
- **Changes**:
933
- [git diff --stat output]
934
-
935
- **Commits**:
936
- [git log --oneline output]
937
- ```
938
-
939
- 4. Show: `📋 Copy the summary above to your ticket system`
940
-
941
- **IF 'n':**
942
-
943
- ```
944
- ⏭️ Skipping ticket summary
945
- ```
946
-
947
- ---
948
-
949
- ### Step 5: Git Push (Final Step)
950
-
951
- ```
952
- 🚀 Push changes to remote?
953
-
954
- git push origin [branch-name]
955
-
956
- y/n: _
957
- ```
958
-
959
- **IF 'y':**
960
-
961
- ```bash
962
- git push origin [branch-name]
963
- ```
964
-
965
- Show result:
966
-
967
- ```
968
- ✅ Pushed to origin/[branch-name]
969
-
970
- Next steps:
971
- - Create Pull Request/Merge Request
972
- - Request code review
973
- - Update project board
974
- ```
975
-
976
- **IF 'n':**
977
-
978
- ```
979
- ⏭️ Skipping push
980
-
981
- ⚠️ Remember to push later:
982
- git push origin [branch-name]
983
- ```
984
-
985
- ---
986
-
987
- ### Finalization Complete
988
-
989
- ```
990
- ✅ Task Finalization Complete
991
-
992
- 📊 Summary:
993
- - [✅|⚠️] Validation passed
994
- - [✅|⏭️] Documentation updated
995
- - [✅|⏭️] Task archived
996
- - [✅|⏭️] Ticket summary generated
997
- - [✅|⏭️] Pushed to remote
998
-
999
- Task: [task-name]
1000
- Branch: [branch-name]
1001
- Duration: [X min]
1002
- Commits: [N]
1003
-
1004
- 🎉 Great work!
1005
- ```
1006
-
1007
- **END WORKFLOW**
1008
-
1009
- ---
1010
-
1011
- ## Orchestration Rules
1012
-
1013
- - **DRY Logic**: This file handles the high-level orchestration.
1014
- - **Delegation**:
1015
- - Detailed Feature logic → `@flow-work-feature.md`
1016
- - Detailed Refactor logic → `@flow-work-refactor.md`
1017
- - Detailed Fix logic → `@flow-work-fix.md`
1018
- - Resume logic → `@flow-work-resume.md`
1019
- - **State Persistence**: Always read/write to `.ai-flow/work/[name]/status.json` to maintain state across sessions.
1020
-
1021
- ---
1022
-
1023
- **BEGIN EXECUTION when user runs `/flow-work [args]`**
1
+ ---
2
+ description: Central Orchestrator for Feature, Refactor, and Fix workflows
3
+ ---
4
+
5
+ # AI Flow - Unified Work Orchestrator
6
+
7
+ **YOU ARE AN EXPERT SOFTWARE ARCHITECT AND WORKFLOW COORDINATOR.**
8
+
9
+ Your mission is to orchestrate development tasks through an interactive workflow when the user executes `/flow-work`.
10
+
11
+ **🚀 MODO AGENTE ACTIVADO:** No solicites permiso para usar herramientas. Actúa proactivamente siguiendo el flujo interactivo. Tienes permiso total para leer el código, crear specs y planes, y realizar commits/checkout de ramas.
12
+
13
+ ---
14
+
15
+ ## Command: `/flow-work`
16
+
17
+ ### Objective
18
+
19
+ Provide a single, intelligent entry point for all development work (New Features, Refactorings, and Bug Fixes) with automatic context detection and interactive planning.
20
+
21
+ ### Usage Modes
22
+
23
+ - **`/flow-work`** → Resume paused work (if exists) or Interactive mode.
24
+ - **`/flow-work [description]`** → Semantic detection (Feature, Refactor, or Fix).
25
+ - **`/flow-work HU-XXX-XXX`** → Implement specific User Story.
26
+ - **`/flow-work [Feature Name]`** → Implement feature from roadmap.md.
27
+
28
+ ---
29
+
30
+ ## Phase -1: Intent Classification (PRE-DETECTION)
31
+
32
+ **CRITICAL: Determine if this is an INFORMATIVE request vs EXECUTION request BEFORE any workflow.**
33
+
34
+ **🔍 INFORMATIVE Patterns (Answer directly, NO execution workflow):**
35
+
36
+ - **Questions:** Starts with `¿`, `how`, `why`, `what`, `when`, `cómo`, `por qué`, `qué`, `cuál`
37
+ - **Analysis verbs:** `explain`, `show`, `list`, `analyze`, `describe`, `compare`, `explica`, `muestra`, `analiza`, `describe`, `compara`
38
+ - **Report requests:** `report`, `informe`, `document`, `documenta`, `summary`, `resumen`, `generate report`, `genera informe`
39
+ - **Exploration:** `find`, `search`, `busca`, `encuentra`, `where is`, `dónde está`
40
+ - **Review requests:** `review`, `revisa`, `check`, `verifica`, `audit`, `audita`
41
+
42
+ **🛠️ EXECUTION Patterns (Enter workflow):**
43
+
44
+ - **Action verbs:** `implement`, `create`, `refactor`, `fix`, `add`, `remove`, `update`, `delete`, `build`, `develop`
45
+ - **Task codes:** `HU-\d{3}-\d{3}`, `EP-\d{3}`, `T\d{3}`
46
+ - **Imperative:** `new feature`, `nueva feature`, `crear`, `implementar`
47
+
48
+ **Detection Logic:**
49
+
50
+ ```python
51
+ import re
52
+
53
+ # Normalize input
54
+ input_lower = input.strip().lower()
55
+
56
+ # INFORMATIVE patterns (high priority)
57
+ informative_patterns = [
58
+ r'^(¿|how|why|what|when|where|cómo|por qué|qué|cuál|dónde)',
59
+ r'^(explain|show|list|analyze|describe|compare|explica|muestra|analiza|describe|compara)',
60
+ r'(report|informe|document|documenta|summary|resumen)',
61
+ r'(find|search|busca|encuentra)',
62
+ r'(review|revisa|check|verifica|audit|audita)',
63
+ ]
64
+
65
+ for pattern in informative_patterns:
66
+ if re.search(pattern, input_lower):
67
+ return "INFORMATIVE" # Jump to Phase 99
68
+
69
+ # EXECUTION patterns
70
+ execution_patterns = [
71
+ r'(HU-\d{3}-\d{3}|EP-\d{3}|T\d{3})', # Task codes
72
+ r'^(implement|create|refactor|fix|add|remove|update|delete|build|develop)',
73
+ r'(implementar|crear|nueva feature|new feature)',
74
+ ]
75
+
76
+ for pattern in execution_patterns:
77
+ if re.search(pattern, input_lower):
78
+ return "EXECUTION" # → Continue to Phase 0
79
+
80
+ # Ambiguous case - ask user
81
+ return "AMBIGUOUS"
82
+ ```
83
+
84
+ **Action based on detection:**
85
+
86
+ **IF mode == "INFORMATIVE":**
87
+
88
+ ```
89
+ 🔍 Detected: Informative request (question/report/analysis)
90
+
91
+ I'll provide a detailed answer without creating work files or branches.
92
+ ```
93
+
94
+ **Jump to Phase 99: Informative Response**
95
+
96
+ **IF mode == "EXECUTION":**
97
+
98
+ → **Continue to Phase 0** (current workflow)
99
+
100
+ **IF mode == "AMBIGUOUS":**
101
+
102
+ ```
103
+ I'm not sure if this is:
104
+ A) A question/report request (I'll answer directly)
105
+ B) A task to implement (I'll create work plan and execute)
106
+
107
+ Please clarify (A/B): _
108
+ ```
109
+
110
+ ---
111
+
112
+ ## Phase 0: Detection & Strategy (Automatic)
113
+
114
+ **1. Semantic Analysis of Input:**
115
+
116
+ | Input Pattern | Mode | Source / Action |
117
+ | ------------------------------ | ----------------- | -------------------------------------------------------------------- |
118
+ | `HU-\d{3}-\d{3}` | `USER_STORY` | Load from `planning/user-stories/**/HU-XXX-XXX.md` |
119
+ | `EP-\d{3}` | `EPIC` | Analyze/List User Stories for Epic `EP-XXX` |
120
+ | `T\d{3}(-T\d{3})?` | `TASKS` | Target specific task or range (e.g., `T025-T030`) |
121
+ | `HU-XXX-XXX TXXX-TXXX` | `STORY_TASKS` | Targeted tasks within a specific User Story |
122
+ | Matches `planning/roadmap.md` | `ROADMAP_FEATURE` | Extract section from `planning/roadmap.md` (Partial matches allowed) |
123
+ | "refactor", "move", "extract" | `REFACTOR` | Use `flow-work-refactor.md` |
124
+ | "fix", "bug", "error", "falla" | `FIX` | Detect complexity (Quick vs Complex) |
125
+ | "implement", "create", "new" | `FEATURE` | Use `flow-work-feature.md` |
126
+ | No arguments | `RESUME` | Search for paused work in `.ai-flow/work/` |
127
+
128
+ **2. Detection Logic Details:**
129
+
130
+ - **USER_STORY / EPIC**: Load metadata from `planning/user-stories/` or `planning/roadmap.md`.
131
+ - **ROADMAP_FEATURE**: Fuzzy search in `planning/roadmap.md` for titles like "User Management" or "Feature 2.2".
132
+ - **TASK RANGES**: If `T025-T030` is provided, find the parent Story or Feature in current context or roadmap.
133
+ - **SIMPLE FIX**: Affects 1 file, obvious cause, <10 lines fix. Use `flow-work-fix.md` (Quick).
134
+ - **COMPLEX FIX**: Multi-file, architectural, performance/security. → Use `flow-work-fix.md` (Deep).
135
+
136
+ ---
137
+
138
+ ## Phase 0.5: Complexity Classification (CRITICAL)
139
+
140
+ **Analyze task scope to determine workflow:**
141
+
142
+ | Metric | SIMPLE (⚡) | MEDIUM (📝) | COMPLEX (🏗️) |
143
+ | ------------- | ----------- | ----------- | ------------- |
144
+ | Files | 1 | 2-5 | >5 |
145
+ | Lines | <20 | 20-100 | >100 |
146
+ | Tests | No | Optional | Required |
147
+ | Docs | None | Minor | Significant |
148
+ | Architecture | None | Minimal | Major changes |
149
+ | Time estimate | <15 min | 15-60 min | >60 min |
150
+
151
+ **Classification Rules:**
152
+
153
+ **⚡ SIMPLE Task:**
154
+
155
+ - Examples: Fix typo, rename variable, update constant, add log, adjust CSS
156
+ - **Workflow**: In-chat plan → Execute → Done (NO files created)
157
+ - **Context**: Only `ai-instructions.md` if relevant
158
+
159
+ **📝 MEDIUM Task:**
160
+
161
+ - Examples: Add method, refactor function, simple bug fix, update API endpoint
162
+ - **Workflow**: Create `work.md` only (NO `status.json`) → Execute → Simple archive
163
+ - **Context**: Load 2-3 relevant docs
164
+
165
+ **🏗️ COMPLEX Task:**
166
+
167
+ - Examples: New feature, major refactor, security fix, multi-file changes
168
+ - **Workflow**: Full workflow (`work.md` + `status.json` + branch + archiving)
169
+ - **Context**: Load all relevant docs
170
+
171
+ **Detection Logic:**
172
+
173
+ ```python
174
+ if files_affected == 1 and lines_changed < 20 and no_tests_needed and no_architecture_impact:
175
+ complexity = "SIMPLE"
176
+ elif files_affected <= 5 and lines_changed <= 100 and architecture_impact == "minimal":
177
+ complexity = "MEDIUM"
178
+ else:
179
+ complexity = "COMPLEX"
180
+ ```
181
+
182
+ **Show classification:**
183
+
184
+ ```
185
+ 🔍 Task Complexity: [SIMPLE ⚡ | MEDIUM 📝 | COMPLEX 🏗️]
186
+
187
+ Detected:
188
+ - Files: [N]
189
+ - Estimated lines: [~X]
190
+ - Tests needed: [Yes/No]
191
+ - Architecture impact: [None/Minimal/Major]
192
+
193
+ Proceeding with [SIMPLE/MEDIUM/COMPLEX] workflow.
194
+ ```
195
+
196
+ ---
197
+
198
+ ## Phase 1: Analysis & Refinement
199
+
200
+ **1. Context Loading (Smart & Selective):**
201
+
202
+ **CRITICAL: Load context based on task complexity and type:**
203
+
204
+ **IF complexity == "SIMPLE":**
205
+
206
+ - Load ONLY `ai-instructions.md` if task involves code changes
207
+ - Skip all other documentation
208
+ - Use existing patterns in nearby code as reference
209
+
210
+ **IF complexity == "MEDIUM":**
211
+
212
+ - Load `ai-instructions.md` (core rules)
213
+ - Load 1-2 specific docs based on task type:
214
+ - Database changes → `docs/data-model.md`
215
+ - API changes → `docs/api.md`
216
+ - Security → `specs/security.md`
217
+ - Skip architecture.md unless creating new patterns
218
+
219
+ **IF complexity == "COMPLEX":**
220
+
221
+ - Load `ai-instructions.md` (NEVER/ALWAYS rules)
222
+ - Load `docs/architecture.md` (patterns, structure)
223
+ - Load task-specific docs:
224
+ - Database → `docs/data-model.md`
225
+ - Security/Auth → `specs/security.md`
226
+ - API `docs/api.md`
227
+ - Tests → `docs/testing.md`
228
+ - Load `docs/code-standards.md` only if creating new files
229
+
230
+ **Source Documentation (User Stories/Roadmap):**
231
+
232
+ **IF** `HU-XXX-XXX` or roadmap feature provided:
233
+
234
+ - **`planning/roadmap.md`**: Load for high-level scope
235
+ - **`planning/user-stories/**/HU-XXX-XXX.md`\*\*: Load for detailed requirements
236
+
237
+ **2. Detail Level Detection (if Manual input):**
238
+
239
+ IF input is manual description (not HU/Roadmap):
240
+
241
+ ```python
242
+ detail_level = analyze_description(input)
243
+
244
+ # Criteria for HIGH detail (Feature):
245
+ # - Mentions technology/method (JWT, OAuth, bcrypt, etc.)
246
+ # - Describes flow (registration, login, CRUD, etc.)
247
+ # - Includes technical constraints (hashing, tokens, validation, etc.)
248
+
249
+ # Criteria for HIGH detail (Refactor):
250
+ # - Describes what to extract/move
251
+ # - Mentions destination (file/class)
252
+ # - References pattern to follow
253
+
254
+ # Criteria for HIGH detail (Fix):
255
+ # - Describes symptom (error 500, crash, null pointer, etc.)
256
+ # - Mentions probable cause
257
+ # - Suggests fix approach
258
+ ```
259
+
260
+ **3. Interactive Refinement (Conditional):**
261
+
262
+ **IF detail_level == "HIGH":**
263
+
264
+ - Skip refinement questions
265
+ - Proceed directly to Phase 2 (Planning)
266
+ - Show: "✅ Sufficient detail detected. Proceeding with planning..."
267
+
268
+ **IF detail_level == "MEDIUM":**
269
+
270
+ - Ask 1-2 targeted questions (only missing items)
271
+ - Use Multiple Choice with defaults (⭐)
272
+
273
+ **IF detail_level == "LOW":**
274
+
275
+ - Full refinement flow (3-5 questions)
276
+ - Use Multiple Choice with defaults (⭐)
277
+ - Focus on: approach, scope, constraints, priorities
278
+
279
+ **Example Interaction (LOW detail):**
280
+
281
+ > 📝 I need to clarify some details for this feature:
282
+ >
283
+ > 1. What authentication provider should we use? [default: A]
284
+ > A) JWT (Local) ⭐
285
+ > B) OAuth2 (Google/GitHub)
286
+ > C) Firebase Auth
287
+ > 2. Should we implement audit logs for this? [default: B]
288
+ > A) Yes
289
+ > B) No ⭐
290
+ >
291
+ > Your answers (or Enter for defaults): \_
292
+
293
+ **4. Refined Objective Generation (if Manual):**
294
+
295
+ After refinement, generate clear objective statement:
296
+
297
+ ```
298
+ Refined Objective:
299
+
300
+ [Clear 1-2 paragraph description of WHAT will be implemented]
301
+
302
+ **Scope**:
303
+ - [List in-scope items]
304
+
305
+ **Out of Scope**:
306
+ - [List out-of-scope items]
307
+
308
+ Is this correct? (Yes/Edit/Cancel): _
309
+ ```
310
+
311
+ **5. Documentation Compliance Check:**
312
+
313
+ Read relevant documentation:
314
+
315
+ - `ai-instructions.md` (NEVER/ALWAYS rules)
316
+ - `docs/architecture.md` (patterns, structure)
317
+ - `docs/code-standards.md` (naming, quality)
318
+ - IF auth/security: `specs/security.md`
319
+ - IF database: `docs/data-model.md`
320
+ - IF API: `docs/api.md`
321
+
322
+ Compare refined objective against documentation:
323
+
324
+ **IF deviation detected:**
325
+
326
+ ```
327
+ 🚨 POTENTIAL DEVIATION
328
+
329
+ From [document]:
330
+ NEVER: [rule being violated]
331
+ ALWAYS: [rule being ignored]
332
+
333
+ Your request: [conflicting part]
334
+
335
+ Options:
336
+ A) Modify request to align with documentation
337
+ B) Proceed with deviation (requires justification)
338
+ C) Cancel
339
+
340
+ Your choice: _
341
+ ```
342
+
343
+ **IF user chooses B (Override):**
344
+
345
+ ```
346
+ ⚠️ OVERRIDE CONFIRMATION
347
+
348
+ You are implementing something that deviates from:
349
+ - [list violated documents/rules]
350
+
351
+ Type "I UNDERSTAND THE RISKS" to proceed: _
352
+
353
+ Provide justification: _
354
+ ```
355
+
356
+ ---
357
+
358
+ ## Phase 1.5: SIMPLE Task Fast-Track
359
+
360
+ **IF complexity == "SIMPLE": Execute immediately without creating files**
361
+
362
+ 1. **Show in-chat plan:**
363
+
364
+ ```
365
+ SIMPLE Task - Fast Execution
366
+
367
+ What: [1-line description]
368
+ File: [path]
369
+ Change: [specific modification]
370
+ Lines: ~[N] (estimated)
371
+
372
+ Execute now? (y/n): _
373
+ ```
374
+
375
+ 2. **IF user confirms ('y'):**
376
+ - Make the change immediately
377
+ - Show git diff preview
378
+ - Skip to Phase 3 (no branch creation if already on feature branch)
379
+ - Show: "✅ Done. Run `/flow-commit` to commit."
380
+ - **END WORKFLOW** (no archiving needed)
381
+
382
+ 3. **IF user declines ('n'):**
383
+ - Cancel task
384
+ - **END WORKFLOW**
385
+
386
+ **Note:** SIMPLE tasks don't create work.md, status.json, or archive records.
387
+
388
+ ---
389
+
390
+ ## Phase 2: Planning & Documentation
391
+
392
+ **⚠️ SKIP THIS PHASE IF complexity == "SIMPLE"**
393
+
394
+ **1. Read Required Documentation (Based on Complexity)**
395
+
396
+ **IF complexity == "MEDIUM":**
397
+
398
+ - `ai-instructions.md` (core rules)
399
+ - Load ONLY task-specific docs:
400
+ - Database `docs/data-model.md`
401
+ - API `docs/api.md`
402
+ - Security `specs/security.md`
403
+
404
+ **IF complexity == "COMPLEX":**
405
+
406
+ - `ai-instructions.md` (NEVER/ALWAYS rules)
407
+ - `docs/architecture.md` (layer, pattern, structure)
408
+ - Task-specific docs:
409
+ - Database → `docs/data-model.md`
410
+ - Security/Auth → `specs/security.md`
411
+ - API → `docs/api.md`
412
+ - Tests `docs/testing.md`
413
+ - `docs/code-standards.md` (only if creating new files)
414
+
415
+ **2. Analyze Existing Codebase (MANDATORY)**
416
+
417
+ Find similar features/patterns in codebase:
418
+
419
+ - Identify existing files to use as reference (e.g., ProductService.ts for UserService.ts)
420
+ - Check naming conventions in actual code
421
+ - Verify architectural consistency
422
+ - Look for reusable components/services
423
+
424
+ **3. Generate work.md (Conditional)**
425
+
426
+ **IF complexity == "MEDIUM":**
427
+
428
+ - Create simplified `.ai-flow/work/[task-name]/work.md` (~15-20 lines)
429
+ - Skip status.json
430
+
431
+ **IF complexity == "COMPLEX":**
432
+
433
+ - Create full `.ai-flow/work/[task-name]/work.md` (~30-40 lines)
434
+ - Create `status.json` (see step 4)
435
+
436
+ **Structure for MEDIUM tasks** (~15-20 lines):
437
+
438
+ ```markdown
439
+ # [Type]: [Feature Name]
440
+
441
+ **Source**: [HU-XXX | Roadmap X.X | Manual]
442
+ **Files**: [2-5 files listed]
443
+ **Estimated**: [20-60 min]
444
+
445
+ ## Objective
446
+
447
+ [1 clear paragraph]
448
+
449
+ ## Tasks
450
+
451
+ - [ ] Task 1 → path/file.ts
452
+ - [ ] Task 2 → path/file.ts
453
+ - [ ] Task 3 (optional tests)
454
+
455
+ ## Key Rules
456
+
457
+ - [1-2 relevant ALWAYS rules]
458
+ - ❌ [1-2 relevant NEVER rules]
459
+ ```
460
+
461
+ **Structure for COMPLEX tasks** (~30-40 lines):
462
+
463
+ ```markdown
464
+ # [Type]: [Feature Name]
465
+
466
+ ## Context
467
+
468
+ **Source**: HU-001-002 | Roadmap 2.3 | Manual [+ DEVIATION if override]
469
+ **SP**: 5 | **Branch**: feature/user-auth | **Deps**: None
470
+
471
+ ## Objective
472
+
473
+ [1-2 clear paragraphs describing WHAT will be implemented]
474
+
475
+ ## Documentation Constraints
476
+
477
+ **Read**: ai-instructions.md, architecture.md, code-standards.md, [security.md]
478
+
479
+ **Key Rules**:
480
+
481
+ - ALWAYS: [List specific rules that apply]
482
+ - ❌ NEVER: [List specific prohibitions]
483
+ - 📐 Pattern: [Architectural pattern from docs]
484
+ - 📁 Location: [File structure from architecture.md]
485
+
486
+ ## Approach
487
+
488
+ **Layer**: [Data | Business Logic | API | UI]
489
+ **Files**: [List files to create/modify]
490
+ **Reference**: [Existing file to follow as pattern]
491
+
492
+ **Phases**:
493
+
494
+ 1. [Phase 1 description]
495
+ 2. [Phase 2 description]
496
+ 3. [Phase 3 description]
497
+ 4. [Phase 4 description]
498
+
499
+ ## Tasks
500
+
501
+ [SEE TASK GENERATION LOGIC BELOW]
502
+
503
+ ## Validation
504
+
505
+ - [ ] All NEVER/ALWAYS rules followed
506
+ - [ ] Tests pass (coverage per docs/testing.md)
507
+ - [ ] No hardcoded secrets
508
+ - [ ] Follows existing patterns
509
+ - [ ] [Add specific validations based on type]
510
+ ```
511
+
512
+ **Task Generation Logic:**
513
+
514
+ **IF source is User Story:**
515
+
516
+ ```python
517
+ tasks = read_user_story_tasks()
518
+ if tasks.are_detailed(): # Has: path, constraints, SP, deps
519
+ work_md.tasks = """
520
+ **Source**: planning/user-stories/EP-XXX/HU-XXX-XXX.md
521
+
522
+ Tasks already detailed in User Story (see linked file).
523
+
524
+ **Summary**: [N] tasks, [X] SP total
525
+ - [Brief phase breakdown]
526
+ """
527
+ else:
528
+ work_md.tasks = generate_detailed_tasks()
529
+ ```
530
+
531
+ **IF source is Roadmap:**
532
+
533
+ ```python
534
+ feature = read_roadmap_feature()
535
+ if feature.has_detailed_tasks():
536
+ work_md.tasks = """
537
+ **Source**: planning/roadmap.md Feature X.X
538
+
539
+ Tasks already detailed in Roadmap (see linked file).
540
+
541
+ **Summary**: [N] tasks, [X] SP total
542
+ """
543
+ else:
544
+ work_md.tasks = generate_detailed_tasks()
545
+ ```
546
+
547
+ **IF source is Manual OR tasks need expansion:**
548
+
549
+ Generate detailed tasks with this format:
550
+
551
+ ```markdown
552
+ ## Tasks
553
+
554
+ **Source**: Manual | Roadmap X.X (expanded) | HU-XXX-XXX (expanded)
555
+
556
+ - [ ] T001 [D] Create User entity → src/entities/User.ts • 1 SP
557
+ - Follow Product.ts pattern, hash passwords (bcrypt)
558
+ - [ ] T002 [L] UserService.register() → src/services/ • 2 SP
559
+ - Validate email, hash password, return JWT (deps: T001)
560
+ - [ ] T003 [A] POST /users/register → src/controllers/ • 1 SP
561
+ - Return 201, rate limit, follow api.md (deps: T002)
562
+ - [ ] T004 [T] Unit tests tests/services/ • 2 SP
563
+ - 80% coverage, edge cases (deps: T002)
564
+ ```
565
+
566
+ **Task Detail Requirements:**
567
+
568
+ - Specific file path
569
+ - Pattern/reference to follow
570
+ - Key constraints from docs
571
+ - Dependencies (if applicable)
572
+ - Story Points
573
+
574
+ **4. Generate status.json (ONLY for COMPLEX tasks)**
575
+
576
+ **IF complexity == "COMPLEX":**
577
+
578
+ Create: `.ai-flow/work/[task-name]/status.json`
579
+
580
+ ```json
581
+ {
582
+ "type": "feature|refactor|fix",
583
+ "source": "HU-001-002|roadmap-2.3|manual",
584
+ "deviation": false,
585
+ "progress": {
586
+ "totalTasks": 4,
587
+ "completedTasks": 0,
588
+ "percentage": 0
589
+ },
590
+ "git": {
591
+ "branchName": "feature/user-auth",
592
+ "commits": []
593
+ },
594
+ "timestamps": {
595
+ "created": "2025-12-22T23:00:00-03:00",
596
+ "lastUpdated": "2025-12-22T23:00:00-03:00"
597
+ },
598
+ "validation": {
599
+ "tests": { "executed": false },
600
+ "lint": { "executed": false }
601
+ }
602
+ }
603
+ ```
604
+
605
+ **5. User Approval**
606
+
607
+ Show work.md for review:
608
+
609
+ ```
610
+ 📄 Generated: .ai-flow/work/[task-name]/work.md
611
+
612
+ Review work.md? (Yes/Edit/No): _
613
+ ```
614
+
615
+ - **Yes**: Proceed to Phase 3
616
+ - **Edit**: Allow user to modify work.md, then re-read
617
+ - **No**: Cancel workflow
618
+
619
+ ---
620
+
621
+ ## Phase 3: Execution (Branch Creation)
622
+
623
+ **Upon confirmation to start implementation:**
624
+
625
+ **🛡️ CRITICAL: Protected Branch Check**
626
+
627
+ ```bash
628
+ git branch --show-current
629
+ git status --porcelain
630
+ ```
631
+
632
+ **If current branch is protected** (`main`, `master`, `develop`, `development`):
633
+
634
+ **A) If there are uncommitted changes:**
635
+
636
+ 1. **Analyze changes to generate branch name:**
637
+
638
+ ```bash
639
+ git status --porcelain
640
+ git diff --stat
641
+ ```
642
+
643
+ **Detection rules:**
644
+ - **New files** (untracked) `feature/`
645
+ - **Bug fixes** (keywords: fix, error, bug in commit message or file content) → `fix/`
646
+ - **Refactoring** (modifications without new features) → `refactor/`
647
+ - **Configuration/Dependencies** (package.json, tsconfig, .env, etc.) → `chore/`
648
+ - **Tests only** → `test/`
649
+ - **Documentation only** → `docs/`
650
+
651
+ **Naming strategy:**
652
+ - Extract most significant file/module name
653
+ - Remove extensions and path prefixes
654
+ - Convert to kebab-case
655
+ - Limit to 3-4 words max
656
+
657
+ **Examples:**
658
+
659
+ ```
660
+ src/services/UserService.ts (new) → feature/user-service
661
+ src/controllers/AuthController.ts (fix) → fix/auth-controller
662
+ src/utils/validator.ts (modified) → refactor/validator-utils
663
+ package.json + package-lock.json → chore/update-dependencies
664
+ src/services/User* + tests/ → feature/user-management
665
+ Multiple modules (auth + profile) → feature/auth-profile-integration
666
+ ```
667
+
668
+ 2. **Warn user:**
669
+
670
+ ```
671
+ ⚠️ Working on protected branch '[branch-name]' with uncommitted changes.
672
+
673
+ Analyzed changes:
674
+ - [file1] (new)
675
+ - [file2] (modified)
676
+ - [file3] (modified)
677
+ ... [N] more files
678
+
679
+ Detected type: [feature|fix|refactor|chore]
680
+ Suggested branch: [type]/[descriptive-slug]
681
+ ```
682
+
683
+ 3. **Offer options:**
684
+ - **A)** Create branch: `[type]/[suggested-name]` ⭐
685
+ - **B)** Edit branch name (user provides custom slug)
686
+ - **C)** Stash changes and continue: `git stash`
687
+ - **D)** Cancel
688
+
689
+ 4. If user chooses A:
690
+
691
+ ```bash
692
+ git checkout -b [type]/[suggested-name]
693
+ ```
694
+
695
+ Then show:
696
+
697
+ ```
698
+ ✅ Created and switched to '[type]/[suggested-name]'
699
+
700
+ Next steps:
701
+ 1. Run /flow-commit to commit these changes
702
+ 2. Return to protected branch: git checkout [protected-branch]
703
+ 3. Continue with /flow-work for new task
704
+
705
+ Or continue working on this branch if it's your intended work.
706
+ ```
707
+
708
+ 5. If user chooses B:
709
+ ```
710
+ Enter branch name (without type prefix): _
711
+ ```
712
+ Then create: `[detected-type]/[user-input]`
713
+
714
+ **B) If NO uncommitted changes:**
715
+
716
+ - Proceed normally - creating work branches FROM protected branches is correct workflow
717
+ - Protected branches serve as base for new work
718
+
719
+ 1. **Generate Branch Name**:
720
+ - `feature/[slug]`
721
+ - `refactor/[slug]`
722
+ - `fix/[slug]`
723
+ 2. **Execute**: `git checkout -b [branch-name]`.
724
+ 3. **Update `status.json`**: Record branch name and start timestamp.
725
+ 4. **Implementation**: Proceed according to the selected mode (Auto, Phase-by-phase, Task-by-task).
726
+ - Follow tasks in `work.md`
727
+ - Update task checkboxes as completed
728
+ - Update `status.json` progress
729
+
730
+ ---
731
+
732
+ ## Phase 4: Finalization (User-Controlled)
733
+
734
+ **⚠️ SKIP THIS PHASE IF complexity == "SIMPLE"** (already handled in Phase 1.5)
735
+
736
+ **Trigger Options:**
737
+
738
+ - User types: `/flow-work complete`
739
+ - All checkboxes in work.md marked complete
740
+ - User explicitly requests finalization
741
+
742
+ **CRITICAL: This phase requires EXPLICIT user confirmations at each step.**
743
+
744
+ ---
745
+
746
+ ### Step 1: Validation Check
747
+
748
+ ```
749
+ 🔍 Running validation...
750
+ ```
751
+
752
+ Execute:
753
+
754
+ ```bash
755
+ npm test # or project-specific test command
756
+ npm run lint # or project-specific lint command
757
+ ```
758
+
759
+ Show results:
760
+
761
+ ```
762
+ 📊 Validation Results
763
+
764
+ Tests: [✅ Passed | ❌ Failed (N tests)]
765
+ Lint: [✅ Clean | ⚠️ N warnings | ❌ N errors]
766
+ Coverage: [X%]
767
+
768
+ Proceed with finalization?
769
+
770
+ a) Yes, continue ⭐
771
+ b) No, let me fix issues
772
+ c) Skip validation (not recommended)
773
+
774
+ Your choice: _
775
+ ```
776
+
777
+ - **'b'**: Return to Phase 3 for fixes, END finalization
778
+ - **'c'**: Show warning, ask confirmation again, then continue
779
+ - **'a'**: Continue to Step 2
780
+
781
+ ---
782
+
783
+ ### Step 2: Source Documentation Update (Interactive)
784
+
785
+ **Detect source references:**
786
+
787
+ ```python
788
+ source = extract_from_work_md_or_status_json()
789
+ # Returns: "HU-001-002" | "roadmap-2.3" | "manual" | None
790
+ ```
791
+
792
+ **IF source exists (HU or roadmap):**
793
+
794
+ ```
795
+ 📚 Update Source Documentation?
796
+
797
+ Found:
798
+ - planning/roadmap.md → Feature 2.3 "User Authentication"
799
+ - planning/user-stories/EP-001/HU-001-002.md
800
+
801
+ What to update?
802
+
803
+ a) Update both ⭐
804
+ b) Update roadmap only
805
+ c) Update user story only
806
+ d) Skip (I'll update manually later)
807
+
808
+ Your choice: _
809
+ ```
810
+
811
+ **Execute selected updates:**
812
+
813
+ - Read files
814
+ - Mark checkboxes as complete: `- [ ]` → `- [x]`
815
+ - Add timestamp comment: `<!-- Completed: YYYY-MM-DD HH:MM -->`
816
+ - Save files
817
+
818
+ **Show confirmation:**
819
+
820
+ ```
821
+ ✅ Updated:
822
+ - planning/roadmap.md (Feature 2.3)
823
+ - planning/user-stories/EP-001/HU-001-002.md (5/5 DoD items)
824
+ ```
825
+
826
+ **IF update fails:**
827
+
828
+ ```
829
+ ❌ Failed to update [file]: [reason]
830
+
831
+ Options:
832
+ 1) Retry update
833
+ 2) Skip this file
834
+ 3) Cancel finalization
835
+
836
+ Your choice: _
837
+ ```
838
+
839
+ **IF source is "manual" or None:**
840
+
841
+ ```
842
+ ⏭️ No source documentation to update (manual task)
843
+ ```
844
+
845
+ ---
846
+
847
+ ### Step 3: Archiving Decision (Explicit Confirmation)
848
+
849
+ **Show current state:**
850
+
851
+ ```bash
852
+ git diff --stat
853
+ git log --oneline origin/[base-branch]..HEAD
854
+ ```
855
+
856
+ **Present archiving options:**
857
+
858
+ ```
859
+ 💾 Task Completion Options
860
+
861
+ Current work:
862
+ - Branch: [branch-name]
863
+ - Files changed: [N]
864
+ - Commits: [N]
865
+ - Duration: [X min]
866
+
867
+ What do you want to do?
868
+
869
+ a) Complete & Archive ⭐
870
+ → Record analytics, delete work files, clean state
871
+
872
+ b) Complete & Keep
873
+ Record analytics, rename folder to [task]-completed
874
+
875
+ c) Mark as Paused
876
+ → Keep work files for later resume
877
+
878
+ d) Cancel
879
+ Go back to editing
880
+
881
+ Your choice: _
882
+ ```
883
+
884
+ **IF 'a' (Complete & Archive):**
885
+
886
+ ```
887
+ ✅ Archiving task...
888
+ ```
889
+
890
+ 1. **Extract metadata:**
891
+
892
+ ```javascript
893
+ // IF complexity == "COMPLEX" (has status.json):
894
+ analytics = {
895
+ task: '[task-name]',
896
+ type: '[feature|refactor|fix]',
897
+ src: '[HU-001-002|roadmap-2.3|manual]',
898
+ dur: Math.round((completed - created) / 60000), // minutes
899
+ start: timestamps.created,
900
+ end: new Date().toISOString(),
901
+ tasks: progress.totalTasks,
902
+ sp: extract_story_points_from_work_md(),
903
+ commits: git.commits.length,
904
+ valid: validation.tests.passed && validation.lint.passed,
905
+ };
906
+
907
+ // IF complexity == "MEDIUM" (only work.md):
908
+ analytics = {
909
+ task: '[task-name]',
910
+ type: '[detected-from-folder-name]',
911
+ src: 'manual',
912
+ dur: estimate_duration_from_git_log(),
913
+ start: get_first_commit_timestamp(),
914
+ end: new Date().toISOString(),
915
+ tasks: count_checkboxes_in_work_md(),
916
+ sp: extract_story_points_from_work_md() || null,
917
+ commits: count_commits_in_branch(),
918
+ valid: validation_passed,
919
+ };
920
+ ```
921
+
922
+ 2. **Append to analytics:**
923
+
924
+ ```bash
925
+ echo '{json}' >> .ai-flow/archive/analytics.jsonl
926
+ ```
927
+
928
+ 3. **Delete work folder:**
929
+
930
+ ```bash
931
+ rm -rf .ai-flow/work/[task-name]/
932
+ ```
933
+
934
+ 4. **Show confirmation:**
935
+
936
+ ```
937
+ ✅ Task archived successfully
938
+
939
+ 📊 Analytics recorded:
940
+ - Duration: [X] min
941
+ - Story Points: [N]
942
+ - Commits: [N]
943
+ - Validation: [✅ Passed | ❌ Failed]
944
+ ```
945
+
946
+ **IF 'b' (Complete & Keep):**
947
+
948
+ 1. Record analytics (same as 'a')
949
+ 2. Rename folder:
950
+ ```bash
951
+ mv .ai-flow/work/[task] .ai-flow/work/[task]-completed/
952
+ ```
953
+ 3. Show: `✅ Task marked complete. Files kept in: .ai-flow/work/[task]-completed/`
954
+
955
+ **IF 'c' (Mark as Paused):**
956
+
957
+ 1. Add marker file:
958
+ ```bash
959
+ echo "Paused: $(date)" > .ai-flow/work/[task]/PAUSED
960
+ ```
961
+ 2. Show: `⏸️ Task paused. Resume with: /flow-work`
962
+ 3. **END finalization**
963
+
964
+ **IF 'd' (Cancel):**
965
+
966
+ 1. Show: `❌ Finalization cancelled. Task remains active.`
967
+ 2. **END finalization**
968
+
969
+ ---
970
+
971
+ ### Step 4: Ticket Summary (Optional)
972
+
973
+ **Only ask if task was archived (option 'a' or 'b'):**
974
+
975
+ ```
976
+ 📋 Generate ticket summary?
977
+
978
+ (For ClickUp, Jira, Linear, Asana, Trello, GitHub Projects, etc.)
979
+
980
+ y/n: _
981
+ ```
982
+
983
+ **IF 'y':**
984
+
985
+ 1. Check if template exists:
986
+
987
+ ```bash
988
+ [ -f .ai-flow/prompts/shared/task-summary-template.md ]
989
+ ```
990
+
991
+ 2. **IF template exists:**
992
+ - Read template
993
+ - Extract data from:
994
+ - Last line of `analytics.jsonl`
995
+ - Git stats: `git diff --stat`, `git log --oneline`
996
+ - Branch info
997
+ - Populate template with real data
998
+ - Show formatted summary
999
+
1000
+ 3. **IF template doesn't exist:**
1001
+ - Generate basic summary:
1002
+
1003
+ ```
1004
+ 📋 Task Summary
1005
+
1006
+ **Task**: [task-name]
1007
+ **Type**: [feature|refactor|fix]
1008
+ **Duration**: [X min]
1009
+ **Story Points**: [N]
1010
+ **Commits**: [N]
1011
+ **Branch**: [branch-name]
1012
+ **Status**: ✅ Complete
1013
+
1014
+ **Changes**:
1015
+ [git diff --stat output]
1016
+
1017
+ **Commits**:
1018
+ [git log --oneline output]
1019
+ ```
1020
+
1021
+ 4. Show: `📋 Copy the summary above to your ticket system`
1022
+
1023
+ **IF 'n':**
1024
+
1025
+ ```
1026
+ ⏭️ Skipping ticket summary
1027
+ ```
1028
+
1029
+ ---
1030
+
1031
+ ### Step 5: Git Push (Final Step)
1032
+
1033
+ ```
1034
+ 🚀 Push changes to remote?
1035
+
1036
+ git push origin [branch-name]
1037
+
1038
+ y/n: _
1039
+ ```
1040
+
1041
+ **IF 'y':**
1042
+
1043
+ ```bash
1044
+ git push origin [branch-name]
1045
+ ```
1046
+
1047
+ Show result:
1048
+
1049
+ ```
1050
+ ✅ Pushed to origin/[branch-name]
1051
+
1052
+ Next steps:
1053
+ - Create Pull Request/Merge Request
1054
+ - Request code review
1055
+ - Update project board
1056
+ ```
1057
+
1058
+ **IF 'n':**
1059
+
1060
+ ```
1061
+ ⏭️ Skipping push
1062
+
1063
+ ⚠️ Remember to push later:
1064
+ git push origin [branch-name]
1065
+ ```
1066
+
1067
+ ---
1068
+
1069
+ ### Finalization Complete
1070
+
1071
+ ```
1072
+ ✅ Task Finalization Complete
1073
+
1074
+ 📊 Summary:
1075
+ - [✅|⚠️] Validation passed
1076
+ - [✅|⏭️] Documentation updated
1077
+ - [✅|⏭️] Task archived
1078
+ - [✅|⏭️] Ticket summary generated
1079
+ - [✅|⏭️] Pushed to remote
1080
+
1081
+ Task: [task-name]
1082
+ Branch: [branch-name]
1083
+ Duration: [X min]
1084
+ Commits: [N]
1085
+
1086
+ 🎉 Great work!
1087
+ ```
1088
+
1089
+ **END WORKFLOW**
1090
+
1091
+ ---
1092
+
1093
+ ## Orchestration Rules
1094
+
1095
+ - **DRY Logic**: This file handles the high-level orchestration.
1096
+ - **Delegation**:
1097
+ - Detailed Feature logic → `@flow-work-feature.md`
1098
+ - Detailed Refactor logic → `@flow-work-refactor.md`
1099
+ - Detailed Fix logic → `@flow-work-fix.md`
1100
+ - Resume logic → `@flow-work-resume.md`
1101
+ - **State Persistence**: Always read/write to `.ai-flow/work/[name]/status.json` to maintain state across sessions.
1102
+
1103
+ ---
1104
+
1105
+ ## Phase 99: Informative Response
1106
+
1107
+ **This phase handles questions, reports, and analysis requests WITHOUT creating work files or branches.**
1108
+
1109
+ ### 1. Analyze Request Type
1110
+
1111
+ **Classify the informative request:**
1112
+
1113
+ - **Technical Question:** How does X work? Why do we use Y?
1114
+ - **Code Explanation:** Explain this component/service/function
1115
+ - **Architecture Review:** Show me the architecture/patterns
1116
+ - **Project Report:** Generate report on tests/coverage/dependencies
1117
+ - **File Location:** Where is X? Find Y
1118
+ - **Comparison:** Compare X vs Y
1119
+ - **Best Practices:** What's the best way to do X?
1120
+
1121
+ ### 2. Load Relevant Context
1122
+
1123
+ **Based on request type, load specific documentation:**
1124
+
1125
+ **IF question about architecture/patterns:**
1126
+
1127
+ - Read `ai-instructions.md` (NEVER/ALWAYS rules)
1128
+ - Read `docs/architecture.md` (patterns, layers, structure)
1129
+ - Search codebase for examples
1130
+
1131
+ **IF question about specific feature:**
1132
+
1133
+ - Search codebase for related files
1134
+ - Read relevant specs from `specs/`
1135
+ - Check `planning/roadmap.md` or User Stories
1136
+
1137
+ **IF report request:**
1138
+
1139
+ - Run appropriate analysis (coverage, dependencies, etc.)
1140
+ - Read relevant docs for context
1141
+ - Generate structured report
1142
+
1143
+ **IF file location request:**
1144
+
1145
+ - Search codebase with grep/semantic search
1146
+ - List relevant files with descriptions
1147
+
1148
+ ### 3. Provide Comprehensive Answer
1149
+
1150
+ **Structure your response:**
1151
+
1152
+ ```markdown
1153
+ ## [Question/Request]
1154
+
1155
+ ### Answer
1156
+
1157
+ [Detailed explanation with code examples if relevant]
1158
+
1159
+ ### Related Documentation
1160
+
1161
+ - [Link to relevant docs]
1162
+ - [Link to code examples]
1163
+
1164
+ ### Additional Context
1165
+
1166
+ [Architecture decisions, best practices, warnings]
1167
+
1168
+ ### Related User Stories/Features
1169
+
1170
+ [If applicable, link to planning docs]
1171
+ ```
1172
+
1173
+ **Guidelines:**
1174
+
1175
+ - **Be comprehensive:** Load all relevant context, don't guess
1176
+ - **Show examples:** Include actual code from the project
1177
+ - **Reference docs:** Link to `docs/`, `specs/`, `planning/`
1178
+ - **Explain trade-offs:** Why was X chosen over Y?
1179
+ - **Provide sources:** Always cite where information comes from
1180
+
1181
+ ### 4. Offer Follow-up Actions
1182
+
1183
+ **After answering, offer next steps:**
1184
+
1185
+ ```
1186
+ ✅ Answer provided.
1187
+
1188
+ Would you like me to:
1189
+ A) Implement changes based on this analysis
1190
+ B) Create a work plan for improvements
1191
+ C) Generate a spec/doc for this
1192
+ D) Nothing, just the answer
1193
+
1194
+ Your choice (or just ask another question): _
1195
+ ```
1196
+
1197
+ **IF user chooses A or B:**
1198
+
1199
+ - Return to Phase 0 with refined objective
1200
+ - Create appropriate work.md and proceed with execution
1201
+
1202
+ **IF user chooses C:**
1203
+
1204
+ - Create spec/doc file in appropriate location
1205
+ - Commit with descriptive message
1206
+
1207
+ **IF user chooses D or asks another question:**
1208
+
1209
+ - **END WORKFLOW** (no files created, no branches)
1210
+
1211
+ ### 5. Example Interactions
1212
+
1213
+ **Example 1: Technical Question**
1214
+
1215
+ ```
1216
+ User: /flow-work ¿cómo funciona la autenticación JWT?
1217
+
1218
+ Agent:
1219
+ 🔍 Detected: Informative request (question)
1220
+
1221
+ ## How JWT Authentication Works in This Project
1222
+
1223
+ ### Implementation
1224
+
1225
+ Our JWT implementation is in `src/services/auth.service.ts`:
1226
+ - Token generation: `generateToken(userId, email)`
1227
+ - Token validation: `verifyToken(token)`
1228
+ - Refresh mechanism: `refreshToken(refreshToken)`
1229
+
1230
+ [Shows actual code from project]
1231
+
1232
+ ### Flow
1233
+ 1. User logs in → POST /auth/login
1234
+ 2. Server validates credentials
1235
+ 3. Generates JWT with 1h expiration
1236
+ 4. Returns { accessToken, refreshToken }
1237
+ 5. Client includes token in Authorization header
1238
+
1239
+ ### Security Considerations
1240
+ - Tokens are signed with HS256
1241
+ - Secret stored in environment variable
1242
+ - Refresh tokens have 7-day expiration
1243
+ - No sensitive data in payload
1244
+
1245
+ ### Related Documentation
1246
+ - `specs/security.md` - Authentication specs
1247
+ - `docs/api.md` - Auth endpoints
1248
+
1249
+ Would you like me to implement any changes to this? (Y/N): _
1250
+ ```
1251
+
1252
+ **Example 2: Report Request**
1253
+
1254
+ ```
1255
+ User: /flow-work genera un informe de cobertura de tests
1256
+
1257
+ Agent:
1258
+ 🔍 Detected: Informative request (report)
1259
+
1260
+ ## Test Coverage Report
1261
+
1262
+ [Runs coverage analysis]
1263
+
1264
+ ### Overall Coverage: 78.5%
1265
+
1266
+ | Category | Coverage | Files |
1267
+ |-----------------|----------|-------|
1268
+ | Services | 92% | 12/13 |
1269
+ | Controllers | 85% | 8/10 |
1270
+ | Repositories | 95% | 10/10 |
1271
+ | Utilities | 45% | 5/11 |
1272
+
1273
+ ### Areas Needing Improvement
1274
+ 1. `src/utils/validators.ts` - 20% coverage
1275
+ 2. `src/utils/formatters.ts` - 35% coverage
1276
+ 3. `src/controllers/reports.controller.ts` - 60% coverage
1277
+
1278
+ ### Recommendation
1279
+ Focus on utilities first (high reusability, low coverage).
1280
+
1281
+ Would you like me to create a work plan to improve coverage? (Y/N): _
1282
+ ```
1283
+
1284
+ ---
1285
+
1286
+ **BEGIN EXECUTION when user runs `/flow-work [args]`**