ai-flow-dev 2.7.0 → 2.8.1

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 (171) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +573 -570
  3. package/package.json +74 -74
  4. package/prompts/backend/flow-build-phase-0.md +535 -535
  5. package/prompts/backend/flow-build-phase-1.md +626 -626
  6. package/prompts/backend/flow-build-phase-10.md +340 -340
  7. package/prompts/backend/flow-build-phase-2.md +573 -573
  8. package/prompts/backend/flow-build-phase-3.md +834 -834
  9. package/prompts/backend/flow-build-phase-4.md +554 -554
  10. package/prompts/backend/flow-build-phase-5.md +703 -703
  11. package/prompts/backend/flow-build-phase-6.md +524 -524
  12. package/prompts/backend/flow-build-phase-7.md +1001 -1001
  13. package/prompts/backend/flow-build-phase-8.md +1407 -1407
  14. package/prompts/backend/flow-build-phase-9.md +477 -477
  15. package/prompts/backend/flow-build.md +137 -137
  16. package/prompts/backend/flow-check-review.md +656 -20
  17. package/prompts/backend/flow-check-test.md +526 -14
  18. package/prompts/backend/flow-check.md +717 -67
  19. package/prompts/backend/flow-commit.md +88 -119
  20. package/prompts/backend/flow-docs-sync.md +354 -354
  21. package/prompts/backend/flow-finish.md +919 -0
  22. package/prompts/backend/flow-release.md +949 -0
  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 +1098 -1286
  28. package/prompts/desktop/flow-build-phase-0.md +359 -359
  29. package/prompts/desktop/flow-build-phase-1.md +295 -295
  30. package/prompts/desktop/flow-build-phase-10.md +357 -357
  31. package/prompts/desktop/flow-build-phase-2.md +282 -282
  32. package/prompts/desktop/flow-build-phase-3.md +291 -291
  33. package/prompts/desktop/flow-build-phase-4.md +308 -308
  34. package/prompts/desktop/flow-build-phase-5.md +269 -269
  35. package/prompts/desktop/flow-build-phase-6.md +350 -350
  36. package/prompts/desktop/flow-build-phase-7.md +297 -297
  37. package/prompts/desktop/flow-build-phase-8.md +541 -541
  38. package/prompts/desktop/flow-build-phase-9.md +439 -439
  39. package/prompts/desktop/flow-build.md +156 -156
  40. package/prompts/desktop/flow-check-review.md +656 -20
  41. package/prompts/desktop/flow-check-test.md +526 -14
  42. package/prompts/desktop/flow-check.md +717 -67
  43. package/prompts/desktop/flow-commit.md +88 -119
  44. package/prompts/desktop/flow-docs-sync.md +354 -354
  45. package/prompts/desktop/flow-finish.md +919 -0
  46. package/prompts/desktop/flow-release.md +662 -0
  47. package/prompts/desktop/flow-work-feature.md +61 -61
  48. package/prompts/desktop/flow-work-fix.md +46 -46
  49. package/prompts/desktop/flow-work-refactor.md +48 -48
  50. package/prompts/desktop/flow-work-resume.md +34 -34
  51. package/prompts/desktop/flow-work.md +1202 -1390
  52. package/prompts/frontend/flow-build-phase-0.md +425 -425
  53. package/prompts/frontend/flow-build-phase-1.md +626 -626
  54. package/prompts/frontend/flow-build-phase-10.md +33 -33
  55. package/prompts/frontend/flow-build-phase-2.md +573 -573
  56. package/prompts/frontend/flow-build-phase-3.md +782 -782
  57. package/prompts/frontend/flow-build-phase-4.md +554 -554
  58. package/prompts/frontend/flow-build-phase-5.md +703 -703
  59. package/prompts/frontend/flow-build-phase-6.md +524 -524
  60. package/prompts/frontend/flow-build-phase-7.md +1001 -1001
  61. package/prompts/frontend/flow-build-phase-8.md +872 -872
  62. package/prompts/frontend/flow-build-phase-9.md +94 -94
  63. package/prompts/frontend/flow-build.md +137 -137
  64. package/prompts/frontend/flow-check-review.md +656 -20
  65. package/prompts/frontend/flow-check-test.md +526 -14
  66. package/prompts/frontend/flow-check.md +717 -67
  67. package/prompts/frontend/flow-commit.md +88 -119
  68. package/prompts/frontend/flow-docs-sync.md +550 -550
  69. package/prompts/frontend/flow-finish.md +919 -0
  70. package/prompts/frontend/flow-release.md +519 -0
  71. package/prompts/frontend/flow-work-api.md +1547 -0
  72. package/prompts/frontend/flow-work-feature.md +61 -61
  73. package/prompts/frontend/flow-work-fix.md +38 -38
  74. package/prompts/frontend/flow-work-refactor.md +48 -48
  75. package/prompts/frontend/flow-work-resume.md +34 -34
  76. package/prompts/frontend/flow-work.md +1595 -1320
  77. package/prompts/mobile/flow-build-phase-0.md +425 -425
  78. package/prompts/mobile/flow-build-phase-1.md +626 -626
  79. package/prompts/mobile/flow-build-phase-10.md +32 -32
  80. package/prompts/mobile/flow-build-phase-2.md +573 -573
  81. package/prompts/mobile/flow-build-phase-3.md +782 -782
  82. package/prompts/mobile/flow-build-phase-4.md +554 -554
  83. package/prompts/mobile/flow-build-phase-5.md +703 -703
  84. package/prompts/mobile/flow-build-phase-6.md +524 -524
  85. package/prompts/mobile/flow-build-phase-7.md +1001 -1001
  86. package/prompts/mobile/flow-build-phase-8.md +888 -888
  87. package/prompts/mobile/flow-build-phase-9.md +90 -90
  88. package/prompts/mobile/flow-build.md +135 -135
  89. package/prompts/mobile/flow-check-review.md +656 -20
  90. package/prompts/mobile/flow-check-test.md +526 -14
  91. package/prompts/mobile/flow-check.md +717 -67
  92. package/prompts/mobile/flow-commit.md +88 -119
  93. package/prompts/mobile/flow-docs-sync.md +620 -620
  94. package/prompts/mobile/flow-finish.md +919 -0
  95. package/prompts/mobile/flow-release.md +751 -0
  96. package/prompts/mobile/flow-work-api.md +1500 -0
  97. package/prompts/mobile/flow-work-feature.md +61 -61
  98. package/prompts/mobile/flow-work-fix.md +46 -46
  99. package/prompts/mobile/flow-work-refactor.md +48 -48
  100. package/prompts/mobile/flow-work-resume.md +34 -34
  101. package/prompts/mobile/flow-work.md +1605 -1329
  102. package/prompts/shared/mermaid-guidelines.md +102 -102
  103. package/prompts/shared/scope-levels.md +114 -114
  104. package/prompts/shared/smart-skip-preflight.md +214 -214
  105. package/prompts/shared/story-points.md +55 -55
  106. package/prompts/shared/task-format.md +74 -74
  107. package/prompts/shared/task-summary-template.md +277 -277
  108. package/templates/AGENT.template.md +443 -443
  109. package/templates/backend/.clauderules.template +112 -112
  110. package/templates/backend/.cursorrules.template +102 -102
  111. package/templates/backend/README.template.md +2 -2
  112. package/templates/backend/ai-instructions.template.md +2 -2
  113. package/templates/backend/copilot-instructions.template.md +2 -2
  114. package/templates/backend/docs/api.template.md +320 -320
  115. package/templates/backend/docs/business-flows.template.md +97 -97
  116. package/templates/backend/docs/code-standards.template.md +2 -2
  117. package/templates/backend/docs/contributing.template.md +3 -3
  118. package/templates/backend/docs/data-model.template.md +520 -520
  119. package/templates/backend/docs/testing.template.md +2 -2
  120. package/templates/backend/project-brief.template.md +2 -2
  121. package/templates/backend/specs/configuration.template.md +2 -2
  122. package/templates/backend/specs/security.template.md +2 -2
  123. package/templates/desktop/.clauderules.template +112 -112
  124. package/templates/desktop/.cursorrules.template +102 -102
  125. package/templates/desktop/README.template.md +170 -170
  126. package/templates/desktop/ai-instructions.template.md +366 -366
  127. package/templates/desktop/copilot-instructions.template.md +140 -140
  128. package/templates/desktop/docs/docs/api.template.md +320 -320
  129. package/templates/desktop/docs/docs/architecture.template.md +724 -724
  130. package/templates/desktop/docs/docs/business-flows.template.md +102 -102
  131. package/templates/desktop/docs/docs/code-standards.template.md +792 -792
  132. package/templates/desktop/docs/docs/contributing.template.md +149 -149
  133. package/templates/desktop/docs/docs/data-model.template.md +520 -520
  134. package/templates/desktop/docs/docs/operations.template.md +720 -720
  135. package/templates/desktop/docs/docs/testing.template.md +722 -722
  136. package/templates/desktop/project-brief.template.md +150 -150
  137. package/templates/desktop/specs/specs/configuration.template.md +121 -121
  138. package/templates/desktop/specs/specs/security.template.md +392 -392
  139. package/templates/frontend/README.template.md +2 -2
  140. package/templates/frontend/ai-instructions.template.md +2 -2
  141. package/templates/frontend/docs/api-integration.template.md +362 -362
  142. package/templates/frontend/docs/components.template.md +2 -2
  143. package/templates/frontend/docs/error-handling.template.md +360 -360
  144. package/templates/frontend/docs/operations.template.md +107 -107
  145. package/templates/frontend/docs/performance.template.md +124 -124
  146. package/templates/frontend/docs/pwa.template.md +119 -119
  147. package/templates/frontend/docs/state-management.template.md +2 -2
  148. package/templates/frontend/docs/styling.template.md +2 -2
  149. package/templates/frontend/docs/testing.template.md +2 -2
  150. package/templates/frontend/project-brief.template.md +2 -2
  151. package/templates/frontend/specs/accessibility.template.md +95 -95
  152. package/templates/frontend/specs/configuration.template.md +2 -2
  153. package/templates/frontend/specs/security.template.md +175 -175
  154. package/templates/fullstack/README.template.md +252 -252
  155. package/templates/fullstack/ai-instructions.template.md +444 -444
  156. package/templates/fullstack/project-brief.template.md +157 -157
  157. package/templates/fullstack/specs/configuration.template.md +340 -340
  158. package/templates/mobile/README.template.md +167 -167
  159. package/templates/mobile/ai-instructions.template.md +196 -196
  160. package/templates/mobile/docs/app-store.template.md +135 -135
  161. package/templates/mobile/docs/architecture.template.md +63 -63
  162. package/templates/mobile/docs/native-features.template.md +94 -94
  163. package/templates/mobile/docs/navigation.template.md +59 -59
  164. package/templates/mobile/docs/offline-strategy.template.md +65 -65
  165. package/templates/mobile/docs/permissions.template.md +56 -56
  166. package/templates/mobile/docs/state-management.template.md +85 -85
  167. package/templates/mobile/docs/testing.template.md +109 -109
  168. package/templates/mobile/project-brief.template.md +69 -69
  169. package/templates/mobile/specs/build-configuration.template.md +91 -91
  170. package/templates/mobile/specs/deployment.template.md +92 -92
  171. package/templates/work.template.md +61 -47
@@ -1,1390 +1,1202 @@
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
- - **UI Component Explanation:** Explain this window/panel/dialog
1115
- - **Architecture Review:** Show me the application structure/threading model
1116
- - **Project Report:** Generate report on dependencies/JAR size/test coverage
1117
- - **File Location:** Where is X class? Find Y service
1118
- - **Comparison:** Compare Swing vs JavaFX approach
1119
- - **Best Practices:** What's the best way to handle X in desktop apps?
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` (MVC/MVP/MVVM, threading, layers)
1129
- - Search codebase for examples
1130
-
1131
- **IF question about specific component:**
1132
-
1133
- - Search codebase for class/form files
1134
- - Read relevant specs from `specs/`
1135
- - Check UI thread handling
1136
-
1137
- **IF report request:**
1138
-
1139
- - Run appropriate analysis (JAR size, dependencies, coverage)
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 classes 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 class/component examples]
1163
-
1164
- ### Additional Context
1165
-
1166
- [Architecture decisions, threading considerations, platform differences]
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 Swing chosen over JavaFX?
1179
- - **Threading safety:** Highlight EDT/Platform.runLater usage
1180
- - **Provide sources:** Always cite where information comes from
1181
-
1182
- ### 4. Offer Follow-up Actions
1183
-
1184
- **After answering, offer next steps:**
1185
-
1186
- ```
1187
- Answer provided.
1188
-
1189
- Would you like me to:
1190
- A) Implement changes based on this analysis
1191
- B) Create a work plan for improvements
1192
- C) Generate a spec/doc for this
1193
- D) Nothing, just the answer
1194
-
1195
- Your choice (or just ask another question): _
1196
- ```
1197
-
1198
- **IF user chooses A or B:**
1199
-
1200
- - Return to Phase 0 with refined objective
1201
- - Create appropriate work.md and proceed with execution
1202
-
1203
- **IF user chooses C:**
1204
-
1205
- - Create spec/doc file in appropriate location
1206
- - Commit with descriptive message
1207
-
1208
- **IF user chooses D or asks another question:**
1209
-
1210
- - **END WORKFLOW** (no files created, no branches)
1211
-
1212
- ### 5. Example Interactions
1213
-
1214
- **Example 1: Technical Question**
1215
-
1216
- ````
1217
- User: /flow-work ¿cómo funciona el threading model en Swing?
1218
-
1219
- Agent:
1220
- 🔍 Detected: Informative request (question)
1221
-
1222
- ## How Threading Works in This Desktop Application
1223
-
1224
- ### Swing Threading Model
1225
-
1226
- Our application follows Swing's single-threaded model:
1227
- - **EDT (Event Dispatch Thread):** All UI updates
1228
- - **Worker Threads:** Background tasks (DB, network, file I/O)
1229
-
1230
- ### Implementation Pattern
1231
-
1232
- ```java
1233
- // Example from UserService.java
1234
- public void loadUsersAsync(Consumer<List<User>> callback) {
1235
- // Background thread for DB query
1236
- SwingWorker<List<User>, Void> worker = new SwingWorker<>() {
1237
- @Override
1238
- protected List<User> doInBackground() throws Exception {
1239
- return userRepository.findAll(); // Runs on worker thread
1240
- }
1241
-
1242
- @Override
1243
- protected void done() {
1244
- try {
1245
- List<User> users = get();
1246
- SwingUtilities.invokeLater(() -> {
1247
- callback.accept(users); // Update UI on EDT
1248
- });
1249
- } catch (Exception e) {
1250
- handleError(e);
1251
- }
1252
- }
1253
- };
1254
- worker.execute();
1255
- }
1256
- ````
1257
-
1258
- ### Key Rules in This Project
1259
-
1260
- 1. **NEVER block EDT:** All long operations use SwingWorker
1261
- 2. **ALWAYS update UI on EDT:** Use `SwingUtilities.invokeLater()`
1262
- 3. **Use SwingWorker for progress:** `publish()` and `process()` for updates
1263
-
1264
- ### Common Patterns
1265
-
1266
- ```java
1267
- // Pattern 1: Simple async task
1268
- SwingUtilities.invokeLater(() -> {
1269
- label.setText("Updated"); // Safe: runs on EDT
1270
- });
1271
-
1272
- // Pattern 2: Background with progress
1273
- SwingWorker<Result, Integer> worker = new SwingWorker<>() {
1274
- @Override
1275
- protected Result doInBackground() {
1276
- for (int i = 0; i < 100; i++) {
1277
- // Long operation
1278
- publish(i); // Report progress
1279
- }
1280
- return result;
1281
- }
1282
-
1283
- @Override
1284
- protected void process(List<Integer> chunks) {
1285
- progressBar.setValue(chunks.get(chunks.size() - 1));
1286
- }
1287
- };
1288
- ```
1289
-
1290
- ### Where to Find Examples
1291
-
1292
- - `src/services/UserService.java` - Database operations
1293
- - `src/ui/MainWindow.java` - File loading
1294
- - `src/ui/ReportDialog.java` - Report generation
1295
-
1296
- ### Related Documentation
1297
-
1298
- - `ai-instructions.md` - Threading rules (NEVER block EDT)
1299
- - `docs/architecture.md` - Service layer patterns
1300
-
1301
- Would you like me to review other classes for threading issues? (Y/N): \_
1302
-
1303
- ```
1304
-
1305
- **Example 2: Report Request**
1306
-
1307
- ```
1308
-
1309
- User: /flow-work genera un informe de dependencias del proyecto
1310
-
1311
- Agent:
1312
- 🔍 Detected: Informative request (report)
1313
-
1314
- ## Project Dependencies Report
1315
-
1316
- [Analyzes pom.xml/build.gradle]
1317
-
1318
- ### Build System: Maven
1319
-
1320
- ### Java Version: 17
1321
-
1322
- ### Total Dependencies: 18 (12 compile, 6 test)
1323
-
1324
- #### Core Dependencies
1325
-
1326
- | Dependency | Version | Scope | Size | Purpose |
1327
- | ------------------- | ------- | ------- | ------ | ------------------ |
1328
- | H2 Database | 2.1.214 | runtime | 2.3 MB | Embedded database |
1329
- | FlatLaf | 3.2.1 | compile | 1.1 MB | Modern Look & Feel |
1330
- | Jackson Databind | 2.15.2 | compile | 1.5 MB | JSON processing |
1331
- | SLF4J + Logback | 2.0.9 | compile | 800 KB | Logging |
1332
- | Apache Commons Lang | 3.13.0 | compile | 640 KB | Utilities |
1333
- | Apache Commons IO | 2.13.0 | compile | 510 KB | File operations |
1334
-
1335
- #### Test Dependencies
1336
-
1337
- | Dependency | Version | Scope | Purpose |
1338
- | ------------- | ------- | ----- | ----------------- |
1339
- | JUnit Jupiter | 5.10.0 | test | Unit testing |
1340
- | AssertJ Core | 3.24.2 | test | Fluent assertions |
1341
- | AssertJ Swing | 3.17.1 | test | UI testing |
1342
- | Mockito | 5.5.0 | test | Mocking |
1343
-
1344
- ### JAR Size Analysis
1345
-
1346
- - Application JAR: 450 KB
1347
- - Dependencies: ~8 MB
1348
- - **Total**: ~8.5 MB
1349
-
1350
- ### Dependency Tree
1351
-
1352
- ```
1353
- com.example.app:1.0.0
1354
- ├── H2 Database:2.1.214
1355
- ├── FlatLaf:3.2.1
1356
- │ └── FlatLaf Core (transitive)
1357
- ├── Jackson Databind:2.15.2
1358
- │ ├── Jackson Core (transitive)
1359
- │ └── Jackson Annotations (transitive)
1360
- └── Logback:1.4.11
1361
- └── SLF4J API (transitive)
1362
- ```
1363
-
1364
- ### Security Report
1365
-
1366
- ✅ No known vulnerabilities (checked against CVE database)
1367
-
1368
- ### Recommendations
1369
-
1370
- 1. ✅ All dependencies up to date
1371
- 2. ✅ No deprecated libraries
1372
- 3. 💡 Consider ProGuard/R8 for distribution (reduce size by ~40%)
1373
- 4. 💡 H2 database could be replaced with SQLite (smaller: 1.2 MB)
1374
-
1375
- ### License Compliance
1376
-
1377
- - Apache 2.0: 14 dependencies ✅
1378
- - MIT: 3 dependencies ✅
1379
- - EPL 2.0: 1 dependency (H2) ✅
1380
-
1381
- All licenses compatible with commercial use.
1382
-
1383
- Would you like me to create a plan to reduce bundle size? (Y/N): \_
1384
-
1385
- ```
1386
-
1387
- ---
1388
-
1389
- **BEGIN EXECUTION when user runs `/flow-work [args]`**
1390
- ```
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
+ ---
743
+
744
+ ### Source Documentation Update (Interactive)
745
+
746
+ **Detect source references:**
747
+
748
+ ```python
749
+ source = extract_from_work_md_or_status_json()
750
+ # Returns: "HU-001-002" | "roadmap-2.3" | "manual" | None
751
+ ```
752
+
753
+ **IF source exists (HU or roadmap):**
754
+
755
+ ```
756
+ 📚 Update Source Documentation?
757
+
758
+ Found:
759
+ - planning/roadmap.md → Feature 2.3 "User Authentication"
760
+ - planning/user-stories/EP-001/HU-001-002.md
761
+
762
+ What to update?
763
+
764
+ a) Update both
765
+ b) Update roadmap only
766
+ c) Update user story only
767
+ d) Skip (I'll update manually later)
768
+
769
+ Your choice: _
770
+ ```
771
+
772
+ **Execute selected updates:**
773
+
774
+ - Read files
775
+ - Mark checkboxes as complete: `- [ ]` → `- [x]`
776
+ - Add timestamp comment: `<!-- Completed: YYYY-MM-DD HH:MM -->`
777
+ - Save files
778
+
779
+ **Show confirmation:**
780
+
781
+ ```
782
+ ✅ Updated:
783
+ - planning/roadmap.md (Feature 2.3)
784
+ - planning/user-stories/EP-001/HU-001-002.md (5/5 DoD items)
785
+ ```
786
+
787
+ **IF update fails:**
788
+
789
+ ```
790
+ ❌ Failed to update [file]: [reason]
791
+
792
+ Options:
793
+ 1) Retry update
794
+ 2) Skip this file
795
+ 3) Cancel finalization
796
+
797
+ Your choice: _
798
+ ```
799
+
800
+ **IF source is "manual" or None:**
801
+
802
+ ```
803
+ ⏭️ No source documentation to update (manual task)
804
+ ```
805
+
806
+ ---
807
+
808
+ ## Development Work Complete
809
+
810
+ Your code is ready for finalization. You have two options:
811
+
812
+ ### Option A: Run Full Finalization Now (Recommended) ⭐
813
+
814
+ Execute `/flow-finish` to complete all finalization steps automatically:
815
+
816
+ - **Smart Validation** - Runs tests + lint only if needed (or revalidates if requested)
817
+ - 📦 **Work Archiving** - Records analytics to `.ai-flow/archive/analytics.jsonl`, cleans workspace
818
+ - 🤖 **AI-Powered Summaries** - Generates professional PR/Jira descriptions (~1,200 tokens)
819
+ - 🚀 **Optional Push** - Pushes to remote with explicit confirmation
820
+
821
+ **To proceed:** Type `/flow-finish` in the chat
822
+
823
+ ---
824
+
825
+ ### Option B: Manual Finalization
826
+
827
+ If you prefer granular control over each step:
828
+
829
+ 1. **Validation:** `/flow-check` - Run comprehensive validation (tests + code review)
830
+ 2. **Commit:** `/flow-commit` - Create conventional commit with auto-generated message
831
+ 3. **Archive:** Manually record analytics and clean `.ai-flow/work/[task-name]/`
832
+ 4. **Push:** `git push origin [branch-name]` when ready
833
+
834
+ ---
835
+
836
+ **What would you like to do?**
837
+
838
+ ```
839
+ a) Run /flow-finish now (Recommended - comprehensive automation)
840
+ b) I'll handle finalization manually (granular control)
841
+ c) Tell me more about what /flow-finish does
842
+
843
+ Your choice: _
844
+ ```
845
+
846
+ **If 'a':** Execute `/flow-finish` immediately
847
+
848
+ **If 'b':** Show confirmation and end workflow:
849
+
850
+ ```
851
+ ✅ Understood. Development complete.
852
+
853
+ 📋 Manual finalization checklist:
854
+ - [ ] Run validation: /flow-check
855
+ - [ ] Commit changes: /flow-commit
856
+ - [ ] Archive work folder
857
+ - [ ] Push to remote
858
+ - [ ] Create PR/MR
859
+
860
+ 💡 Tip: You can run /flow-finish anytime to automate these steps.
861
+
862
+ 🎉 Great work!
863
+ ```
864
+
865
+ **If 'c':** Show detailed explanation:
866
+
867
+ ```
868
+ 📖 About /flow-finish
869
+
870
+ /flow-finish is an intelligent finalization workflow that:
871
+
872
+ 1️⃣ **Smart Validation (Step 1)**
873
+ - Detects if /flow-check was already run successfully
874
+ - Only re-runs if explicitly requested or validation failed
875
+ - Shows comprehensive test + lint results
876
+
877
+ 2️⃣ **Smart Commit (Step 2)**
878
+ - Detects uncommitted changes automatically
879
+ - Runs /flow-commit only if needed
880
+ - Generates conventional commit messages
881
+
882
+ 3️⃣ **Work Archiving (Step 3)**
883
+ - Extracts analytics: duration, story points, commits
884
+ - Appends to .ai-flow/archive/analytics.jsonl
885
+ - Deletes .ai-flow/work/[task-name]/ folder
886
+
887
+ 4️⃣ **AI Summaries (Step 4)**
888
+ - Reads git diff + commit history
889
+ - Generates professional PR description
890
+ - Generates ticket update (Jira/ClickUp/Linear)
891
+ - ~1,200 tokens, markdown-formatted
892
+
893
+ 5️⃣ **Optional Push (Step 5)**
894
+ - Always asks for confirmation
895
+ - Shows branch name and remote
896
+ - Never pushes without explicit approval
897
+
898
+ **Would you like to run it now?** (y/n): _
899
+ ```
900
+
901
+ **END WORKFLOW**
902
+
903
+ ---
904
+
905
+ ## Orchestration Rules
906
+
907
+ - **DRY Logic**: This file handles the high-level orchestration.
908
+ - **Delegation**:
909
+ - Detailed Feature logic → `@flow-work-feature.md`
910
+ - Detailed Refactor logic → `@flow-work-refactor.md`
911
+ - Detailed Fix logic → `@flow-work-fix.md`
912
+ - Resume logic → `@flow-work-resume.md`
913
+ - **State Persistence**: Always read/write to `.ai-flow/work/[name]/status.json` to maintain state across sessions.
914
+
915
+ ---
916
+
917
+ ## Phase 99: Informative Response
918
+
919
+ **This phase handles questions, reports, and analysis requests WITHOUT creating work files or branches.**
920
+
921
+ ### 1. Analyze Request Type
922
+
923
+ **Classify the informative request:**
924
+
925
+ - **Technical Question:** How does X work? Why do we use Y?
926
+ - **UI Component Explanation:** Explain this window/panel/dialog
927
+ - **Architecture Review:** Show me the application structure/threading model
928
+ - **Project Report:** Generate report on dependencies/JAR size/test coverage
929
+ - **File Location:** Where is X class? Find Y service
930
+ - **Comparison:** Compare Swing vs JavaFX approach
931
+ - **Best Practices:** What's the best way to handle X in desktop apps?
932
+
933
+ ### 2. Load Relevant Context
934
+
935
+ **Based on request type, load specific documentation:**
936
+
937
+ **IF question about architecture/patterns:**
938
+
939
+ - Read `ai-instructions.md` (NEVER/ALWAYS rules)
940
+ - Read `docs/architecture.md` (MVC/MVP/MVVM, threading, layers)
941
+ - Search codebase for examples
942
+
943
+ **IF question about specific component:**
944
+
945
+ - Search codebase for class/form files
946
+ - Read relevant specs from `specs/`
947
+ - Check UI thread handling
948
+
949
+ **IF report request:**
950
+
951
+ - Run appropriate analysis (JAR size, dependencies, coverage)
952
+ - Read relevant docs for context
953
+ - Generate structured report
954
+
955
+ **IF file location request:**
956
+
957
+ - Search codebase with grep/semantic search
958
+ - List relevant classes with descriptions
959
+
960
+ ### 3. Provide Comprehensive Answer
961
+
962
+ **Structure your response:**
963
+
964
+ ```markdown
965
+ ## [Question/Request]
966
+
967
+ ### Answer
968
+
969
+ [Detailed explanation with code examples if relevant]
970
+
971
+ ### Related Documentation
972
+
973
+ - [Link to relevant docs]
974
+ - [Link to class/component examples]
975
+
976
+ ### Additional Context
977
+
978
+ [Architecture decisions, threading considerations, platform differences]
979
+
980
+ ### Related User Stories/Features
981
+
982
+ [If applicable, link to planning docs]
983
+ ```
984
+
985
+ **Guidelines:**
986
+
987
+ - **Be comprehensive:** Load all relevant context, don't guess
988
+ - **Show examples:** Include actual code from the project
989
+ - **Reference docs:** Link to `docs/`, `specs/`, `planning/`
990
+ - **Explain trade-offs:** Why was Swing chosen over JavaFX?
991
+ - **Threading safety:** Highlight EDT/Platform.runLater usage
992
+ - **Provide sources:** Always cite where information comes from
993
+
994
+ ### 4. Offer Follow-up Actions
995
+
996
+ **After answering, offer next steps:**
997
+
998
+ ```
999
+ ✅ Answer provided.
1000
+
1001
+ Would you like me to:
1002
+ A) Implement changes based on this analysis
1003
+ B) Create a work plan for improvements
1004
+ C) Generate a spec/doc for this
1005
+ D) Nothing, just the answer
1006
+
1007
+ Your choice (or just ask another question): _
1008
+ ```
1009
+
1010
+ **IF user chooses A or B:**
1011
+
1012
+ - Return to Phase 0 with refined objective
1013
+ - Create appropriate work.md and proceed with execution
1014
+
1015
+ **IF user chooses C:**
1016
+
1017
+ - Create spec/doc file in appropriate location
1018
+ - Commit with descriptive message
1019
+
1020
+ **IF user chooses D or asks another question:**
1021
+
1022
+ - **END WORKFLOW** (no files created, no branches)
1023
+
1024
+ ### 5. Example Interactions
1025
+
1026
+ **Example 1: Technical Question**
1027
+
1028
+ ````
1029
+ User: /flow-work ¿cómo funciona el threading model en Swing?
1030
+
1031
+ Agent:
1032
+ 🔍 Detected: Informative request (question)
1033
+
1034
+ ## How Threading Works in This Desktop Application
1035
+
1036
+ ### Swing Threading Model
1037
+
1038
+ Our application follows Swing's single-threaded model:
1039
+ - **EDT (Event Dispatch Thread):** All UI updates
1040
+ - **Worker Threads:** Background tasks (DB, network, file I/O)
1041
+
1042
+ ### Implementation Pattern
1043
+
1044
+ ```java
1045
+ // Example from UserService.java
1046
+ public void loadUsersAsync(Consumer<List<User>> callback) {
1047
+ // Background thread for DB query
1048
+ SwingWorker<List<User>, Void> worker = new SwingWorker<>() {
1049
+ @Override
1050
+ protected List<User> doInBackground() throws Exception {
1051
+ return userRepository.findAll(); // Runs on worker thread
1052
+ }
1053
+
1054
+ @Override
1055
+ protected void done() {
1056
+ try {
1057
+ List<User> users = get();
1058
+ SwingUtilities.invokeLater(() -> {
1059
+ callback.accept(users); // Update UI on EDT
1060
+ });
1061
+ } catch (Exception e) {
1062
+ handleError(e);
1063
+ }
1064
+ }
1065
+ };
1066
+ worker.execute();
1067
+ }
1068
+ ````
1069
+
1070
+ ### Key Rules in This Project
1071
+
1072
+ 1. **NEVER block EDT:** All long operations use SwingWorker
1073
+ 2. **ALWAYS update UI on EDT:** Use `SwingUtilities.invokeLater()`
1074
+ 3. **Use SwingWorker for progress:** `publish()` and `process()` for updates
1075
+
1076
+ ### Common Patterns
1077
+
1078
+ ```java
1079
+ // Pattern 1: Simple async task
1080
+ SwingUtilities.invokeLater(() -> {
1081
+ label.setText("Updated"); // Safe: runs on EDT
1082
+ });
1083
+
1084
+ // Pattern 2: Background with progress
1085
+ SwingWorker<Result, Integer> worker = new SwingWorker<>() {
1086
+ @Override
1087
+ protected Result doInBackground() {
1088
+ for (int i = 0; i < 100; i++) {
1089
+ // Long operation
1090
+ publish(i); // Report progress
1091
+ }
1092
+ return result;
1093
+ }
1094
+
1095
+ @Override
1096
+ protected void process(List<Integer> chunks) {
1097
+ progressBar.setValue(chunks.get(chunks.size() - 1));
1098
+ }
1099
+ };
1100
+ ```
1101
+
1102
+ ### Where to Find Examples
1103
+
1104
+ - `src/services/UserService.java` - Database operations
1105
+ - `src/ui/MainWindow.java` - File loading
1106
+ - `src/ui/ReportDialog.java` - Report generation
1107
+
1108
+ ### Related Documentation
1109
+
1110
+ - `ai-instructions.md` - Threading rules (NEVER block EDT)
1111
+ - `docs/architecture.md` - Service layer patterns
1112
+
1113
+ Would you like me to review other classes for threading issues? (Y/N): \_
1114
+
1115
+ ```
1116
+
1117
+ **Example 2: Report Request**
1118
+
1119
+ ```
1120
+
1121
+ User: /flow-work genera un informe de dependencias del proyecto
1122
+
1123
+ Agent:
1124
+ 🔍 Detected: Informative request (report)
1125
+
1126
+ ## Project Dependencies Report
1127
+
1128
+ [Analyzes pom.xml/build.gradle]
1129
+
1130
+ ### Build System: Maven
1131
+
1132
+ ### Java Version: 17
1133
+
1134
+ ### Total Dependencies: 18 (12 compile, 6 test)
1135
+
1136
+ #### Core Dependencies
1137
+
1138
+ | Dependency | Version | Scope | Size | Purpose |
1139
+ | ------------------- | ------- | ------- | ------ | ------------------ |
1140
+ | H2 Database | 2.1.214 | runtime | 2.3 MB | Embedded database |
1141
+ | FlatLaf | 3.2.1 | compile | 1.1 MB | Modern Look & Feel |
1142
+ | Jackson Databind | 2.15.2 | compile | 1.5 MB | JSON processing |
1143
+ | SLF4J + Logback | 2.0.9 | compile | 800 KB | Logging |
1144
+ | Apache Commons Lang | 3.13.0 | compile | 640 KB | Utilities |
1145
+ | Apache Commons IO | 2.13.0 | compile | 510 KB | File operations |
1146
+
1147
+ #### Test Dependencies
1148
+
1149
+ | Dependency | Version | Scope | Purpose |
1150
+ | ------------- | ------- | ----- | ----------------- |
1151
+ | JUnit Jupiter | 5.10.0 | test | Unit testing |
1152
+ | AssertJ Core | 3.24.2 | test | Fluent assertions |
1153
+ | AssertJ Swing | 3.17.1 | test | UI testing |
1154
+ | Mockito | 5.5.0 | test | Mocking |
1155
+
1156
+ ### JAR Size Analysis
1157
+
1158
+ - Application JAR: 450 KB
1159
+ - Dependencies: ~8 MB
1160
+ - **Total**: ~8.5 MB
1161
+
1162
+ ### Dependency Tree
1163
+
1164
+ ```
1165
+ com.example.app:1.0.0
1166
+ ├── H2 Database:2.1.214
1167
+ ├── FlatLaf:3.2.1
1168
+ │ └── FlatLaf Core (transitive)
1169
+ ├── Jackson Databind:2.15.2
1170
+ │ ├── Jackson Core (transitive)
1171
+ │ └── Jackson Annotations (transitive)
1172
+ └── Logback:1.4.11
1173
+ └── SLF4J API (transitive)
1174
+ ```
1175
+
1176
+ ### Security Report
1177
+
1178
+ No known vulnerabilities (checked against CVE database)
1179
+
1180
+ ### Recommendations
1181
+
1182
+ 1. All dependencies up to date
1183
+ 2. ✅ No deprecated libraries
1184
+ 3. 💡 Consider ProGuard/R8 for distribution (reduce size by ~40%)
1185
+ 4. 💡 H2 database could be replaced with SQLite (smaller: 1.2 MB)
1186
+
1187
+ ### License Compliance
1188
+
1189
+ - Apache 2.0: 14 dependencies ✅
1190
+ - MIT: 3 dependencies
1191
+ - EPL 2.0: 1 dependency (H2)
1192
+
1193
+ All licenses compatible with commercial use.
1194
+
1195
+ Would you like me to create a plan to reduce bundle size? (Y/N): \_
1196
+
1197
+ ```
1198
+
1199
+ ---
1200
+
1201
+ **BEGIN EXECUTION when user runs `/flow-work [args]`**
1202
+ ```