ai-flow-dev 2.7.0 → 2.8.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 (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 +725 -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 +725 -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 +910 -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 +725 -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 +910 -0
  70. package/prompts/frontend/flow-release.md +519 -0
  71. package/prompts/frontend/flow-work-api.md +1540 -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 +1583 -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 +725 -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 +910 -0
  95. package/prompts/mobile/flow-release.md +751 -0
  96. package/prompts/mobile/flow-work-api.md +1493 -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 +1593 -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 +47 -47
@@ -1,359 +1,359 @@
1
- ## PHASE 0: Context Discovery (2-5 min)
2
-
3
- > **Order for this phase:** ALWAYS executed FIRST if an existing project is detected. Skip ONLY for new projects.
4
-
5
- > **📌 Scope-based behavior:**
6
- >
7
- > - **Interactive Mode:** Ask user for permission to scan files layer by layer.
8
- > - **Autonomous Mode:** Scan all layers automatically and present the final report.
9
-
10
- ### Objective
11
-
12
- Efficiently analyze existing desktop Java projects (NetBeans/Eclipse) using a **layered, incremental approach**.
13
-
14
- ---
15
-
16
- ## 🚫 Critical Exclusion Rules
17
-
18
- To avoid false-positive detections, **IGNORE** the following folders and files during all detection steps:
19
-
20
- - `.ai-flow/work/` (contains active development tasks)
21
- - `.ai-flow/archive/` (contains completed tasks)
22
- - `.agent/` (contains AI workflows)
23
- - `docs/` and `specs/` (if they contain AI Flow generated documentation)
24
- - `planning/` (if it contains AI Flow generated roadmap and user stories)
25
- - `project-brief.md`, `ai-instructions.md`, `AGENT.md`
26
-
27
- **A project is considered "Existing" only if it contains functional source code or framework configuration files OUTSIDE these excluded paths.**
28
-
29
- ---
30
-
31
- ## 0.0 Check for Existing Analysis (Layer 0)
32
-
33
- Check if `.ai-flow/cache/docs-analysis.json` exists and is fresh.
34
-
35
- **If found:**
36
- Ask user to use cached analysis or re-analyze.
37
-
38
- **If not found:**
39
- Proceed to Layer 1.
40
-
41
- ---
42
-
43
- // turbo
44
-
45
- ## ⚡ Layer 1: Fast Metadata Scan (10-20 seconds)
46
-
47
- **Purpose:** Detect IDE (NetBeans/Eclipse), UI framework (Swing/JavaFX/SWT), build tool, and existing AI configurations.
48
-
49
- ⭐ **Context Links:**
50
-
51
- - NetBeans: [nbproject/project.xml](file:///nbproject/project.xml) | [build.xml](file:///build.xml)
52
- - Eclipse: [.project](file:///.project) | [.classpath](file:///.classpath)
53
- - Maven: [pom.xml](file:///pom.xml)
54
- - Gradle: [build.gradle](file:///build.gradle) | [build.gradle.kts](file:///build.gradle.kts)
55
- - Java Sources: [src/](file:///src/) | [src/main/java/](file:///src/main/java/)
56
-
57
- ### 0.1.1 Desktop Project Detection
58
-
59
- **Action:** Detect IDE, UI framework, build system, and Java version.
60
-
61
- **NetBeans Project Detection:**
62
-
63
- Check for NetBeans-specific markers:
64
-
65
- - `nbproject/project.xml` - NetBeans project descriptor
66
- - `build.xml` - Ant build configuration
67
- - `manifest.mf` - JAR manifest file
68
- - `src/` with Java source files
69
- - `lib/` for dependencies (Ant-based projects)
70
-
71
- **Swing Detection (NetBeans):**
72
-
73
- - `.form` files in `src/` (NetBeans GUI Builder)
74
- - Java files with `JFrame`, `JPanel`, `JDialog` imports
75
- - GUI initialization code: `new JFrame()`, `SwingUtilities.invokeLater()`
76
-
77
- **JavaFX Detection (NetBeans):**
78
-
79
- - `.fxml` files (Scene Builder)
80
- - Java files with `javafx.*` imports
81
- - Main class extends `javafx.application.Application`
82
- - Maven/Gradle dependencies: `org.openjfx:javafx-*`
83
-
84
- **Eclipse Project Detection:**
85
-
86
- Check for Eclipse-specific markers:
87
-
88
- - `.project` - Eclipse project descriptor
89
- - `.classpath` - Classpath configuration
90
- - `.settings/` - IDE settings directory
91
- - `pom.xml` (Maven) or `build.gradle` (Gradle)
92
- - `src/main/java/` or `src/` for source code
93
-
94
- **Swing Detection (Eclipse):**
95
-
96
- - Java files with `JFrame`, `JPanel`, `JDialog` imports
97
- - WindowBuilder metadata (`.wbp-component-cache`)
98
- - GUI initialization code
99
-
100
- **JavaFX Detection (Eclipse):**
101
-
102
- - `.fxml` files
103
- - Java files with `javafx.*` imports
104
- - e(fx)clipse project nature in `.project`
105
- - Maven/Gradle dependencies: `org.openjfx:javafx-*`
106
-
107
- **SWT/JFace Detection (Eclipse only):**
108
-
109
- - Java files with `org.eclipse.swt.*` imports
110
- - Java files with `org.eclipse.jface.*` imports
111
- - Main class uses `Display`, `Shell`, `ApplicationWorkbenchAdvisor`
112
- - `.product` file (Eclipse RCP)
113
- - Maven/Gradle dependencies: `org.eclipse.platform:org.eclipse.swt.*`
114
-
115
- **Project Type Classification:**
116
-
117
- 1. **NetBeans Desktop (Swing):**
118
- - Has `.form` files
119
- - Swing imports present
120
- - No web/ directory
121
- - Build.xml with desktop-related targets
122
-
123
- 2. **NetBeans Desktop (JavaFX):**
124
- - Has `.fxml` files
125
- - JavaFX imports present
126
- - Main extends `Application`
127
- - Maven/Gradle with JavaFX deps
128
-
129
- 3. **Eclipse Desktop (Swing):**
130
- - Has `.project` file
131
- - Swing imports present
132
- - Maven/Gradle build
133
- - No web facets
134
-
135
- 4. **Eclipse Desktop (JavaFX):**
136
- - Has `.project` file
137
- - JavaFX imports and `.fxml` files
138
- - e(fx)clipse nature
139
- - Maven/Gradle with JavaFX deps
140
-
141
- 5. **Eclipse RCP (SWT):**
142
- - Has `.project` and `.product` files
143
- - SWT/JFace imports
144
- - Plugin dependencies
145
- - OSGi manifest
146
-
147
- **Build System Detection:**
148
-
149
- NetBeans:
150
-
151
- - Default: Apache Ant (`build.xml`)
152
- - Modern: Maven (`pom.xml`) or Gradle (`build.gradle`)
153
- - Hybrid: Ant + Ivy
154
-
155
- Eclipse:
156
-
157
- - Default: Maven (`pom.xml`) or Gradle (`build.gradle`)
158
- - Legacy: Ant with Eclipse compiler
159
- - PDE: Eclipse Plugin Development
160
-
161
- **Java Version Detection:**
162
-
163
- - NetBeans: Check `nbproject/project.properties` for `javac.source` and `javac.target`
164
- - Eclipse: Check `.classpath` for `org.eclipse.jdt.launching.JRE_CONTAINER`
165
- - Maven: Check `<maven.compiler.source>` and `<maven.compiler.target>`
166
- - Gradle: Check `sourceCompatibility` and `targetCompatibility`
167
-
168
- **Packaging Detection:**
169
-
170
- - JAR: Standard executable JAR with manifest
171
- - Native: jpackage, launch4j, exe4j
172
- - Installer: NSIS, Inno Setup, WiX
173
- - Mac: .app bundle, .dmg
174
- - Windows: .exe, .msi
175
- - Linux: .deb, .rpm, AppImage
176
-
177
- ---
178
-
179
- ## 🔍 Layer 2: Architecture Analysis (30-60 seconds)
180
-
181
- **Purpose:** Understand package structure, main entry points, UI components, and design patterns.
182
-
183
- ### 0.2.1 Source Code Structure
184
-
185
- Scan `src/` or `src/main/java/` for:
186
-
187
- 1. **Package Structure:**
188
- - Main package: `com.company.app`
189
- - UI packages: `ui`, `view`, `gui`, `swing`, `javafx`
190
- - Logic packages: `controller`, `service`, `business`
191
- - Data packages: `model`, `entity`, `dao`, `repository`
192
- - Util packages: `util`, `helper`, `common`
193
-
194
- 2. **Main Entry Point:**
195
- - NetBeans Swing: Class with `public static void main()` and `SwingUtilities.invokeLater()`
196
- - JavaFX: Class extends `javafx.application.Application` with `start(Stage)`
197
- - SWT: Class with `Display.getDefault()` and `Shell`
198
-
199
- 3. **UI Components:**
200
- - Forms/Windows: Count of `JFrame`, `JDialog`, `Stage`, `Shell` classes
201
- - Panels: Count of `JPanel`, `Pane`, `Composite` classes
202
- - Custom components: Subclasses of UI classes
203
-
204
- 4. **Design Patterns:**
205
- - MVC: Separate `model`, `view`, `controller` packages
206
- - MVP: Presenter classes
207
- - MVVM: ViewModel classes (JavaFX properties)
208
- - Observer: EventListeners, PropertyChangeListeners
209
- - Singleton: Database connections, controllers
210
-
211
- ### 0.2.2 Data Layer Detection
212
-
213
- Check for:
214
-
215
- - **JDBC:** `java.sql.*` imports, `Connection`, `PreparedStatement`
216
- - **JPA/Hibernate:** `javax.persistence.*` annotations, `persistence.xml`
217
- - **Embedded DB:** H2, Derby, SQLite dependencies
218
- - **External DB:** MySQL, PostgreSQL, Oracle drivers
219
- - **File Storage:** Serialization, XML, JSON, Properties files
220
- - **Preferences:** `java.util.prefs.Preferences`
221
-
222
- ### 0.2.3 External Libraries
223
-
224
- Check dependencies in:
225
-
226
- - Maven: `pom.xml` → `<dependencies>`
227
- - Gradle: `build.gradle` → `dependencies { }`
228
- - Ant: `lib/` folder or `ivy.xml`
229
-
230
- Common libraries:
231
-
232
- - Swing: Substance, FlatLaf, Darcula LAF
233
- - JavaFX: ControlsFX, JFoenix, TilesFX
234
- - SWT: Nebula, Opal
235
- - HTTP: Apache HttpClient, OkHttp
236
- - JSON: Jackson, Gson, org.json
237
- - Logging: Log4j, SLF4J, Logback
238
- - Testing: JUnit, Mockito, TestFX
239
-
240
- ---
241
-
242
- ## 🧩 Layer 3: Detailed Component Inventory (1-2 minutes)
243
-
244
- **Purpose:** List all UI screens, controllers, models, and business logic.
245
-
246
- ### 0.3.1 UI Screens Inventory
247
-
248
- For each UI screen, document:
249
-
250
- - File name: `MainWindow.java`, `LoginDialog.java`
251
- - Type: JFrame, JDialog, Stage, Shell
252
- - Purpose: Login, Dashboard, Settings, etc.
253
- - Layout: BorderLayout, GridBagLayout, VBox, GridLayout
254
- - Components: Buttons, text fields, tables, trees, etc.
255
-
256
- ### 0.3.2 Controllers/Presenters
257
-
258
- List all controller classes:
259
-
260
- - Naming pattern: `*Controller`, `*Presenter`, `*Handler`
261
- - Responsibilities: Business logic, event handling, data binding
262
-
263
- ### 0.3.3 Models/Entities
264
-
265
- List all data models:
266
-
267
- - POJOs: Simple Java objects
268
- - JPA Entities: Classes with `@Entity`
269
- - JavaFX Properties: ObservableList, SimpleStringProperty
270
- - Table models: AbstractTableModel, ObservableList
271
-
272
- ### 0.3.4 Services/Business Logic
273
-
274
- List service classes:
275
-
276
- - Naming pattern: `*Service`, `*Manager`, `*Facade`
277
- - Responsibilities: Data access, business rules, validation
278
-
279
- ---
280
-
281
- ## 📊 Phase 0 Output
282
-
283
- After all layers, generate a summary:
284
-
285
- ```
286
- 📋 PHASE 0 SUMMARY: Desktop Project Discovery
287
-
288
- **IDE & Build System:**
289
- - IDE: [NetBeans 17 / Eclipse 2024-03]
290
- - Build Tool: [Ant / Maven / Gradle]
291
- - Java Version: [Java 17]
292
-
293
- **UI Framework:**
294
- - Framework: [Swing / JavaFX / SWT]
295
- - Layout Manager: [BorderLayout / FXML / GridLayout]
296
- - LAF/Theme: [FlatLaf Dark / Modena / GTK]
297
-
298
- **Project Structure:**
299
- - Main Package: com.company.app
300
- - Entry Point: MainApp.java
301
- - UI Screens: 8 windows, 15 dialogs
302
- - Controllers: 12 classes
303
- - Models: 20 entities
304
- - Services: 8 classes
305
-
306
- **Data Layer:**
307
- - Database: [H2 embedded / PostgreSQL]
308
- - ORM: [JDBC / JPA + Hibernate]
309
- - Local Storage: Preferences API, JSON files
310
-
311
- **Dependencies:**
312
- - UI Libraries: FlatLaf, MigLayout
313
- - Data Libraries: H2, Hibernate
314
- - Utilities: Apache Commons, Jackson
315
-
316
- **Packaging:**
317
- - Output: Executable JAR
318
- - Native: jpackage (Windows .exe, Mac .app)
319
- - Installer: NSIS (Windows), DMG (Mac)
320
-
321
- Is this correct? (Yes/No)
322
- ```
323
-
324
- ---
325
-
326
- ### 📄 Cache Results
327
-
328
- Save analysis to `.ai-flow/cache/docs-analysis.json`:
329
-
330
- ```json
331
- {
332
- "timestamp": "2025-02-03T10:30:00Z",
333
- "projectType": "desktop",
334
- "ide": "netbeans",
335
- "uiFramework": "swing",
336
- "buildTool": "maven",
337
- "javaVersion": "17",
338
- "mainPackage": "com.company.app",
339
- "entryPoint": "MainApp.java",
340
- "screens": 8,
341
- "controllers": 12,
342
- "models": 20,
343
- "services": 8,
344
- "database": "h2",
345
- "orm": "hibernate",
346
- "dependencies": ["flatlaf", "miglayout", "h2", "hibernate", "jackson"]
347
- }
348
- ```
349
-
350
- ---
351
-
352
- **Next Phase:** Phase 1 - Discovery & UX Desktop (15-20 min)
353
-
354
- Read: `.ai-flow/prompts/desktop/flow-build-phase-1.md`
355
-
356
- ---
357
-
358
- **Last Updated:** 2025-02-03
359
- **Version:** 1.0.0
1
+ ## PHASE 0: Context Discovery (2-5 min)
2
+
3
+ > **Order for this phase:** ALWAYS executed FIRST if an existing project is detected. Skip ONLY for new projects.
4
+
5
+ > **📌 Scope-based behavior:**
6
+ >
7
+ > - **Interactive Mode:** Ask user for permission to scan files layer by layer.
8
+ > - **Autonomous Mode:** Scan all layers automatically and present the final report.
9
+
10
+ ### Objective
11
+
12
+ Efficiently analyze existing desktop Java projects (NetBeans/Eclipse) using a **layered, incremental approach**.
13
+
14
+ ---
15
+
16
+ ## 🚫 Critical Exclusion Rules
17
+
18
+ To avoid false-positive detections, **IGNORE** the following folders and files during all detection steps:
19
+
20
+ - `.ai-flow/work/` (contains active development tasks)
21
+ - `.ai-flow/archive/` (contains completed tasks)
22
+ - `.agent/` (contains AI workflows)
23
+ - `docs/` and `specs/` (if they contain AI Flow generated documentation)
24
+ - `planning/` (if it contains AI Flow generated roadmap and user stories)
25
+ - `project-brief.md`, `ai-instructions.md`, `AGENT.md`
26
+
27
+ **A project is considered "Existing" only if it contains functional source code or framework configuration files OUTSIDE these excluded paths.**
28
+
29
+ ---
30
+
31
+ ## 0.0 Check for Existing Analysis (Layer 0)
32
+
33
+ Check if `.ai-flow/cache/docs-analysis.json` exists and is fresh.
34
+
35
+ **If found:**
36
+ Ask user to use cached analysis or re-analyze.
37
+
38
+ **If not found:**
39
+ Proceed to Layer 1.
40
+
41
+ ---
42
+
43
+ // turbo
44
+
45
+ ## ⚡ Layer 1: Fast Metadata Scan (10-20 seconds)
46
+
47
+ **Purpose:** Detect IDE (NetBeans/Eclipse), UI framework (Swing/JavaFX/SWT), build tool, and existing AI configurations.
48
+
49
+ ⭐ **Context Links:**
50
+
51
+ - NetBeans: [nbproject/project.xml](file:///nbproject/project.xml) | [build.xml](file:///build.xml)
52
+ - Eclipse: [.project](file:///.project) | [.classpath](file:///.classpath)
53
+ - Maven: [pom.xml](file:///pom.xml)
54
+ - Gradle: [build.gradle](file:///build.gradle) | [build.gradle.kts](file:///build.gradle.kts)
55
+ - Java Sources: [src/](file:///src/) | [src/main/java/](file:///src/main/java/)
56
+
57
+ ### 0.1.1 Desktop Project Detection
58
+
59
+ **Action:** Detect IDE, UI framework, build system, and Java version.
60
+
61
+ **NetBeans Project Detection:**
62
+
63
+ Check for NetBeans-specific markers:
64
+
65
+ - `nbproject/project.xml` - NetBeans project descriptor
66
+ - `build.xml` - Ant build configuration
67
+ - `manifest.mf` - JAR manifest file
68
+ - `src/` with Java source files
69
+ - `lib/` for dependencies (Ant-based projects)
70
+
71
+ **Swing Detection (NetBeans):**
72
+
73
+ - `.form` files in `src/` (NetBeans GUI Builder)
74
+ - Java files with `JFrame`, `JPanel`, `JDialog` imports
75
+ - GUI initialization code: `new JFrame()`, `SwingUtilities.invokeLater()`
76
+
77
+ **JavaFX Detection (NetBeans):**
78
+
79
+ - `.fxml` files (Scene Builder)
80
+ - Java files with `javafx.*` imports
81
+ - Main class extends `javafx.application.Application`
82
+ - Maven/Gradle dependencies: `org.openjfx:javafx-*`
83
+
84
+ **Eclipse Project Detection:**
85
+
86
+ Check for Eclipse-specific markers:
87
+
88
+ - `.project` - Eclipse project descriptor
89
+ - `.classpath` - Classpath configuration
90
+ - `.settings/` - IDE settings directory
91
+ - `pom.xml` (Maven) or `build.gradle` (Gradle)
92
+ - `src/main/java/` or `src/` for source code
93
+
94
+ **Swing Detection (Eclipse):**
95
+
96
+ - Java files with `JFrame`, `JPanel`, `JDialog` imports
97
+ - WindowBuilder metadata (`.wbp-component-cache`)
98
+ - GUI initialization code
99
+
100
+ **JavaFX Detection (Eclipse):**
101
+
102
+ - `.fxml` files
103
+ - Java files with `javafx.*` imports
104
+ - e(fx)clipse project nature in `.project`
105
+ - Maven/Gradle dependencies: `org.openjfx:javafx-*`
106
+
107
+ **SWT/JFace Detection (Eclipse only):**
108
+
109
+ - Java files with `org.eclipse.swt.*` imports
110
+ - Java files with `org.eclipse.jface.*` imports
111
+ - Main class uses `Display`, `Shell`, `ApplicationWorkbenchAdvisor`
112
+ - `.product` file (Eclipse RCP)
113
+ - Maven/Gradle dependencies: `org.eclipse.platform:org.eclipse.swt.*`
114
+
115
+ **Project Type Classification:**
116
+
117
+ 1. **NetBeans Desktop (Swing):**
118
+ - Has `.form` files
119
+ - Swing imports present
120
+ - No web/ directory
121
+ - Build.xml with desktop-related targets
122
+
123
+ 2. **NetBeans Desktop (JavaFX):**
124
+ - Has `.fxml` files
125
+ - JavaFX imports present
126
+ - Main extends `Application`
127
+ - Maven/Gradle with JavaFX deps
128
+
129
+ 3. **Eclipse Desktop (Swing):**
130
+ - Has `.project` file
131
+ - Swing imports present
132
+ - Maven/Gradle build
133
+ - No web facets
134
+
135
+ 4. **Eclipse Desktop (JavaFX):**
136
+ - Has `.project` file
137
+ - JavaFX imports and `.fxml` files
138
+ - e(fx)clipse nature
139
+ - Maven/Gradle with JavaFX deps
140
+
141
+ 5. **Eclipse RCP (SWT):**
142
+ - Has `.project` and `.product` files
143
+ - SWT/JFace imports
144
+ - Plugin dependencies
145
+ - OSGi manifest
146
+
147
+ **Build System Detection:**
148
+
149
+ NetBeans:
150
+
151
+ - Default: Apache Ant (`build.xml`)
152
+ - Modern: Maven (`pom.xml`) or Gradle (`build.gradle`)
153
+ - Hybrid: Ant + Ivy
154
+
155
+ Eclipse:
156
+
157
+ - Default: Maven (`pom.xml`) or Gradle (`build.gradle`)
158
+ - Legacy: Ant with Eclipse compiler
159
+ - PDE: Eclipse Plugin Development
160
+
161
+ **Java Version Detection:**
162
+
163
+ - NetBeans: Check `nbproject/project.properties` for `javac.source` and `javac.target`
164
+ - Eclipse: Check `.classpath` for `org.eclipse.jdt.launching.JRE_CONTAINER`
165
+ - Maven: Check `<maven.compiler.source>` and `<maven.compiler.target>`
166
+ - Gradle: Check `sourceCompatibility` and `targetCompatibility`
167
+
168
+ **Packaging Detection:**
169
+
170
+ - JAR: Standard executable JAR with manifest
171
+ - Native: jpackage, launch4j, exe4j
172
+ - Installer: NSIS, Inno Setup, WiX
173
+ - Mac: .app bundle, .dmg
174
+ - Windows: .exe, .msi
175
+ - Linux: .deb, .rpm, AppImage
176
+
177
+ ---
178
+
179
+ ## 🔍 Layer 2: Architecture Analysis (30-60 seconds)
180
+
181
+ **Purpose:** Understand package structure, main entry points, UI components, and design patterns.
182
+
183
+ ### 0.2.1 Source Code Structure
184
+
185
+ Scan `src/` or `src/main/java/` for:
186
+
187
+ 1. **Package Structure:**
188
+ - Main package: `com.company.app`
189
+ - UI packages: `ui`, `view`, `gui`, `swing`, `javafx`
190
+ - Logic packages: `controller`, `service`, `business`
191
+ - Data packages: `model`, `entity`, `dao`, `repository`
192
+ - Util packages: `util`, `helper`, `common`
193
+
194
+ 2. **Main Entry Point:**
195
+ - NetBeans Swing: Class with `public static void main()` and `SwingUtilities.invokeLater()`
196
+ - JavaFX: Class extends `javafx.application.Application` with `start(Stage)`
197
+ - SWT: Class with `Display.getDefault()` and `Shell`
198
+
199
+ 3. **UI Components:**
200
+ - Forms/Windows: Count of `JFrame`, `JDialog`, `Stage`, `Shell` classes
201
+ - Panels: Count of `JPanel`, `Pane`, `Composite` classes
202
+ - Custom components: Subclasses of UI classes
203
+
204
+ 4. **Design Patterns:**
205
+ - MVC: Separate `model`, `view`, `controller` packages
206
+ - MVP: Presenter classes
207
+ - MVVM: ViewModel classes (JavaFX properties)
208
+ - Observer: EventListeners, PropertyChangeListeners
209
+ - Singleton: Database connections, controllers
210
+
211
+ ### 0.2.2 Data Layer Detection
212
+
213
+ Check for:
214
+
215
+ - **JDBC:** `java.sql.*` imports, `Connection`, `PreparedStatement`
216
+ - **JPA/Hibernate:** `javax.persistence.*` annotations, `persistence.xml`
217
+ - **Embedded DB:** H2, Derby, SQLite dependencies
218
+ - **External DB:** MySQL, PostgreSQL, Oracle drivers
219
+ - **File Storage:** Serialization, XML, JSON, Properties files
220
+ - **Preferences:** `java.util.prefs.Preferences`
221
+
222
+ ### 0.2.3 External Libraries
223
+
224
+ Check dependencies in:
225
+
226
+ - Maven: `pom.xml` → `<dependencies>`
227
+ - Gradle: `build.gradle` → `dependencies { }`
228
+ - Ant: `lib/` folder or `ivy.xml`
229
+
230
+ Common libraries:
231
+
232
+ - Swing: Substance, FlatLaf, Darcula LAF
233
+ - JavaFX: ControlsFX, JFoenix, TilesFX
234
+ - SWT: Nebula, Opal
235
+ - HTTP: Apache HttpClient, OkHttp
236
+ - JSON: Jackson, Gson, org.json
237
+ - Logging: Log4j, SLF4J, Logback
238
+ - Testing: JUnit, Mockito, TestFX
239
+
240
+ ---
241
+
242
+ ## 🧩 Layer 3: Detailed Component Inventory (1-2 minutes)
243
+
244
+ **Purpose:** List all UI screens, controllers, models, and business logic.
245
+
246
+ ### 0.3.1 UI Screens Inventory
247
+
248
+ For each UI screen, document:
249
+
250
+ - File name: `MainWindow.java`, `LoginDialog.java`
251
+ - Type: JFrame, JDialog, Stage, Shell
252
+ - Purpose: Login, Dashboard, Settings, etc.
253
+ - Layout: BorderLayout, GridBagLayout, VBox, GridLayout
254
+ - Components: Buttons, text fields, tables, trees, etc.
255
+
256
+ ### 0.3.2 Controllers/Presenters
257
+
258
+ List all controller classes:
259
+
260
+ - Naming pattern: `*Controller`, `*Presenter`, `*Handler`
261
+ - Responsibilities: Business logic, event handling, data binding
262
+
263
+ ### 0.3.3 Models/Entities
264
+
265
+ List all data models:
266
+
267
+ - POJOs: Simple Java objects
268
+ - JPA Entities: Classes with `@Entity`
269
+ - JavaFX Properties: ObservableList, SimpleStringProperty
270
+ - Table models: AbstractTableModel, ObservableList
271
+
272
+ ### 0.3.4 Services/Business Logic
273
+
274
+ List service classes:
275
+
276
+ - Naming pattern: `*Service`, `*Manager`, `*Facade`
277
+ - Responsibilities: Data access, business rules, validation
278
+
279
+ ---
280
+
281
+ ## 📊 Phase 0 Output
282
+
283
+ After all layers, generate a summary:
284
+
285
+ ```
286
+ 📋 PHASE 0 SUMMARY: Desktop Project Discovery
287
+
288
+ **IDE & Build System:**
289
+ - IDE: [NetBeans 17 / Eclipse 2024-03]
290
+ - Build Tool: [Ant / Maven / Gradle]
291
+ - Java Version: [Java 17]
292
+
293
+ **UI Framework:**
294
+ - Framework: [Swing / JavaFX / SWT]
295
+ - Layout Manager: [BorderLayout / FXML / GridLayout]
296
+ - LAF/Theme: [FlatLaf Dark / Modena / GTK]
297
+
298
+ **Project Structure:**
299
+ - Main Package: com.company.app
300
+ - Entry Point: MainApp.java
301
+ - UI Screens: 8 windows, 15 dialogs
302
+ - Controllers: 12 classes
303
+ - Models: 20 entities
304
+ - Services: 8 classes
305
+
306
+ **Data Layer:**
307
+ - Database: [H2 embedded / PostgreSQL]
308
+ - ORM: [JDBC / JPA + Hibernate]
309
+ - Local Storage: Preferences API, JSON files
310
+
311
+ **Dependencies:**
312
+ - UI Libraries: FlatLaf, MigLayout
313
+ - Data Libraries: H2, Hibernate
314
+ - Utilities: Apache Commons, Jackson
315
+
316
+ **Packaging:**
317
+ - Output: Executable JAR
318
+ - Native: jpackage (Windows .exe, Mac .app)
319
+ - Installer: NSIS (Windows), DMG (Mac)
320
+
321
+ Is this correct? (Yes/No)
322
+ ```
323
+
324
+ ---
325
+
326
+ ### 📄 Cache Results
327
+
328
+ Save analysis to `.ai-flow/cache/docs-analysis.json`:
329
+
330
+ ```json
331
+ {
332
+ "timestamp": "2025-02-03T10:30:00Z",
333
+ "projectType": "desktop",
334
+ "ide": "netbeans",
335
+ "uiFramework": "swing",
336
+ "buildTool": "maven",
337
+ "javaVersion": "17",
338
+ "mainPackage": "com.company.app",
339
+ "entryPoint": "MainApp.java",
340
+ "screens": 8,
341
+ "controllers": 12,
342
+ "models": 20,
343
+ "services": 8,
344
+ "database": "h2",
345
+ "orm": "hibernate",
346
+ "dependencies": ["flatlaf", "miglayout", "h2", "hibernate", "jackson"]
347
+ }
348
+ ```
349
+
350
+ ---
351
+
352
+ **Next Phase:** Phase 1 - Discovery & UX Desktop (15-20 min)
353
+
354
+ Read: `.ai-flow/prompts/desktop/flow-build-phase-1.md`
355
+
356
+ ---
357
+
358
+ **Last Updated:** 2025-02-03
359
+ **Version:** 1.0.0