ai-flow-dev 2.5.3 → 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.
- package/README.md +16 -13
- package/dist/cli.js +30 -2
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
- package/prompts/backend/flow-build-phase-0.md +115 -5
- package/prompts/backend/flow-build-phase-3.md +52 -0
- package/prompts/desktop/flow-build-phase-0.md +359 -0
- package/prompts/desktop/flow-build-phase-1.md +295 -0
- package/prompts/desktop/flow-build-phase-10.md +357 -0
- package/prompts/desktop/flow-build-phase-2.md +282 -0
- package/prompts/desktop/flow-build-phase-3.md +291 -0
- package/prompts/desktop/flow-build-phase-4.md +308 -0
- package/prompts/desktop/flow-build-phase-5.md +269 -0
- package/prompts/desktop/flow-build-phase-6.md +350 -0
- package/prompts/desktop/flow-build-phase-7.md +297 -0
- package/prompts/desktop/flow-build-phase-8.md +541 -0
- package/prompts/desktop/flow-build-phase-9.md +439 -0
- package/prompts/desktop/flow-build.md +156 -0
- package/prompts/desktop/flow-check-review.md +20 -0
- package/prompts/desktop/flow-check-test.md +14 -0
- package/prompts/desktop/flow-check.md +67 -0
- package/prompts/desktop/flow-commit.md +119 -0
- package/prompts/desktop/flow-docs-sync.md +354 -0
- package/prompts/desktop/flow-work-feature.md +61 -0
- package/prompts/desktop/flow-work-fix.md +46 -0
- package/prompts/desktop/flow-work-refactor.md +48 -0
- package/prompts/desktop/flow-work-resume.md +34 -0
- package/prompts/desktop/flow-work.md +1023 -0
- package/templates/AGENT.template.md +1 -1
- package/templates/desktop/.clauderules.template +112 -0
- package/templates/desktop/.cursorrules.template +102 -0
- package/templates/desktop/README.template.md +170 -0
- package/templates/desktop/ai-instructions.template.md +366 -0
- package/templates/desktop/copilot-instructions.template.md +140 -0
- package/templates/desktop/docs/docs/api.template.md +320 -0
- package/templates/desktop/docs/docs/architecture.template.md +724 -0
- package/templates/desktop/docs/docs/business-flows.template.md +102 -0
- package/templates/desktop/docs/docs/code-standards.template.md +792 -0
- package/templates/desktop/docs/docs/contributing.template.md +149 -0
- package/templates/desktop/docs/docs/data-model.template.md +520 -0
- package/templates/desktop/docs/docs/operations.template.md +720 -0
- package/templates/desktop/docs/docs/testing.template.md +722 -0
- package/templates/desktop/project-brief.template.md +150 -0
- package/templates/desktop/specs/specs/configuration.template.md +121 -0
- 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
|
|
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:
|
|
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
|
|
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:
|
|
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:
|
|
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
|
|
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.
|
|
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_
|