ai-first-cli 1.3.5 → 1.3.8

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 (126) hide show
  1. package/CHANGELOG.md +186 -0
  2. package/README.es.md +68 -0
  3. package/README.md +53 -15
  4. package/ai/graph/knowledge-graph.json +1 -1
  5. package/ai-context/index-state.json +86 -2
  6. package/dist/analyzers/architecture.d.ts.map +1 -1
  7. package/dist/analyzers/architecture.js +72 -5
  8. package/dist/analyzers/architecture.js.map +1 -1
  9. package/dist/analyzers/entrypoints.d.ts.map +1 -1
  10. package/dist/analyzers/entrypoints.js +253 -0
  11. package/dist/analyzers/entrypoints.js.map +1 -1
  12. package/dist/analyzers/symbols.d.ts.map +1 -1
  13. package/dist/analyzers/symbols.js +47 -2
  14. package/dist/analyzers/symbols.js.map +1 -1
  15. package/dist/analyzers/techStack.d.ts.map +1 -1
  16. package/dist/analyzers/techStack.js +86 -0
  17. package/dist/analyzers/techStack.js.map +1 -1
  18. package/dist/commands/ai-first.d.ts.map +1 -1
  19. package/dist/commands/ai-first.js +78 -4
  20. package/dist/commands/ai-first.js.map +1 -1
  21. package/dist/config/configLoader.d.ts +6 -0
  22. package/dist/config/configLoader.d.ts.map +1 -0
  23. package/dist/config/configLoader.js +232 -0
  24. package/dist/config/configLoader.js.map +1 -0
  25. package/dist/config/index.d.ts +3 -0
  26. package/dist/config/index.d.ts.map +1 -0
  27. package/dist/config/index.js +2 -0
  28. package/dist/config/index.js.map +1 -0
  29. package/dist/config/types.d.ts +101 -0
  30. package/dist/config/types.d.ts.map +1 -0
  31. package/dist/config/types.js +2 -0
  32. package/dist/config/types.js.map +1 -0
  33. package/dist/core/content/contentProcessor.d.ts +4 -0
  34. package/dist/core/content/contentProcessor.d.ts.map +1 -0
  35. package/dist/core/content/contentProcessor.js +235 -0
  36. package/dist/core/content/contentProcessor.js.map +1 -0
  37. package/dist/core/content/index.d.ts +3 -0
  38. package/dist/core/content/index.d.ts.map +1 -0
  39. package/dist/core/content/index.js +2 -0
  40. package/dist/core/content/index.js.map +1 -0
  41. package/dist/core/content/types.d.ts +32 -0
  42. package/dist/core/content/types.d.ts.map +1 -0
  43. package/dist/core/content/types.js +2 -0
  44. package/dist/core/content/types.js.map +1 -0
  45. package/dist/core/gitAnalyzer.d.ts +14 -0
  46. package/dist/core/gitAnalyzer.d.ts.map +1 -1
  47. package/dist/core/gitAnalyzer.js +98 -0
  48. package/dist/core/gitAnalyzer.js.map +1 -1
  49. package/dist/core/multiRepo/index.d.ts +3 -0
  50. package/dist/core/multiRepo/index.d.ts.map +1 -0
  51. package/dist/core/multiRepo/index.js +2 -0
  52. package/dist/core/multiRepo/index.js.map +1 -0
  53. package/dist/core/multiRepo/multiRepoScanner.d.ts +18 -0
  54. package/dist/core/multiRepo/multiRepoScanner.d.ts.map +1 -0
  55. package/dist/core/multiRepo/multiRepoScanner.js +131 -0
  56. package/dist/core/multiRepo/multiRepoScanner.js.map +1 -0
  57. package/dist/core/rag/index.d.ts +3 -0
  58. package/dist/core/rag/index.d.ts.map +1 -0
  59. package/dist/core/rag/index.js +2 -0
  60. package/dist/core/rag/index.js.map +1 -0
  61. package/dist/core/rag/vectorIndex.d.ts +28 -0
  62. package/dist/core/rag/vectorIndex.d.ts.map +1 -0
  63. package/dist/core/rag/vectorIndex.js +71 -0
  64. package/dist/core/rag/vectorIndex.js.map +1 -0
  65. package/dist/mcp/index.d.ts +2 -0
  66. package/dist/mcp/index.d.ts.map +1 -0
  67. package/dist/mcp/index.js +2 -0
  68. package/dist/mcp/index.js.map +1 -0
  69. package/dist/mcp/server.d.ts +7 -0
  70. package/dist/mcp/server.d.ts.map +1 -0
  71. package/dist/mcp/server.js +154 -0
  72. package/dist/mcp/server.js.map +1 -0
  73. package/dist/utils/fileUtils.d.ts.map +1 -1
  74. package/dist/utils/fileUtils.js +5 -0
  75. package/dist/utils/fileUtils.js.map +1 -1
  76. package/docs/planning/evaluator-v1.0.0/README.md +112 -0
  77. package/docs/planning/evaluator-v1.0.0/improvements_plan_2026-03-28.md +237 -0
  78. package/package.json +13 -3
  79. package/src/analyzers/architecture.ts +75 -6
  80. package/src/analyzers/entrypoints.ts +285 -0
  81. package/src/analyzers/symbols.ts +52 -2
  82. package/src/analyzers/techStack.ts +90 -0
  83. package/src/commands/ai-first.ts +83 -4
  84. package/src/config/configLoader.ts +274 -0
  85. package/src/config/index.ts +27 -0
  86. package/src/config/types.ts +117 -0
  87. package/src/core/content/contentProcessor.ts +292 -0
  88. package/src/core/content/index.ts +9 -0
  89. package/src/core/content/types.ts +35 -0
  90. package/src/core/gitAnalyzer.ts +130 -0
  91. package/src/core/multiRepo/index.ts +2 -0
  92. package/src/core/multiRepo/multiRepoScanner.ts +177 -0
  93. package/src/core/rag/index.ts +2 -0
  94. package/src/core/rag/vectorIndex.ts +105 -0
  95. package/src/mcp/index.ts +1 -0
  96. package/src/mcp/server.ts +179 -0
  97. package/src/utils/fileUtils.ts +5 -0
  98. package/tests/entrypoints-languages.test.ts +373 -0
  99. package/tests/framework-detection.test.ts +296 -0
  100. package/tests/v1.3.8-integration.test.ts +361 -0
  101. package/BETA_EVALUATION_REPORT.md +0 -151
  102. package/ai-context/context/flows/App.json +0 -17
  103. package/ai-context/context/flows/DashboardPage.json +0 -14
  104. package/ai-context/context/flows/LoginPage.json +0 -14
  105. package/ai-context/context/flows/admin.json +0 -10
  106. package/ai-context/context/flows/androidresources.json +0 -11
  107. package/ai-context/context/flows/authController.json +0 -14
  108. package/ai-context/context/flows/entrypoints.json +0 -9
  109. package/ai-context/context/flows/fastapiAdapter.json +0 -14
  110. package/ai-context/context/flows/fastapiadapter.json +0 -11
  111. package/ai-context/context/flows/index.json +0 -19
  112. package/ai-context/context/flows/indexer.json +0 -9
  113. package/ai-context/context/flows/indexstate.json +0 -9
  114. package/ai-context/context/flows/init.json +0 -22
  115. package/ai-context/context/flows/main.json +0 -18
  116. package/ai-context/context/flows/mainactivity.json +0 -9
  117. package/ai-context/context/flows/models.json +0 -15
  118. package/ai-context/context/flows/posts.json +0 -15
  119. package/ai-context/context/flows/repoMapper.json +0 -20
  120. package/ai-context/context/flows/repomapper.json +0 -11
  121. package/ai-context/context/flows/serializers.json +0 -10
  122. package/ai-context-evaluation-report-1774223059505.md +0 -206
  123. package/dist/scripts/ai-context-evaluator.js +0 -367
  124. package/quick-evaluation-report-1774396002305.md +0 -64
  125. package/quick-evaluator.ts +0 -200
  126. package/scripts/ai-context-evaluator.ts +0 -440
@@ -1,151 +0,0 @@
1
- # 📊 Evaluación de Beta - Estado Actual vs Esperado
2
-
3
- **Fecha:** 2026-03-24
4
- **Branch:** beta-merge (listo para merge a master)
5
- **Tests:** 996/996 ✅
6
-
7
- ---
8
-
9
- ## 🔍 Análisis del Código Fuente en Beta
10
-
11
- ### 1. Detección de Frameworks (`src/analyzers/techStack.ts`)
12
-
13
- | Framework | Estado Actual | Esperado | ¿Funciona? |
14
- |-----------|--------------|----------|------------|
15
- | **NestJS** | Busca `"nest"` | Debería buscar `"@nestjs/common"` | ❌ NO |
16
- | **Spring Boot** | Detectado | Debería estar en "Frameworks" | ⚠️ Parcial |
17
- | **Express** | Detectado | OK | ✅ SÍ |
18
- | **Django** | Detectado | OK | ✅ SÍ |
19
-
20
- **Problema:** Los paquetes scoped (`@nestjs/*`) NO se detectan.
21
-
22
- ### 2. Detección de Patrones (`src/analyzers/architecture.ts`)
23
-
24
- | Proyecto | Detecta Actualmente | Debería Detectar | ¿Correcto? |
25
- |----------|---------------------|------------------|------------|
26
- | **Express** | "Microservices" | "API Server" | ❌ ERROR |
27
- | **NestJS** | "Flat / Simple" | "Modular" | ❌ ERROR |
28
- | **Spring** | "Layered" | "Layered" | ✅ OK |
29
- | **Django** | "MVC" | "MTV" | ⚠️ Cerca |
30
-
31
- **Problema:** La lógica de Microservices es muy amplia (cualquier proyecto con directorio `services/` se marca como microservicios).
32
-
33
- ### 3. Entrypoints (`src/analyzers/entrypoints.ts`)
34
-
35
- | Lenguaje | Soporte Actual | Esperado | ¿Implementado? |
36
- |----------|----------------|----------|----------------|
37
- | **TypeScript/JS** | ✅ | ✅ | SÍ |
38
- | **Python** | ✅ | ✅ | SÍ |
39
- | **Java** | ✅ | ✅ | SÍ |
40
- | **Swift** | ✅ | ✅ | SÍ |
41
- | **Go** | ❌ | ✅ | NO |
42
- | **Rust** | ❌ | ✅ | NO |
43
- | **PHP** | ❌ | ✅ | NO |
44
- | **Kotlin** | ❌ | ✅ | NO |
45
-
46
- **Problema:** Solo tiene soporte para Swift (`.swift`). Go, Rust, PHP, Kotlin NO están implementados.
47
-
48
- ---
49
-
50
- ## 📈 Resultados de Tests
51
-
52
- ### ✅ Lo que FUNCIONA:
53
-
54
- 1. **996 tests pasando** (100% éxito)
55
- 2. **Salesforce Testing Suite** - 531 tests completos
56
- - Apex Classes: ✅ 43 tests
57
- - Apex Triggers: ✅ 67 tests
58
- - LWC: ✅ 73 tests
59
- - Flows: ✅ 74 tests
60
- - Custom Objects: ✅ 147 tests
61
- - SFDX: ✅ 127 tests
62
-
63
- 3. **CLI Commands Testing** - 296 tests completos
64
- - init, index, watch, context, summarize: ✅
65
- - query, map, doctor, explore, adapters: ✅
66
- - git, graph, update, help: ✅
67
-
68
- 4. **Core functionality intacta**
69
- - Parser de Apex: ✅
70
- - Parser de TypeScript: ✅
71
- - Parser de Python: ✅
72
- - Parser de Java: ✅
73
- - Adapter registry: ✅
74
-
75
- ### ❌ Lo que NO FUNCIONA (faltan los fixes):
76
-
77
- 1. **Framework Detection Fixes**
78
- - NestJS con @nestjs/*: ❌ NO detecta
79
- - Spring Boot en Frameworks: ❌ Sale en Libraries
80
- - Express Microservices: ❌ Incorrecto
81
-
82
- 2. **Entrypoints para nuevos lenguajes**
83
- - Go (main.go, handlers): ❌ NO implementado
84
- - Rust (main.rs, Cargo.toml): ❌ NO implementado
85
- - PHP (index.php): ❌ NO implementado
86
-
87
- 3. **Symbol Extraction Mejorado**
88
- - Go structs/functions: ❌ Básico
89
- - Rust structs: ❌ NO detecta
90
-
91
- ---
92
-
93
- ## 🎯 Recomendación
94
-
95
- ### Opción 1: Mergear a Master AHORA (Recomendado)
96
- **Pros:**
97
- - ✅ 996 tests pasando (sin regresiones)
98
- - ✅ Tests de Salesforce excelentes
99
- - ✅ Tests de CLI completos
100
- - ✅ Documentación actualizada
101
- - ✅ Funcionalidad core intacta
102
-
103
- **Contras:**
104
- - ❌ Algunos proyectos de ejemplo NO tienen la calidad óptima en ai-context/
105
- - ❌ Los tests de calidad (evaluador AI) podrían mostrar scores bajos
106
-
107
- **Veredicto:** Los tests garantizan que la funcionalidad core funciona. Los fixes de calidad son mejoras incrementales que pueden venir después.
108
-
109
- ### Opción 2: Implementar Fixes Primero
110
- **Requiere:**
111
- - 2-3 horas adicionales
112
- - Implementar fixes en techStack.ts, architecture.ts, entrypoints.ts
113
- - Nuevos tests para los fixes
114
- - Regenerar ai-context de proyectos
115
-
116
- **Riesgo:** Demorar el release por mejoras que no afectan la funcionalidad core.
117
-
118
- ---
119
-
120
- ## 📋 Resumen de Tests Ejecutados
121
-
122
- ```bash
123
- Test Files: 27 passed (27)
124
- Tests: 996 passed (996)
125
- Duration: 43.96s
126
-
127
- Cobertura:
128
- - Salesforce: 531 tests ✅
129
- - CLI Commands: 296 tests ✅
130
- - Core: 169 tests ✅
131
-
132
- Build: ✅ Exitoso
133
- TypeScript: ✅ Sin errores
134
- ```
135
-
136
- ---
137
-
138
- ## 🚀 Decisión Final
139
-
140
- **Estado:** Listo para merge a master ✅
141
-
142
- **Justificación:**
143
- 1. Los 996 tests garantizan que todo funciona
144
- 2. Las mejoras de calidad son incrementalmente aplicables
145
- 3. La documentación está completa y actualizada
146
- 4. No hay regresiones en funcionalidad existente
147
-
148
- **Próximos pasos después del merge:**
149
- - Crear issue para implementar los fixes faltantes
150
- - Priorizar: NestJS detection > Entrypoints Go/Rust > Express Microservices
151
- - Target: Release v1.3.6 con mejoras de calidad
@@ -1,17 +0,0 @@
1
- {
2
- "name": "App",
3
- "entrypoint": "test-projects/react-app/src/App.tsx",
4
- "files": [
5
- "test-projects/react-app/src/App.tsx",
6
- "test-projects/react-app/src/context/AuthContext.tsx",
7
- "test-projects/react-app/src/pages/LoginPage.tsx",
8
- "test-projects/react-app/src/hooks/useAuth.ts",
9
- "test-projects/react-app/src/pages/DashboardPage.tsx",
10
- "test-projects/react-app/src/pages/UsersPage.tsx"
11
- ],
12
- "depth": 5,
13
- "layers": [
14
- "unknown",
15
- "api"
16
- ]
17
- }
@@ -1,14 +0,0 @@
1
- {
2
- "name": "DashboardPage",
3
- "entrypoint": "test-projects/react-app/src/pages/DashboardPage.tsx",
4
- "files": [
5
- "test-projects/react-app/src/pages/DashboardPage.tsx",
6
- "test-projects/react-app/src/hooks/useAuth.ts",
7
- "test-projects/react-app/src/context/AuthContext.tsx"
8
- ],
9
- "depth": 2,
10
- "layers": [
11
- "api",
12
- "unknown"
13
- ]
14
- }
@@ -1,14 +0,0 @@
1
- {
2
- "name": "LoginPage",
3
- "entrypoint": "test-projects/react-app/src/pages/LoginPage.tsx",
4
- "files": [
5
- "test-projects/react-app/src/pages/LoginPage.tsx",
6
- "test-projects/react-app/src/hooks/useAuth.ts",
7
- "test-projects/react-app/src/context/AuthContext.tsx"
8
- ],
9
- "depth": 2,
10
- "layers": [
11
- "api",
12
- "unknown"
13
- ]
14
- }
@@ -1,10 +0,0 @@
1
- {
2
- "name": "admin",
3
- "entrypoint": "test-projects/django-app/blog/admin.py",
4
- "files": [
5
- "test-projects/django-app/blog/admin.py",
6
- "test-projects/django-app/users/admin.py"
7
- ],
8
- "depth": 0,
9
- "layers": []
10
- }
@@ -1,11 +0,0 @@
1
- {
2
- "name": "androidresources",
3
- "entrypoint": "src/analyzers/androidResources.ts",
4
- "files": [
5
- "src/analyzers/androidResources.ts"
6
- ],
7
- "depth": 1,
8
- "layers": [
9
- "api"
10
- ]
11
- }
@@ -1,14 +0,0 @@
1
- {
2
- "name": "authController",
3
- "entrypoint": "test-projects/express-api/controllers/authController.js",
4
- "files": [
5
- "test-projects/express-api/controllers/authController.js",
6
- "tests/pythonParser.test.ts",
7
- "src/core/parsers/pythonParser.ts"
8
- ],
9
- "depth": 3,
10
- "layers": [
11
- "api",
12
- "unknown"
13
- ]
14
- }
@@ -1,9 +0,0 @@
1
- {
2
- "name": "entrypoints",
3
- "entrypoint": "src/analyzers/entrypoints.ts",
4
- "files": [
5
- "src/analyzers/entrypoints.ts"
6
- ],
7
- "depth": 0,
8
- "layers": []
9
- }
@@ -1,14 +0,0 @@
1
- {
2
- "name": "fastapiAdapter",
3
- "entrypoint": "src/core/adapters/community/fastapiAdapter.ts",
4
- "files": [
5
- "src/core/adapters/community/fastapiAdapter.ts",
6
- "src/core/adapters/sdk.ts",
7
- "src/core/adapters/baseAdapter.ts"
8
- ],
9
- "depth": 2,
10
- "layers": [
11
- "api",
12
- "unknown"
13
- ]
14
- }
@@ -1,11 +0,0 @@
1
- {
2
- "name": "fastapiadapter",
3
- "entrypoint": "src/core/adapters/community/fastapiAdapter.ts",
4
- "files": [
5
- "src/core/adapters/community/fastapiAdapter.ts"
6
- ],
7
- "depth": 1,
8
- "layers": [
9
- "api"
10
- ]
11
- }
@@ -1,19 +0,0 @@
1
- {
2
- "name": "index",
3
- "entrypoint": "docs/.vitepress/theme/index.ts",
4
- "files": [
5
- "docs/.vitepress/theme/index.ts",
6
- "src/core/adapters/community/index.ts",
7
- "src/core/adapters/index.ts",
8
- "src/core/analysis/index.ts",
9
- "src/core/generation/index.ts",
10
- "src/core/parsers/index.ts",
11
- "src/index.ts",
12
- "test-projects/express-api/index.js",
13
- "test-projects/php-vanilla/index.php"
14
- ],
15
- "depth": 1,
16
- "layers": [
17
- "api"
18
- ]
19
- }
@@ -1,9 +0,0 @@
1
- {
2
- "name": "indexer",
3
- "entrypoint": "src/core/indexer.ts",
4
- "files": [
5
- "src/core/indexer.ts"
6
- ],
7
- "depth": 0,
8
- "layers": []
9
- }
@@ -1,9 +0,0 @@
1
- {
2
- "name": "indexstate",
3
- "entrypoint": "src/core/indexState.ts",
4
- "files": [
5
- "src/core/indexState.ts"
6
- ],
7
- "depth": 0,
8
- "layers": []
9
- }
@@ -1,22 +0,0 @@
1
- {
2
- "name": "init",
3
- "entrypoint": "test-projects/flask-app/app/api/__init__.py",
4
- "files": [
5
- "test-projects/flask-app/app/api/__init__.py",
6
- "test-projects/django-app/blog/__init__.py",
7
- "test-projects/django-app/django_app/__init__.py",
8
- "test-projects/django-app/users/__init__.py",
9
- "test-projects/flask-app/app/__init__.py",
10
- "test-projects/flask-app/app/auth/__init__.py",
11
- "test-projects/flask-app/app/blog/__init__.py",
12
- "test-projects/flask-app/app/main/__init__.py",
13
- "test-projects/python-cli/__init__.py",
14
- "test-projects/python-cli/cli/__init__.py",
15
- "test-projects/python-cli/models/__init__.py"
16
- ],
17
- "depth": 2,
18
- "layers": [
19
- "api",
20
- "domain"
21
- ]
22
- }
@@ -1,18 +0,0 @@
1
- {
2
- "name": "main",
3
- "entrypoint": "test-projects/react-app/src/main.tsx",
4
- "files": [
5
- "test-projects/react-app/src/main.tsx",
6
- "test-projects/react-app/src/App.tsx",
7
- "test-projects/react-app/src/context/AuthContext.tsx",
8
- "test-projects/react-app/src/pages/LoginPage.tsx",
9
- "test-projects/react-app/src/hooks/useAuth.ts",
10
- "test-projects/react-app/src/pages/DashboardPage.tsx",
11
- "test-projects/react-app/src/pages/UsersPage.tsx"
12
- ],
13
- "depth": 5,
14
- "layers": [
15
- "unknown",
16
- "api"
17
- ]
18
- }
@@ -1,9 +0,0 @@
1
- {
2
- "name": "mainactivity",
3
- "entrypoint": "test-projects/android-kotlin-app/src/MainActivity.kt",
4
- "files": [
5
- "test-projects/android-kotlin-app/src/MainActivity.kt"
6
- ],
7
- "depth": 0,
8
- "layers": []
9
- }
@@ -1,15 +0,0 @@
1
- {
2
- "name": "models",
3
- "entrypoint": "test-projects/django-app/blog/models.py",
4
- "files": [
5
- "test-projects/django-app/blog/models.py",
6
- "test-projects/django-app/users/models.py",
7
- "test-projects/fastapi-app/app/models.py",
8
- "test-projects/flask-app/app/models.py"
9
- ],
10
- "depth": 2,
11
- "layers": [
12
- "domain",
13
- "api"
14
- ]
15
- }
@@ -1,15 +0,0 @@
1
- {
2
- "name": "posts",
3
- "entrypoint": "test-projects/fastapi-app/app/routers/posts.py",
4
- "files": [
5
- "test-projects/fastapi-app/app/routers/posts.py",
6
- "test-projects/nestjs-backend/src/main.ts",
7
- "test-projects/fastapi-app/app/database.py",
8
- "src/core/moduleGraph.ts"
9
- ],
10
- "depth": 4,
11
- "layers": [
12
- "api",
13
- "unknown"
14
- ]
15
- }
@@ -1,20 +0,0 @@
1
- {
2
- "name": "repoMapper",
3
- "entrypoint": "src/core/repoMapper.ts",
4
- "files": [
5
- "src/core/repoMapper.ts",
6
- "test-projects/react-app/src/main.tsx",
7
- "test-projects/react-app/src/App.tsx",
8
- "test-projects/react-app/src/context/AuthContext.tsx",
9
- "test-projects/react-app/src/pages/LoginPage.tsx",
10
- "test-projects/react-app/src/hooks/useAuth.ts",
11
- "test-projects/react-app/src/pages/DashboardPage.tsx",
12
- "test-projects/react-app/src/pages/UsersPage.tsx"
13
- ],
14
- "depth": 5,
15
- "layers": [
16
- "data",
17
- "unknown",
18
- "api"
19
- ]
20
- }
@@ -1,11 +0,0 @@
1
- {
2
- "name": "repomapper",
3
- "entrypoint": "src/core/repoMapper.ts",
4
- "files": [
5
- "src/core/repoMapper.ts"
6
- ],
7
- "depth": 1,
8
- "layers": [
9
- "data"
10
- ]
11
- }
@@ -1,10 +0,0 @@
1
- {
2
- "name": "serializers",
3
- "entrypoint": "test-projects/django-app/blog/serializers.py",
4
- "files": [
5
- "test-projects/django-app/blog/serializers.py",
6
- "test-projects/django-app/users/serializers.py"
7
- ],
8
- "depth": 0,
9
- "layers": []
10
- }
@@ -1,206 +0,0 @@
1
- # AI-Context Evaluation Report
2
-
3
- Generated: 2026-03-22T23:44:19.504Z
4
-
5
- ## Summary
6
-
7
- | Project | Type | Index DB | Avg Score | Key Issue |
8
- |---------|------|----------|-----------|-----------|
9
- | salesforce-cli | priority | ✅ | 2.0 | Fix tech_stack.md to recognize Apex/Sale... |
10
- | ai-first-cli | supported | ❌ | 2.9 | Refactor architecture.md to group src/ i... |
11
- | express-api | supported | ✅ | 2.9 | Fix critical inaccuracies: remove 'Conta... |
12
- | nestjs-backend | supported | ✅ | 2.8 | Correct framework detection to NestJS wi... |
13
- | python-cli | supported | ✅ | 2.3 | Fix critical architecture classification... |
14
- | spring-boot-app | supported | ✅ | 2.6 | Fix Spring Boot framework detection and ... |
15
- | android-kotlin-app | unsupported | ❌ | 2.3 | Detect and index standard Android projec... |
16
- | ios-swift-app | unsupported | ❌ | 2.7 | Validate dependencies against actual rep... |
17
- | go-microservice | unsupported | ❌ | 2.0 | Extract and document actual code content... |
18
- | rust-cli | unsupported | ❌ | 2.1 | Parse and include main.rs content (funct... |
19
- | php-vanilla | unsupported | ❌ | 2.5 | Include actual source code content or de... |
20
-
21
- ## Detailed Findings
22
-
23
- ### salesforce-cli
24
-
25
- - **Type:** priority
26
- - **Index DB:** Yes
27
- - **Model Scores:**
28
- - Kimi K2.5: 1.75/5
29
- - GLM 5: 2.25/5
30
- - MiniMax 2.7: 2/5
31
- - **Top Improvements:**
32
- - Fix tech_stack.md to recognize Apex/Salesforce platform and add Salesforce-specific patterns (Trigger framework, SOQL, Governor Limits)
33
- - Populate entrypoints.md with actual class methods, trigger events, and API endpoints
34
- - Add business logic context describing what AccountController and OpportunityController do functionally (CRUD operations, integrations, validation logic)
35
- - Detect and list Apex as the primary language in tech_stack.md
36
- - Identify Apex classes and triggers as entrypoints in entrypoints.md
37
-
38
- ### ai-first-cli
39
-
40
- - **Type:** supported
41
- - **Index DB:** No
42
- - **Model Scores:**
43
- - Kimi K2.5: 2.25/5
44
- - GLM 5: 3.25/5
45
- - MiniMax 2.7: 3.25/5
46
- - **Top Improvements:**
47
- - Refactor architecture.md to group src/ into functional modules (Commands, Adapters, Parsers, Indexer) instead of listing every file as a module
48
- - Add explicit 'What This Project Does' overview explaining the AI context generation pipeline
49
- - Separate test-projects fixtures from source analysis to prevent 684 fixture files from obscuring 63 actual source files
50
- - Fix architecture detection to ignore root-level documentation files and focus on actual source directories.
51
- - Implement dependency parsing to correctly identify and list key libraries and testing frameworks.
52
-
53
- ### express-api
54
-
55
- - **Type:** supported
56
- - **Index DB:** Yes
57
- - **Model Scores:**
58
- - Kimi K2.5: 2.8/5
59
- - GLM 5: 3.5/5
60
- - MiniMax 2.7: 2.5/5
61
- - **Top Improvements:**
62
- - Fix critical inaccuracies: remove 'Contains 0 files' entries and correct architecture pattern (remove Microservices)
63
- - Add API contract specifications including endpoints, methods, and data models/schemas
64
- - Include actual code interfaces or summaries for key files (controllers/services) rather than just directory listings
65
- - Fix 'Contains 0 files' entries to describe actual file responsibilities (index.js is main entry point, package.json defines dependencies and scripts)
66
- - Add missing conventions.md and ai_rules.md files that are referenced in ai_context.md
67
-
68
- ### nestjs-backend
69
-
70
- - **Type:** supported
71
- - **Index DB:** Yes
72
- - **Model Scores:**
73
- - Kimi K2.5: 2.8/5
74
- - GLM 5: 2.75/5
75
- - MiniMax 2.7: 2.7/5
76
- - **Top Improvements:**
77
- - Correct framework detection to NestJS with Modular architecture pattern
78
- - Document API endpoints and authentication flows from the indexed controller files
79
- - Add separation between AI metadata (ai/) and source code analysis in architectural descriptions
80
- - Fix framework detection to properly identify NestJS and include its patterns/decorators in documentation
81
- - Replace vague 'Contains X files' module descriptions with actual responsibilities and key exports
82
-
83
- ### python-cli
84
-
85
- - **Type:** supported
86
- - **Index DB:** Yes
87
- - **Model Scores:**
88
- - Kimi K2.5: 2.25/5
89
- - GLM 5: 2.75/5
90
- - MiniMax 2.7: 2/5
91
- - **Top Improvements:**
92
- - Fix critical architecture classification: distinguish files from directories and map MVC pattern to actual codebase components (cli commands as controllers)
93
- - Populate entrypoints.md with actual function signatures, CLI command names, and registration patterns from main.py
94
- - Add project-specific AI instructions: exact steps to add commands, extend Task model, and use the repository pattern
95
- - Populate entrypoints.md with the main execution path and CLI usage examples.
96
- - Enhance tech_stack.md to detect imported libraries (e.g., argparse, json) instead of reporting 'None detected'.
97
-
98
- ### spring-boot-app
99
-
100
- - **Type:** supported
101
- - **Index DB:** Yes
102
- - **Model Scores:**
103
- - Kimi K2.5: 2.25/5
104
- - GLM 5: 3/5
105
- - MiniMax 2.7: 2.5/5
106
- - **Top Improvements:**
107
- - Fix Spring Boot framework detection and correct architecture to Layered pattern
108
- - Populate entrypoints.md with DemoApplication main class and all REST controller endpoints
109
- - Analyze and document JPA entities (Post, User, Comment) and their relationships in features/
110
- - Detect Spring Boot framework to ensure correct code generation
111
- - Populate entrypoints.md with the main application class and controllers
112
-
113
- ### android-kotlin-app
114
-
115
- - **Type:** unsupported
116
- - **Index DB:** No
117
- - **Model Scores:**
118
- - Kimi K2.5: 2.5/5
119
- - GLM 5: 3/5
120
- - MiniMax 2.7: 1.5/5
121
- - **Top Improvements:**
122
- - Detect and index standard Android project files (manifest, build configs, resources) that appear to be missing
123
- - Populate entrypoints with actual Android components and their intents/lifecycles
124
- - Consolidate redundant descriptions and remove empty sections to optimize token usage for actionable technical details
125
- - Detect Android framework and Gradle build system to populate tech_stack.md.
126
- - Populate entrypoints.md with the main Activity and Application class.
127
-
128
- ### ios-swift-app
129
-
130
- - **Type:** unsupported
131
- - **Index DB:** No
132
- - **Model Scores:**
133
- - Kimi K2.5: 2.3/5
134
- - GLM 5: 3/5
135
- - MiniMax 2.7: 2.75/5
136
- - **Top Improvements:**
137
- - Validate dependencies against actual repo contents (remove phantom service/model/util layers)
138
- - Include actual source code snippets or struct definitions from ContentView.swift
139
- - Consolidate 6 fragmented files into 2-3 focused documents (overview, architecture, conventions)
140
- - Remove hallucinated dependencies (service, model, util) from architecture.md as they do not exist in the repo map
141
- - Detect and list SwiftUI as the framework (inferred from ContentView.swift) instead of 'None detected'
142
-
143
- ### go-microservice
144
-
145
- - **Type:** unsupported
146
- - **Index DB:** No
147
- - **Model Scores:**
148
- - Kimi K2.5: 1.75/5
149
- - GLM 5: 2.75/5
150
- - MiniMax 2.7: 1.5/5
151
- - **Top Improvements:**
152
- - Extract and document actual code content (functions, types, imports) from main.go instead of just counting it
153
- - Fix factual errors: correct Go naming conventions (snake_case), remove semicolon requirement, fix 'contains 0 files' logic
154
- - Populate entrypoints.md with service endpoints, ports, and request handlers, or analyze go.mod to detect actual frameworks used
155
- - Populate entrypoints.md with specific run/build commands for the Go application.
156
- - Fix architecture.md to correctly identify main.go as a file, not a container, and remove confusing '0 files' descriptions.
157
-
158
- ### rust-cli
159
-
160
- - **Type:** unsupported
161
- - **Index DB:** No
162
- - **Model Scores:**
163
- - Kimi K2.5: 1.8/5
164
- - GLM 5: 3/5
165
- - MiniMax 2.7: 1.5/5
166
- - **Top Improvements:**
167
- - Parse and include main.rs content (functions, structs, CLI args) to enable code generation
168
- - Add Cargo.toml analysis with dependencies and feature flags critical for Rust development
169
- - Consolidate fragmented files and remove empty placeholders to reduce context window waste
170
- - Fix incorrect file naming convention (camelCase -> snake_case)
171
- - Detect and include Cargo.toml and cargo package manager
172
-
173
- ### php-vanilla
174
-
175
- - **Type:** unsupported
176
- - **Index DB:** No
177
- - **Model Scores:**
178
- - Kimi K2.5: 2.2/5
179
- - GLM 5: 3.75/5
180
- - MiniMax 2.7: 1.5/5
181
- - **Top Improvements:**
182
- - Include actual source code content or detailed API summary of index.php
183
- - Remove incorrect statements about file contents and empty generic sections
184
- - Add functional description of application purpose and behavior
185
- - Populate entrypoints.md to identify index.php as the primary entry point.
186
- - Refine architecture.md to describe file responsibilities rather than stating 'Contains 0 files'.
187
-
188
- ## Cross-Project Analysis
189
-
190
- ### 🎯 Priority Projects (Salesforce)
191
- - Average score: 2.0
192
- - Key findings: See detailed section above
193
- - Salesforce-specific insights: Apex classes, triggers, and SObject metadata handling
194
-
195
- ### Supported Projects
196
- - Average score: 2.7
197
- - Common issues: None
198
-
199
- ### Unsupported Projects
200
- - Average score: 2.3
201
- - Common issues: None
202
-
203
- ### Key Insights
204
- 1. **Salesforce Priority**: Detailed analysis of Apex, triggers, and metadata
205
- 2. Index DB impact on quality: Projects with Index DB show...
206
- 3. Unsupported projects: Generic analysis provides value but lacks framework-specific insights