ai-flow-dev 2.5.4 → 2.6.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 (45) hide show
  1. package/README.md +16 -13
  2. package/dist/cli.js +30 -2
  3. package/dist/cli.js.map +1 -1
  4. package/package.json +1 -1
  5. package/prompts/backend/flow-build-phase-0.md +115 -5
  6. package/prompts/backend/flow-build-phase-3.md +52 -0
  7. package/prompts/desktop/flow-build-phase-0.md +359 -0
  8. package/prompts/desktop/flow-build-phase-1.md +295 -0
  9. package/prompts/desktop/flow-build-phase-10.md +357 -0
  10. package/prompts/desktop/flow-build-phase-2.md +282 -0
  11. package/prompts/desktop/flow-build-phase-3.md +291 -0
  12. package/prompts/desktop/flow-build-phase-4.md +308 -0
  13. package/prompts/desktop/flow-build-phase-5.md +269 -0
  14. package/prompts/desktop/flow-build-phase-6.md +350 -0
  15. package/prompts/desktop/flow-build-phase-7.md +297 -0
  16. package/prompts/desktop/flow-build-phase-8.md +541 -0
  17. package/prompts/desktop/flow-build-phase-9.md +439 -0
  18. package/prompts/desktop/flow-build.md +156 -0
  19. package/prompts/desktop/flow-check-review.md +20 -0
  20. package/prompts/desktop/flow-check-test.md +14 -0
  21. package/prompts/desktop/flow-check.md +67 -0
  22. package/prompts/desktop/flow-commit.md +119 -0
  23. package/prompts/desktop/flow-docs-sync.md +354 -0
  24. package/prompts/desktop/flow-work-feature.md +61 -0
  25. package/prompts/desktop/flow-work-fix.md +46 -0
  26. package/prompts/desktop/flow-work-refactor.md +48 -0
  27. package/prompts/desktop/flow-work-resume.md +34 -0
  28. package/prompts/desktop/flow-work.md +1023 -0
  29. package/templates/AGENT.template.md +1 -1
  30. package/templates/desktop/.clauderules.template +112 -0
  31. package/templates/desktop/.cursorrules.template +102 -0
  32. package/templates/desktop/README.template.md +170 -0
  33. package/templates/desktop/ai-instructions.template.md +366 -0
  34. package/templates/desktop/copilot-instructions.template.md +140 -0
  35. package/templates/desktop/docs/docs/api.template.md +320 -0
  36. package/templates/desktop/docs/docs/architecture.template.md +724 -0
  37. package/templates/desktop/docs/docs/business-flows.template.md +102 -0
  38. package/templates/desktop/docs/docs/code-standards.template.md +792 -0
  39. package/templates/desktop/docs/docs/contributing.template.md +149 -0
  40. package/templates/desktop/docs/docs/data-model.template.md +520 -0
  41. package/templates/desktop/docs/docs/operations.template.md +720 -0
  42. package/templates/desktop/docs/docs/testing.template.md +722 -0
  43. package/templates/desktop/project-brief.template.md +150 -0
  44. package/templates/desktop/specs/specs/configuration.template.md +121 -0
  45. package/templates/desktop/specs/specs/security.template.md +392 -0
package/README.md CHANGED
@@ -4,13 +4,13 @@
4
4
 
5
5
  ## English
6
6
 
7
- Transform your idea into a production-ready, AI-documented project (backend, frontend, fullstack, or mobile) in minutes.
7
+ Transform your idea into a production-ready, AI-documented project (backend, frontend, fullstack, mobile, or desktop) in minutes.
8
8
 
9
9
  AI Flow is an interactive CLI that creates comprehensive professional documentation and provides an AI-powered development workflow from idea to production. Compatible with Claude, Copilot, Cursor, Gemini, Antigravity, and any AI assistant.
10
10
 
11
11
  **Key Features:**
12
12
 
13
- - 🚀 Complete professional documentation (Backend: 17 files, Frontend: 15 files, Mobile: 13 files, Fullstack: 30+ files)
13
+ - 🚀 Complete professional documentation (Backend: 14 files, Frontend: 15 files, Mobile: 13 files, Desktop: 14 files, Fullstack: 30+ files)
14
14
  - 🧠 **Smart Description Refinement:** Detects ambiguity and iteratively guides you to a professional project definition.
15
15
  - ⚡ **Two modes:** Interactive (90-120 min, full control) or Smart Auto-Suggest (15-25 min, 6 questions)
16
16
  - 🌍 Universal support - 12 languages, 60+ frameworks, 35+ ORMs (98% coverage)
@@ -36,11 +36,11 @@ ai-flow init .
36
36
 
37
37
  ## Español
38
38
 
39
- Transforma tu idea en un proyecto listo para producción y documentado para IA en minutos (backend, frontend, fullstack o mobile).
39
+ Transforma tu idea en un proyecto listo para producción y documentado para IA en minutos (backend, frontend, fullstack, mobile o desktop).
40
40
 
41
41
  **Características:**
42
42
 
43
- - 🚀 Documentación profesional completa (Backend: 17 archivos, Frontend: 15 archivos, Mobile: 13 archivos, Fullstack: 30+ archivos)
43
+ - 🚀 Documentación profesional completa (Backend: 14 archivos, Frontend: 15 archivos, Mobile: 13 archivos, Desktop: 14 archivos, Fullstack: 30+ archivos)
44
44
  - 🧠 **Refinamiento Inteligente:** Detecta ambigüedad y te guía iterativamente hacia una descripción profesional.
45
45
  - ⚡ **Dos modos:** Interactivo (90-120 min, control total) o Auto-Sugerido (15-25 min, 6 preguntas)
46
46
  - 🌍 Soporte universal - 12 lenguajes, 60+ frameworks, 35+ ORMs
@@ -65,10 +65,10 @@ ai-flow init .
65
65
 
66
66
  ## Português
67
67
 
68
- Transforme sua ideia em um projeto pronto para produção e documentado para IA em minutos.
68
+ Transforme sua ideia em um projeto pronto para produção e documentado para IA em minutos (backend, frontend, fullstack, mobile ou desktop).
69
69
  **Características:**
70
70
 
71
- - 🚀 Documentação profissional completa (Backend: 17 arquivos, Frontend: 15 arquivos, Mobile: 13 arquivos, Fullstack: 30+ arquivos)
71
+ - 🚀 Documentação profissional completa (Backend: 14 arquivos, Frontend: 15 arquivos, Mobile: 13 arquivos, Desktop: 14 arquivos, Fullstack: 30+ arquivos)
72
72
  - 🚀 **Modo Agente:** Os assistentes de IA agora priorizam a execução proativa para todos os comandos `/flow-`.
73
73
  - 🧠 **Refinamento Inteligente:** Detecta ambiguidade e guia você para uma descrição profissional.
74
74
  - ⚡ **Dois modos:** Interactivo (90-120 min, controle total) ou Auto-Sugestão (15-25 min, 6 perguntas)
@@ -93,7 +93,7 @@ ai-flow init .
93
93
 
94
94
  ## 🎯 What is AI Flow?
95
95
 
96
- AI Flow is an interactive CLI tool that generates comprehensive professional documentation and provides an AI-powered development workflow throughout your project lifecycle (backend, frontend, fullstack, or mobile). It creates the foundation for AI-assisted development with any AI tool, from initial setup to feature development and maintenance.
96
+ AI Flow is an interactive CLI tool that generates comprehensive professional documentation and provides an AI-powered development workflow throughout your project lifecycle (backend, frontend, fullstack, mobile, or desktop). It creates the foundation for AI-assisted development with any AI tool, from initial setup to feature development and maintenance.
97
97
 
98
98
  **The Problem:** Starting a project requires hours of documentation setup. Existing projects lack proper AI-ready documentation. Without proper docs, AI assistants work inefficiently.
99
99
  **The Solution:**
@@ -108,7 +108,7 @@ The result is interconnected documentation that guides AI assistants and human d
108
108
 
109
109
  - 🌍 **Universal Support** - 12 languages, 60+ frameworks, 35+ ORMs (98% coverage)
110
110
  - 🤖 **AI-Agnostic** - Claude, Copilot, Cursor, Gemini, Antigravity, any AI tool
111
- - 📚 **Professional Documentation** - Backend: 17 files, Frontend: 15 files, Mobile: 13 files, Fullstack: 30+ files
111
+ - 📚 **Professional Documentation** - Backend: 17 files, Frontend: 15 files, Mobile: 13 files, Desktop: 13 files, Fullstack: 30+ files
112
112
  - 🧠 **Smart Description Refinement** - AI detects vague inputs and helps you rich the context (WHO, WHAT, WHY).
113
113
  - ⚡ **Two Questionnaire Modes:**
114
114
  - **Interactive Mode:** Full control, all phases (90-120 min)
@@ -187,7 +187,7 @@ $ ai-flow check
187
187
 
188
188
  ```bash
189
189
  --ai <tool> # claude, cursor, copilot, gemini, antigravity, all (interactive if omitted)
190
- --type <type> # backend, frontend, mobile, fullstack (interactive if omitted)
190
+ --type <type> # backend, frontend, mobile, desktop, fullstack (interactive if omitted)
191
191
  --name <name> # Project name (interactive if omitted)
192
192
  --description <desc> # Project description (interactive if omitted)
193
193
  --verbose # Detailed logging (init only)
@@ -215,6 +215,9 @@ ai-flow init . --ai claude --type fullstack
215
215
  # Mobile project example
216
216
  ai-flow init . --ai claude --type mobile
217
217
 
218
+ # Desktop project example (NetBeans/Eclipse)
219
+ ai-flow init . --ai claude --type desktop
220
+
218
221
  # Enable verbose output (detailed logging) - only for init command
219
222
  ai-flow init . --verbose
220
223
 
@@ -273,7 +276,7 @@ After initialization, use these slash commands in your AI tool:
273
276
 
274
277
  **Documentation & Build:**
275
278
 
276
- - `/flow-build` - Flujo completo: todas las fases en orden (11 fases backend, 11 frontend/mobile)
279
+ - `/flow-build` - Flujo completo: todas las fases en orden (11 fases backend, 11 frontend/mobile/desktop)
277
280
  - `/flow-build fase N` - Ejecutar fase específica (ver lista de fases abajo)
278
281
  - `/flow-work` - Development orchestrator (feature, refactor, fix, resume)
279
282
  - `/flow-check` - Combined code review & testing workflow
@@ -294,7 +297,7 @@ After initialization, use these slash commands in your AI tool:
294
297
  - `/flow-build fase 9` - Implementation Roadmap (opcional)
295
298
  - `/flow-build fase 10` - User Stories Generation (opcional, requiere Fase 9)
296
299
 
297
- **Fases disponibles (Frontend/Mobile):**
300
+ **Fases disponibles (Frontend/Mobile/Desktop):**
298
301
 
299
302
  - `/flow-build fase 0` - Context Discovery (solo proyectos existentes)
300
303
  - `/flow-build fase 1` - Discovery & UX / Platform Selection
@@ -501,7 +504,7 @@ AI Flow follows: **Documentation as Executable Code**
501
504
 
502
505
  **Perfect for:**
503
506
 
504
- - ✅ Backend/frontend/mobile developers starting new projects
507
+ - ✅ Backend/frontend/mobile/desktop developers starting new projects
505
508
  - ✅ Teams with existing codebases needing AI-ready documentation
506
509
  - ✅ Projects requiring comprehensive documentation
507
510
  - ✅ Teams adopting AI-assisted development
@@ -516,7 +519,7 @@ AI Flow follows: **Documentation as Executable Code**
516
519
 
517
520
  ## 🚀 Roadmap
518
521
 
519
- - [x] Backend, frontend, mobile, fullstack support ✅
522
+ - [x] Backend, frontend, mobile, desktop, fullstack support ✅
520
523
  - [ ] Template customization
521
524
  - [ ] VS Code extension
522
525
  - [ ] Interactive web UI
package/dist/cli.js CHANGED
@@ -76,6 +76,22 @@ const PROJECT_PHASES = {
76
76
  'fase 10: User Stories Generation (opcional)',
77
77
  ],
78
78
  },
79
+ desktop: {
80
+ label: 'Desktop',
81
+ phases: [
82
+ 'fase 0: Context Discovery (proyectos existentes)',
83
+ 'fase 1: Discovery & UX Desktop',
84
+ 'fase 2: UI Components (Swing/JavaFX/SWT)',
85
+ 'fase 3: Architecture Desktop',
86
+ 'fase 4: Data & Storage',
87
+ 'fase 5: Code Standards',
88
+ 'fase 6: Testing',
89
+ 'fase 7: Packaging & Deployment',
90
+ 'fase 8: Project Setup & Final Docs',
91
+ 'fase 9: Implementation Roadmap (opcional)',
92
+ 'fase 10: User Stories Generation (opcional)',
93
+ ],
94
+ },
79
95
  };
80
96
  // Read package.json for version (Sync for top-level usage)
81
97
  const packageJsonPath = path.join(ROOT_DIR, 'package.json');
@@ -108,6 +124,8 @@ function getProjectTypeLabel(type) {
108
124
  return 'Full Stack';
109
125
  case 'mobile':
110
126
  return 'Mobile';
127
+ case 'desktop':
128
+ return 'Desktop';
111
129
  default:
112
130
  return type;
113
131
  }
@@ -232,10 +250,10 @@ async function selectAITool(providedTool) {
232
250
  }
233
251
  async function selectProjectType(providedType) {
234
252
  if (providedType) {
235
- const valid = ['backend', 'frontend', 'fullstack', 'mobile'];
253
+ const valid = ['backend', 'frontend', 'fullstack', 'mobile', 'desktop'];
236
254
  if (!valid.includes(providedType)) {
237
255
  console.error(chalk.red(`❌ Invalid project type: ${providedType}`));
238
- console.log(chalk.yellow('Available options: backend, frontend, fullstack, mobile'));
256
+ console.log(chalk.yellow('Available options: backend, frontend, fullstack, mobile, desktop'));
239
257
  process.exit(EXIT.INVALID_ARGS);
240
258
  }
241
259
  return providedType;
@@ -249,6 +267,7 @@ async function selectProjectType(providedType) {
249
267
  { name: '🎨 Frontend Application', value: 'frontend' },
250
268
  { name: '🚀 Full Stack Application', value: 'fullstack' },
251
269
  { name: '📱 Mobile Application', value: 'mobile' },
270
+ { name: '🖥️ Desktop Application', value: 'desktop' },
252
271
  ],
253
272
  default: 'backend',
254
273
  });
@@ -278,6 +297,7 @@ async function createBootstrapStructure(targetPath, aiTools, projectType = 'back
278
297
  backend: projectType === 'backend' || projectType === 'fullstack',
279
298
  frontend: projectType === 'frontend' || projectType === 'fullstack',
280
299
  mobile: projectType === 'mobile',
300
+ desktop: projectType === 'desktop',
281
301
  };
282
302
  await fs.writeJSON(path.join(bootstrapPath, 'core', 'config.json'), config, { spaces: 2 });
283
303
  spinner.succeed('Created .ai-flow structure');
@@ -344,6 +364,11 @@ async function copyTemplates(targetPath, projectType = 'backend', aiTools = [],
344
364
  source: path.join(ROOT_DIR, 'templates', 'mobile'),
345
365
  base: path.join(ROOT_DIR, 'templates', 'mobile'),
346
366
  });
367
+ else if (projectType === 'desktop')
368
+ templateSources.push({
369
+ source: path.join(ROOT_DIR, 'templates', 'desktop'),
370
+ base: path.join(ROOT_DIR, 'templates', 'desktop'),
371
+ });
347
372
  for (const { source, base } of templateSources) {
348
373
  for (const file of await walk(source)) {
349
374
  const relPath = path.relative(base, file);
@@ -405,6 +430,9 @@ async function setupSlashCommands(targetPath, aiTools, projectType = 'backend',
405
430
  else if (projectType === 'mobile') {
406
431
  promptSources.push({ dir: 'mobile' });
407
432
  }
433
+ else if (projectType === 'desktop') {
434
+ promptSources.push({ dir: 'desktop' });
435
+ }
408
436
  for (const { dir, prefix } of promptSources) {
409
437
  const promptsSource = path.join(ROOT_DIR, 'prompts', dir);
410
438
  const allFiles = await fs.readdir(promptsSource);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-flow-dev",
3
- "version": "2.5.4",
3
+ "version": "2.6.0",
4
4
  "description": "AI-powered development workflow from idea to production. Generate specs, plan features, and build with AI assistance throughout your project lifecycle.",
5
5
  "type": "module",
6
6
  "main": "dist/cli.js",
@@ -3,16 +3,20 @@
3
3
  > **Order for this phase:** ALWAYS executed FIRST if an existing project is detected. Skip ONLY for new projects.
4
4
 
5
5
  > **📌 Scope-based behavior:**
6
+ >
6
7
  > - **Interactive Mode:** Ask user for permission to scan files layer by layer.
7
8
  > - **Autonomous Mode:** Scan all layers automatically and present the final report.
8
9
 
9
10
  ### Objective
11
+
10
12
  Efficiently analyze existing projects using a **layered, incremental approach**.
11
13
 
12
14
  ---
13
15
 
14
16
  ## 🚫 Critical Exclusion Rules
17
+
15
18
  To avoid false-positive detections, **IGNORE** the following folders and files during all detection steps:
19
+
16
20
  - `.ai-flow/work/` (contains active development tasks)
17
21
  - `.ai-flow/archive/` (contains completed tasks)
18
22
  - `.agent/` (contains AI workflows)
@@ -37,33 +41,113 @@ Proceed to Layer 1.
37
41
  ---
38
42
 
39
43
  // turbo
44
+
40
45
  ## ⚡ Layer 1: Fast Metadata Scan (10-20 seconds)
41
46
 
42
47
  **Purpose:** Detect framework, language, build tool, and existing AI configurations.
43
48
 
44
49
  ⭐ **Context Links:**
50
+
45
51
  - Node.js: [package.json](file:///package.json)
46
52
  - Python: [requirements.txt](file:///requirements.txt) | [pyproject.toml](file:///pyproject.toml)
47
53
  - PHP: [composer.json](file:///composer.json)
48
54
  - Go: [go.mod](file:///go.mod)
49
- - Java: [pom.xml](file:///pom.xml) | [build.gradle](file:///build.gradle)
55
+ - Java: [pom.xml](file:///pom.xml) | [build.gradle](file:///build.gradle) | [build.xml](file:///build.xml)
56
+ - NetBeans: [nbproject/project.xml](file:///nbproject/project.xml)
57
+ - Eclipse: [.project](file:///.project) | [.classpath](file:///.classpath)
50
58
 
51
59
  ### 0.1.1 Universal Tech Stack Detection
60
+
52
61
  **Action:** Use your internal knowledge to detect the language and framework by scanning the root configuration files (package.json, pyproject.toml, etc.).
53
62
 
54
63
  **Detect (but don't be limited to):**
64
+
55
65
  - **Node.js:** NestJS, Express, Fastify, etc.
56
66
  - **Python:** FastAPI, Django, Flask, etc.
57
67
  - **PHP:** Laravel, Symfony, etc.
58
- - **Java/Kotlin:** Spring Boot, Micronaut, Ktor, etc.
68
+ - **Java/Kotlin:** Spring Boot, Micronaut, Ktor, NetBeans (Ant), Eclipse (Maven/Gradle), etc.
59
69
  - **Go:** Gin, Echo, Fiber, etc.
60
70
  - **C#/.NET, Ruby, Rust, Elixir.**
61
71
 
72
+ **NetBeans Project Detection (Java):**
73
+
74
+ Check for NetBeans-specific markers:
75
+
76
+ - `nbproject/project.xml` - NetBeans project descriptor
77
+ - `build.xml` - Ant build configuration
78
+ - `manifest.mf` - JAR manifest file
79
+ - `src/` with Java source files
80
+ - `lib/` for dependencies (optional)
81
+
82
+ **Eclipse Project Detection (Java):**
83
+
84
+ Check for Eclipse-specific markers:
85
+
86
+ - `.project` - Eclipse project descriptor
87
+ - `.classpath` - Classpath configuration
88
+ - `.settings/` - IDE settings directory
89
+ - `pom.xml` (Maven) or `build.gradle` (Gradle)
90
+ - `src/main/java/` or `src/` for source code
91
+
92
+ **Project Type Classification:**
93
+
94
+ 1. **NetBeans Web Application:**
95
+ - Has `web/` or `WebContent/` directory
96
+ - Contains `web.xml` in `web/WEB-INF/`
97
+ - Servlets/JSP files present
98
+ - Build.xml with web-related targets
99
+
100
+ 2. **NetBeans Desktop Application:**
101
+ - Has Swing `.form` files in `src/`
102
+ - JavaFX `.fxml` files
103
+ - Main class with GUI initialization (JFrame/Application)
104
+ - No web/ directory
105
+
106
+ 3. **Eclipse Desktop Application (Swing/JavaFX):**
107
+ - Has `.project` file
108
+ - Maven/Gradle with JavaFX or Swing dependencies
109
+ - Main class with GUI initialization
110
+ - No web facets
111
+
112
+ 4. **Eclipse Desktop Application (SWT):**
113
+ - Has `.project` file
114
+ - Dependencies: `org.eclipse.swt.*`, `org.eclipse.jface.*`
115
+ - Main class extends `ApplicationWorkbenchAdvisor` or uses `Display`
116
+ - May have `.product` file (RCP)
117
+
118
+ 5. **Enterprise Application (NetBeans/Eclipse):**
119
+ - EJB configurations
120
+ - persistence.xml (JPA)
121
+ - ejb-jar.xml
122
+ - Enterprise modules
123
+
124
+ **Build System Detection:**
125
+
126
+ NetBeans:
127
+
128
+ - Default: Apache Ant (build.xml)
129
+ - Modern: Maven (pom.xml) or Gradle (build.gradle)
130
+ - Hybrid: Ant + Ivy
131
+
132
+ Eclipse:
133
+
134
+ - Default: Maven (pom.xml) or Gradle (build.gradle)
135
+ - Legacy: Ant with Eclipse compiler
136
+ - PDE: Eclipse Plugin Development
137
+
138
+ **Version Detection:**
139
+
140
+ - NetBeans: Check `nbproject/project.properties` for version
141
+ - Eclipse: Check `.project` XML for `<buildSpec>` and `<nature>` tags
142
+ - Java version: Check build config (Maven/Gradle) or project properties
143
+
62
144
  ### 0.1.2 Find AI & Documentation
145
+
63
146
  - Find existing AI configs (`AGENT.md`, `.cursorrules`, etc.)
64
147
  - Scan for `README.md` and existing `docs/`.
65
148
 
66
149
  ### Layer 1 Output
150
+
67
151
  Show a summary of detected Name, Language, Framework, ORM, and Documentation files.
68
152
 
69
153
  ---
@@ -73,11 +157,13 @@ Show a summary of detected Name, Language, Framework, ORM, and Documentation fil
73
157
  **Purpose:** Analyze directory organization and architecture patterns without reading code line-by-line.
74
158
 
75
159
  ### 0.2.1 Pattern Detection
160
+
76
161
  1. **Identify Pattern:** Feature-based, Layer-based, Modular Monolith, or Hybrid.
77
162
  2. **Entity Detection:** Scan for Schema/Entity files based on the detected ORM (Prisma, TypeORM, Django Models, etc.).
78
163
  3. **Maturity Check:** Assess documentation and test coverage ratio.
79
164
 
80
165
  ### Layer 2 Output
166
+
81
167
  Summary of Architecture Pattern, Code Structure counts (Controllers, Services, etc.), and Recommended Build Scope (MVP/Production/Enterprise).
82
168
 
83
169
  ---
@@ -87,11 +173,13 @@ Summary of Architecture Pattern, Code Structure counts (Controllers, Services, e
87
173
  **Purpose:** Read and parse representative code files for detailed insights into API endpoints, data relationships, and security patterns.
88
174
 
89
175
  ### 0.3.1 Areas of Analysis
176
+
90
177
  - **API Endpoints:** Parse routes/controllers.
91
178
  - **Data Model:** Map entity relationships.
92
179
  - **Security:** Detect auth patterns (JWT, OAuth), validation (Zod, Pydantic), and middleware.
93
180
 
94
181
  ### 0.3.2 Sampling Strategy
182
+
95
183
  Use stratified sampling to read only the most relevant files (e.g., core controllers and entities) to stay within context limits.
96
184
 
97
185
  ---
@@ -99,11 +187,13 @@ Use stratified sampling to read only the most relevant files (e.g., core control
99
187
  ## ✅ Validation & Synthesis
100
188
 
101
189
  ### Present Findings
190
+
102
191
  Show the final "🔍 BACKEND STACK DETECTED" report and ask for confirmation.
103
192
 
104
193
  ### 💾 Cache & Pre-populate
105
194
 
106
195
  **Create directory structure (if not exists):**
196
+
107
197
  ```bash
108
198
  mkdir -p .ai-flow/cache
109
199
  ```
@@ -136,6 +226,7 @@ B) No, skip audit (continue to Phase 1)
136
226
  ### 0.4.2 Parse Existing Documentation
137
227
 
138
228
  **Action:** Extract documented information from:
229
+
139
230
  - `docs/architecture.md` → Architecture patterns
140
231
  - `docs/data-model.md` → Entities and fields
141
232
  - `docs/api.md` → Endpoints and methods
@@ -146,12 +237,14 @@ B) No, skip audit (continue to Phase 1)
146
237
  ### 0.4.3 Compare Code vs Documentation
147
238
 
148
239
  **Compare:**
240
+
149
241
  1. **Entities:** Schema files (Prisma, TypeORM, etc.) vs `docs/data-model.md`
150
242
  2. **Endpoints:** Controllers/Routes vs `docs/api.md`
151
243
  3. **Architecture:** Code structure vs `docs/architecture.md`
152
244
  4. **Tech Stack:** `package.json` vs documented stack
153
245
 
154
246
  **Detect:**
247
+
155
248
  - Items in code but not in docs (undocumented features)
156
249
  - Items in docs but not in code (missing implementations or obsolete docs)
157
250
  - Mismatches in fields, types, or patterns
@@ -161,14 +254,17 @@ B) No, skip audit (continue to Phase 1)
161
254
  **Severity Levels:**
162
255
 
163
256
  🔴 **CRITICAL** (Requires user decision):
257
+
164
258
  - Documented entity/endpoint not implemented
165
259
  - Major architectural mismatch
166
260
 
167
261
  🟡 **MEDIUM** (Auto-correctable with confirmation):
262
+
168
263
  - Implemented endpoint not documented
169
264
  - Missing fields in docs
170
265
 
171
266
  🟢 **LOW** (Auto-correctable):
267
+
172
268
  - Obsolete fields in docs
173
269
  - Outdated version numbers
174
270
 
@@ -216,10 +312,12 @@ C) Cancel /flow-build (fix manually first)
216
312
  ```
217
313
 
218
314
  **Option A (Recommended):** Continue to Phase 1
315
+
219
316
  - Save audit data for Phase 8
220
317
  - Phase 8 will offer to apply corrections
221
318
 
222
319
  **Option B:** Interactive review now
320
+
223
321
  ```
224
322
  🔴 Critical Issue 1/2: Entity 'Category'
225
323
  Documented in docs/data-model.md but NOT in schema
@@ -233,21 +331,24 @@ C) Cancel /flow-build (fix manually first)
233
331
  ```
234
332
 
235
333
  **Option C:** Cancel
334
+
236
335
  - User fixes issues manually
237
336
  - Re-run `/flow-build` later
238
337
 
239
338
  ### 0.4.7 Save Audit Data
240
339
 
241
340
  > **📌 IMPORTANT - Phases 9-10 for Existing Projects:**
242
- >
341
+ >
243
342
  > If the project has **substantial functional code already implemented** (detected in Layer 1-3):
343
+ >
244
344
  > - Set `phase9.recommendation = "SKIP"` with reason: "Project already implemented - roadmap not needed"
245
345
  > - Set `phase10.recommendation = "SKIP"` with reason: "Project already implemented - user stories not needed"
246
- >
346
+ >
247
347
  > **Phases 9-10 are only useful for:**
348
+ >
248
349
  > - New projects (no code yet)
249
350
  > - Projects in early development (< 30% features implemented)
250
- >
351
+ >
251
352
  > **For existing projects**, focus on Phases 1-8 (documentation sync) instead.
252
353
 
253
354
  **Save to:** `.ai-flow/cache/audit-data.json`
@@ -350,16 +451,19 @@ C) Cancel /flow-build (fix manually first)
350
451
  ```
351
452
 
352
453
  **Recommendation Logic:**
454
+
353
455
  - **SKIP** (≥95%): Phase can be skipped, use existing docs
354
456
  - **HYBRID** (80-94%): Ask only missing questions, merge with existing docs
355
457
  - **FULL** (<80% or file missing): Execute full phase with pre-filled answers
356
458
 
357
459
  This data will be used in Phases 1-7 to:
460
+
358
461
  1. Determine if phase can be skipped
359
462
  2. Identify specific gaps to ask about
360
463
  3. Merge new answers with existing documentation
361
464
 
362
465
  This data will be used in Phase 8 to:
466
+
363
467
  1. Generate detailed audit report
364
468
  2. Apply auto-corrections
365
469
  3. Update roadmap with "To Implement" items
@@ -371,6 +475,7 @@ This data will be used in Phase 8 to:
371
475
  ### Present Findings
372
476
 
373
477
  Show the final report including:
478
+
374
479
  1. **🔍 BACKEND STACK DETECTED** (from Layers 1-3)
375
480
  2. **📊 Documentation Audit Summary** (from Layer 4, if executed)
376
481
 
@@ -379,6 +484,7 @@ Ask for confirmation to proceed to Phase 1.
379
484
  ### 💾 Cache & Pre-populate
380
485
 
381
486
  **Create directory structure (if not exists):**
487
+
382
488
  ```bash
383
489
  mkdir -p .ai-flow/cache .ai-flow/work .ai-flow/archive
384
490
  ```
@@ -390,6 +496,7 @@ mkdir -p .ai-flow/cache .ai-flow/work .ai-flow/archive
390
496
  ### 🎯 Set Flags for Phase 8
391
497
 
392
498
  If documentation audit was performed:
499
+
393
500
  - Set flag: `auditPerformed: true`
394
501
  - Phase 8 will:
395
502
  - Generate detailed audit report (`docs/audit-report.md`)
@@ -403,6 +510,7 @@ If documentation audit was performed:
403
510
  ---
404
511
 
405
512
  ### Phase Summary
513
+
406
514
  - Pre-populated detected tech stack values.
407
515
  - Architectural patterns identified.
408
516
  - Context cached in `.ai-flow/cache/docs-analysis.json`.
@@ -414,6 +522,7 @@ If documentation audit was performed:
414
522
  **Next Phase:** Phase 1 - Discovery & Business Requirements
415
523
 
416
524
  **What happens next:**
525
+
417
526
  - Phase 1-7 will use pre-populated answers (40-60% filled)
418
527
  - You'll only answer questions that couldn't be auto-detected
419
528
  - Phase 8 will offer to resolve documentation inconsistencies
@@ -421,5 +530,6 @@ If documentation audit was performed:
421
530
  Read: `.ai-flow/prompts/backend/flow-build-phase-1.md`
422
531
 
423
532
  ---
533
+
424
534
  _Version: 4.3 (Antigravity Optimized - With Integrated Audit)_
425
535
  _Last Updated: 2025-12-22_