ai-first-cli 1.1.1 → 1.1.2
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/CHANGELOG.md +78 -0
- package/README.es.md +137 -1
- package/README.md +136 -4
- package/ai/ai_context.md +2 -2
- package/ai/architecture.md +3 -3
- package/ai/cache.json +85 -57
- package/ai/ccp/jira-123/context.json +7 -0
- package/ai/context/repo.json +56 -0
- package/ai/context/utils.json +7 -0
- package/ai/dependencies.json +51 -1026
- package/ai/files.json +195 -3
- package/ai/git/commit-activity.json +8646 -0
- package/ai/git/recent-features.json +1 -0
- package/ai/git/recent-files.json +52 -0
- package/ai/git/recent-flows.json +1 -0
- package/ai/graph/knowledge-graph.json +43643 -0
- package/ai/graph/module-graph.json +4 -0
- package/ai/graph/symbol-graph.json +3307 -879
- package/ai/graph/symbol-references.json +119 -32
- package/ai/index-state.json +843 -188
- package/ai/index.db +0 -0
- package/ai/modules.json +4 -0
- package/ai/repo-map.json +81 -17
- package/ai/repo_map.json +81 -17
- package/ai/repo_map.md +21 -7
- package/ai/summary.md +5 -5
- package/ai/symbols.json +1 -20287
- package/dist/analyzers/androidResources.d.ts +23 -0
- package/dist/analyzers/androidResources.d.ts.map +1 -0
- package/dist/analyzers/androidResources.js +93 -0
- package/dist/analyzers/androidResources.js.map +1 -0
- package/dist/analyzers/dependencies.d.ts.map +1 -1
- package/dist/analyzers/dependencies.js +37 -0
- package/dist/analyzers/dependencies.js.map +1 -1
- package/dist/analyzers/entrypoints.d.ts.map +1 -1
- package/dist/analyzers/entrypoints.js +71 -1
- package/dist/analyzers/entrypoints.js.map +1 -1
- package/dist/analyzers/gradleModules.d.ts +22 -0
- package/dist/analyzers/gradleModules.d.ts.map +1 -0
- package/dist/analyzers/gradleModules.js +75 -0
- package/dist/analyzers/gradleModules.js.map +1 -0
- package/dist/analyzers/techStack.d.ts +7 -0
- package/dist/analyzers/techStack.d.ts.map +1 -1
- package/dist/analyzers/techStack.js +44 -1
- package/dist/analyzers/techStack.js.map +1 -1
- package/dist/commands/ai-first.d.ts.map +1 -1
- package/dist/commands/ai-first.js +311 -1
- package/dist/commands/ai-first.js.map +1 -1
- package/dist/core/adapters/adapterRegistry.d.ts +39 -0
- package/dist/core/adapters/adapterRegistry.d.ts.map +1 -0
- package/dist/core/adapters/adapterRegistry.js +155 -0
- package/dist/core/adapters/adapterRegistry.js.map +1 -0
- package/dist/core/adapters/baseAdapter.d.ts +49 -0
- package/dist/core/adapters/baseAdapter.d.ts.map +1 -0
- package/dist/core/adapters/baseAdapter.js +28 -0
- package/dist/core/adapters/baseAdapter.js.map +1 -0
- package/dist/core/adapters/community/fastapiAdapter.d.ts +7 -0
- package/dist/core/adapters/community/fastapiAdapter.d.ts.map +1 -0
- package/dist/core/adapters/community/fastapiAdapter.js +40 -0
- package/dist/core/adapters/community/fastapiAdapter.js.map +1 -0
- package/dist/core/adapters/community/index.d.ts +11 -0
- package/dist/core/adapters/community/index.d.ts.map +1 -0
- package/dist/core/adapters/community/index.js +11 -0
- package/dist/core/adapters/community/index.js.map +1 -0
- package/dist/core/adapters/community/laravelAdapter.d.ts +7 -0
- package/dist/core/adapters/community/laravelAdapter.d.ts.map +1 -0
- package/dist/core/adapters/community/laravelAdapter.js +47 -0
- package/dist/core/adapters/community/laravelAdapter.js.map +1 -0
- package/dist/core/adapters/community/nestjsAdapter.d.ts +7 -0
- package/dist/core/adapters/community/nestjsAdapter.d.ts.map +1 -0
- package/dist/core/adapters/community/nestjsAdapter.js +48 -0
- package/dist/core/adapters/community/nestjsAdapter.js.map +1 -0
- package/dist/core/adapters/community/phoenixAdapter.d.ts +7 -0
- package/dist/core/adapters/community/phoenixAdapter.d.ts.map +1 -0
- package/dist/core/adapters/community/phoenixAdapter.js +45 -0
- package/dist/core/adapters/community/phoenixAdapter.js.map +1 -0
- package/dist/core/adapters/community/springBootAdapter.d.ts +7 -0
- package/dist/core/adapters/community/springBootAdapter.d.ts.map +1 -0
- package/dist/core/adapters/community/springBootAdapter.js +44 -0
- package/dist/core/adapters/community/springBootAdapter.js.map +1 -0
- package/dist/core/adapters/dotnetAdapter.d.ts +20 -0
- package/dist/core/adapters/dotnetAdapter.d.ts.map +1 -0
- package/dist/core/adapters/dotnetAdapter.js +86 -0
- package/dist/core/adapters/dotnetAdapter.js.map +1 -0
- package/dist/core/adapters/index.d.ts +18 -0
- package/dist/core/adapters/index.d.ts.map +1 -0
- package/dist/core/adapters/index.js +19 -0
- package/dist/core/adapters/index.js.map +1 -0
- package/dist/core/adapters/javascriptAdapter.d.ts +11 -0
- package/dist/core/adapters/javascriptAdapter.d.ts.map +1 -0
- package/dist/core/adapters/javascriptAdapter.js +47 -0
- package/dist/core/adapters/javascriptAdapter.js.map +1 -0
- package/dist/core/adapters/pythonAdapter.d.ts +20 -0
- package/dist/core/adapters/pythonAdapter.d.ts.map +1 -0
- package/dist/core/adapters/pythonAdapter.js +99 -0
- package/dist/core/adapters/pythonAdapter.js.map +1 -0
- package/dist/core/adapters/railsAdapter.d.ts +10 -0
- package/dist/core/adapters/railsAdapter.d.ts.map +1 -0
- package/dist/core/adapters/railsAdapter.js +52 -0
- package/dist/core/adapters/railsAdapter.js.map +1 -0
- package/dist/core/adapters/salesforceAdapter.d.ts +16 -0
- package/dist/core/adapters/salesforceAdapter.d.ts.map +1 -0
- package/dist/core/adapters/salesforceAdapter.js +64 -0
- package/dist/core/adapters/salesforceAdapter.js.map +1 -0
- package/dist/core/adapters/sdk.d.ts +83 -0
- package/dist/core/adapters/sdk.d.ts.map +1 -0
- package/dist/core/adapters/sdk.js +114 -0
- package/dist/core/adapters/sdk.js.map +1 -0
- package/dist/core/ccp.d.ts +37 -0
- package/dist/core/ccp.d.ts.map +1 -0
- package/dist/core/ccp.js +184 -0
- package/dist/core/ccp.js.map +1 -0
- package/dist/core/gitAnalyzer.d.ts +74 -0
- package/dist/core/gitAnalyzer.d.ts.map +1 -0
- package/dist/core/gitAnalyzer.js +298 -0
- package/dist/core/gitAnalyzer.js.map +1 -0
- package/dist/core/incrementalAnalyzer.d.ts +28 -0
- package/dist/core/incrementalAnalyzer.d.ts.map +1 -0
- package/dist/core/incrementalAnalyzer.js +343 -0
- package/dist/core/incrementalAnalyzer.js.map +1 -0
- package/dist/core/knowledgeGraphBuilder.d.ts +31 -0
- package/dist/core/knowledgeGraphBuilder.d.ts.map +1 -0
- package/dist/core/knowledgeGraphBuilder.js +197 -0
- package/dist/core/knowledgeGraphBuilder.js.map +1 -0
- package/dist/core/lazyAnalyzer.d.ts +57 -0
- package/dist/core/lazyAnalyzer.d.ts.map +1 -0
- package/dist/core/lazyAnalyzer.js +204 -0
- package/dist/core/lazyAnalyzer.js.map +1 -0
- package/dist/core/schema.d.ts +57 -0
- package/dist/core/schema.d.ts.map +1 -0
- package/dist/core/schema.js +131 -0
- package/dist/core/schema.js.map +1 -0
- package/dist/core/semanticContexts.d.ts +40 -0
- package/dist/core/semanticContexts.d.ts.map +1 -0
- package/dist/core/semanticContexts.js +454 -0
- package/dist/core/semanticContexts.js.map +1 -0
- package/docs/es/guide/adapters.md +143 -0
- package/docs/es/guide/ai-repository-schema.md +119 -0
- package/docs/es/guide/features.md +67 -0
- package/docs/es/guide/flows.md +134 -0
- package/docs/es/guide/git-intelligence.md +170 -0
- package/docs/es/guide/incremental-analysis.md +131 -0
- package/docs/es/guide/knowledge-graph.md +135 -0
- package/docs/es/guide/lazy-indexing.md +144 -0
- package/docs/es/guide/performance.md +125 -0
- package/docs/guide/adapters.md +225 -0
- package/docs/guide/ai-repository-schema.md +119 -0
- package/docs/guide/architecture.md +69 -1
- package/docs/guide/flows.md +134 -0
- package/docs/guide/git-intelligence.md +170 -0
- package/docs/guide/incremental-analysis.md +131 -0
- package/docs/guide/knowledge-graph.md +135 -0
- package/docs/guide/lazy-indexing.md +144 -0
- package/docs/guide/performance.md +125 -0
- package/package.json +5 -2
- package/src/analyzers/androidResources.ts +113 -0
- package/src/analyzers/dependencies.ts +41 -0
- package/src/analyzers/entrypoints.ts +80 -1
- package/src/analyzers/gradleModules.ts +100 -0
- package/src/analyzers/techStack.ts +56 -0
- package/src/commands/ai-first.ts +342 -1
- package/src/core/adapters/adapterRegistry.ts +187 -0
- package/src/core/adapters/baseAdapter.ts +82 -0
- package/src/core/adapters/community/fastapiAdapter.ts +50 -0
- package/src/core/adapters/community/index.ts +11 -0
- package/src/core/adapters/community/laravelAdapter.ts +56 -0
- package/src/core/adapters/community/nestjsAdapter.ts +57 -0
- package/src/core/adapters/community/phoenixAdapter.ts +54 -0
- package/src/core/adapters/community/springBootAdapter.ts +53 -0
- package/src/core/adapters/dotnetAdapter.ts +104 -0
- package/src/core/adapters/index.ts +24 -0
- package/src/core/adapters/javascriptAdapter.ts +56 -0
- package/src/core/adapters/pythonAdapter.ts +118 -0
- package/src/core/adapters/railsAdapter.ts +65 -0
- package/src/core/adapters/salesforceAdapter.ts +76 -0
- package/src/core/adapters/sdk.ts +172 -0
- package/src/core/ccp.ts +240 -0
- package/src/core/gitAnalyzer.ts +391 -0
- package/src/core/incrementalAnalyzer.ts +382 -0
- package/src/core/knowledgeGraphBuilder.ts +181 -0
- package/src/core/lazyAnalyzer.ts +261 -0
- package/src/core/schema.ts +157 -0
- package/src/core/semanticContexts.ts +575 -0
- package/tests/adapters.test.ts +159 -0
- package/tests/gitAnalyzer.test.ts +133 -0
- package/tests/incrementalAnalyzer.test.ts +83 -0
- package/tests/knowledgeGraph.test.ts +146 -0
- package/tests/lazyAnalyzer.test.ts +230 -0
- package/tests/schema.test.ts +203 -0
- package/tests/semanticContexts.test.ts +435 -0
- package/ai/context/analyzers.Symbol.json +0 -19
- package/ai/context/analyzers.extractSymbols.json +0 -19
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,62 @@ All notable changes to `ai-first` will be documented in this file.
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
### Added
|
|
10
|
+
- **CLI Progress Feedback**: Added ora-based progress indicators for repository analysis
|
|
11
|
+
- **Lazy Context Generation**: Staged indexing for faster CLI startup (Stage 1 minimal, Stage 2 on-demand)
|
|
12
|
+
- **Lazy Analyzer Module**: `src/core/lazyAnalyzer.ts` with buildMinimalIndex, expandFeatureContext, expandFlowContext
|
|
13
|
+
- **Lazy Indexing Tests**: Comprehensive test suite for lazy context generation
|
|
14
|
+
- **Lazy Indexing Documentation**: English and Spanish guides for lazy context generation
|
|
15
|
+
- **AI Repository Schema**: Standardized schema system for AI-First metadata (schema.json, project.json, tools.json)
|
|
16
|
+
- **AI Repository Schema**: Standardized schema system for AI-First metadata (schema.json, project.json, tools.json)
|
|
17
|
+
- **Schema CLI Integration**: Schema automatically generated with `ai-first init`
|
|
18
|
+
- **Schema Validation**: Programmatic schema validation API
|
|
19
|
+
- **Schema Tests**: Comprehensive test suite for schema generation and validation
|
|
20
|
+
- **Schema Documentation**: English and Spanish guides for AI Repository Schema
|
|
21
|
+
- **Incremental Analysis**: Update repository context incrementally when files change
|
|
22
|
+
- **Incremental Analysis**: Update repository context incrementally when files change
|
|
23
|
+
- **Update CLI Command**: `ai-first update` to perform incremental updates
|
|
24
|
+
- **Self-Healing Context**: AI context updates automatically when files change
|
|
25
|
+
- **Repository Knowledge Graph**: Unify all repository intelligence into a single navigable graph
|
|
26
|
+
- **Graph CLI Command**: `ai-first graph` to generate knowledge graph
|
|
27
|
+
- **Repository Knowledge Graph**: Unify all repository intelligence into a single navigable graph
|
|
28
|
+
- **Graph CLI Command**: `ai-first graph` to generate knowledge graph
|
|
29
|
+
- **Graph Output**: `ai/graph/knowledge-graph.json` with nodes and edges
|
|
30
|
+
- **Git Intelligence**: Analyze git activity to provide AI context about recently changed files, features, and flows
|
|
31
|
+
- **Git CLI Command**: `ai-first git` to analyze repository activity and generate metadata
|
|
32
|
+
- **Git Intelligence**: Analyze git activity to provide AI context about recently changed files, features, and flows
|
|
33
|
+
- **Git CLI Command**: `ai-first git` to analyze repository activity and generate metadata
|
|
34
|
+
- **Git Context Files**: `ai/git/recent-files.json`, `ai/git/recent-features.json`, `ai/git/recent-flows.json`, `ai/git/commit-activity.json`
|
|
35
|
+
- **Adapter SDK**: Developer-friendly `createAdapter()` API for creating custom ecosystem adapters
|
|
36
|
+
- **Community Adapters**: Pre-built adapters for Laravel, NestJS, Spring Boot, Phoenix, FastAPI
|
|
37
|
+
- **Adapter CLI Command**: `ai-first adapters` to list all available adapters
|
|
38
|
+
- **Adapter SDK**: Developer-friendly `createAdapter()` API for creating custom ecosystem adapters
|
|
39
|
+
- **Community Adapters**: Pre-built adapters for Laravel, NestJS, Spring Boot, Phoenix, FastAPI
|
|
40
|
+
- **Adapter CLI Command**: `ai-first adapters` to list all available adapters
|
|
41
|
+
- Enhanced symbol indexing with `filePath#symbolName` IDs
|
|
42
|
+
- Enhanced symbol indexing with `filePath#symbolName` IDs
|
|
43
|
+
- Extended symbol graph relationships: calls, called_by, imports, references, instantiates, extends, implements, exports
|
|
44
|
+
- Reverse symbol references (`ai/graph/symbol-references.json`)
|
|
45
|
+
- File index with symbol mappings (`ai/files.json`)
|
|
46
|
+
- Code Context Packets (CCP) with depth, ranking, and multiple formats
|
|
47
|
+
- Context CLI flags: `--depth`, `--max-symbols`, `--format`, `--save`
|
|
48
|
+
- Incremental indexing with file hash cache (`ai/index-state.json`)
|
|
49
|
+
- Context ranking system based on graph distance and relationships
|
|
50
|
+
- Android/Kotlin Support: Android framework detection, SDK version extraction, Gradle dependency parsing, AndroidManifest parsing, Android resources indexing, Gradle multi-module detection
|
|
51
|
+
- **Business Feature Detection**: Auto-detect business modules (auth, users, payments) from codebase structure
|
|
52
|
+
- **Flow Detection**: Generate execution chains spanning multiple architectural layers (api → service → data)
|
|
53
|
+
- Feature output: `ai/context/features/<feature>.json` with path, files, entrypoints, dependencies
|
|
54
|
+
- Flow output: `ai/context/flows/<flow>.json` with depth, layers, entrypoint
|
|
55
|
+
- Support for nested features at depth 1 and 2 (src/auth, src/modules/auth)
|
|
56
|
+
- **Performance Documentation**: Complete guide to incremental analysis and optimization
|
|
57
|
+
- **Spanish Documentation**: Complete translation for all guides
|
|
58
|
+
- **Adapter System**: Multi-language/framework support (JavaScript, Python, Django, Flask, Rails, Salesforce, .NET)
|
|
59
|
+
- **Spanish Documentation**: Complete translation for all guides
|
|
60
|
+
|
|
61
|
+
### Improved
|
|
62
|
+
- Incremental repository analysis with change detection
|
|
63
|
+
- Performance benchmarks for various repository sizes
|
|
64
|
+
|
|
9
65
|
### Added
|
|
10
66
|
- Enhanced symbol indexing with `filePath#symbolName` IDs
|
|
11
67
|
- Extended symbol graph relationships: calls, called_by, imports, references, instantiates, extends, implements, exports
|
|
@@ -15,6 +71,28 @@ All notable changes to `ai-first` will be documented in this file.
|
|
|
15
71
|
- Context CLI flags: `--depth`, `--max-symbols`, `--format`, `--save`
|
|
16
72
|
- Incremental indexing with file hash cache (`ai/cache.json`)
|
|
17
73
|
- Context ranking system based on graph distance and relationships
|
|
74
|
+
- Android/Kotlin Support: Android framework detection, SDK version extraction, Gradle dependency parsing, AndroidManifest parsing, Android resources indexing, Gradle multi-module detection
|
|
75
|
+
- **Business Feature Detection**: Auto-detect business modules (auth, users, payments) from codebase structure
|
|
76
|
+
- **Flow Detection**: Generate execution chains spanning multiple architectural layers (api → service → data)
|
|
77
|
+
- Feature output: `ai/context/features/<feature>.json` with path, files, entrypoints, dependencies
|
|
78
|
+
- Flow output: `ai/context/flows/<flow>.json` with depth, layers, entrypoint
|
|
79
|
+
- Support for nested features at depth 1 and 2 (src/auth, src/modules/auth)
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## [1.1.0] - 2026-03-09
|
|
84
|
+
|
|
85
|
+
### Added
|
|
86
|
+
- Enhanced symbol indexing with `filePath#symbolName` IDs
|
|
87
|
+
- Extended symbol graph relationships: calls, called_by, imports, references, instantiates, extends, implements, exports
|
|
88
|
+
- Reverse symbol references (`ai/graph/symbol-references.json`)
|
|
89
|
+
- File index with symbol mappings (`ai/files.json`)
|
|
90
|
+
- Code Context Packets (CCP) with depth, ranking, and multiple formats
|
|
91
|
+
- Context CLI flags: `--depth`, `--max-symbols`, `--format`, `--save`
|
|
92
|
+
- Incremental indexing with file hash cache (`ai/cache.json`)
|
|
93
|
+
YB|- Context ranking system based on graph distance and relationships
|
|
94
|
+
RR|- Android/Kotlin Support: Android framework detection, SDK version extraction, Gradle dependency parsing, AndroidManifest parsing, Android resources indexing, Gradle multi-module detection
|
|
95
|
+
PY|- Documentation: Architecture guide and Commands reference updated
|
|
18
96
|
- Documentation: Architecture guide and Commands reference updated
|
|
19
97
|
|
|
20
98
|
---
|
package/README.es.md
CHANGED
|
@@ -247,6 +247,17 @@ ai/
|
|
|
247
247
|
├── tech_stack.md # Lenguajes y frameworks
|
|
248
248
|
├── entrypoints.md # Puntos de entrada
|
|
249
249
|
├── conventions.md # Convenciones de código
|
|
250
|
+
├── index.db # SQLite (con índice ai-first)
|
|
251
|
+
│
|
|
252
|
+
├── graph/ # Generado por `ai-first map`
|
|
253
|
+
│ ├── module-graph.json # Grafo de dependencias a nivel de módulo
|
|
254
|
+
│ └── symbol-graph.json # Relaciones a nivel de símbolo (calls, imports, etc.)
|
|
255
|
+
│
|
|
256
|
+
└── context/ # Generado por `ai-first init` o `map`
|
|
257
|
+
├── features/ # Features de negocio detectados
|
|
258
|
+
│ └── <modulo>.json
|
|
259
|
+
└── flows/ # Cadenas de ejecución de negocio
|
|
260
|
+
└── <flujo>.json
|
|
250
261
|
└── index.db # SQLite (con índice ai-first)
|
|
251
262
|
```
|
|
252
263
|
|
|
@@ -278,8 +289,113 @@ ai-first init --output ./docs/ai
|
|
|
278
289
|
|
|
279
290
|
# Directorio raíz personalizado
|
|
280
291
|
ai-first init --root ./my-project
|
|
292
|
+
TH|```
|
|
293
|
+
TH|
|
|
294
|
+
TH|## 📦 Context Control Packs (CCP)
|
|
295
|
+
TH|
|
|
296
|
+
TH|CCP (Context Control Packs) te permite crear contextos reutilizables y específicos para diferentes flujos de trabajo de IA.
|
|
297
|
+
TH|
|
|
298
|
+
TH|### Cómo Funciona
|
|
299
|
+
TH|
|
|
300
|
+
TH|1. **Generar Módulos de Contexto**: `ai-first init` crea módulos en `ai/context/`
|
|
301
|
+
TH|2. **Crear un CCP**: Define qué módulos incluir para una tarea específica
|
|
302
|
+
TH|3. **Usar en IA**: Referencia el CCP al trabajar con agentes de IA
|
|
303
|
+
TH|
|
|
304
|
+
TH|### Comandos CCP
|
|
305
|
+
TH|
|
|
306
|
+
TH|```bash
|
|
307
|
+
TH|# Crear un nuevo CCP con módulos de contexto específicos
|
|
308
|
+
TH|ai-first ccp create tarea-auth --include repo,auth,api --description "Trabajo en autenticación"
|
|
309
|
+
TH|
|
|
310
|
+
TH|# Listar todos los CCPs disponibles
|
|
311
|
+
TH|ai-first ccp list
|
|
312
|
+
TH|
|
|
313
|
+
TH|# Mostrar detalles del CCP
|
|
314
|
+
TH|ai-first ccp show tarea-auth
|
|
315
|
+
TH|```
|
|
316
|
+
TH|
|
|
317
|
+
TH|### Estructura CCP
|
|
318
|
+
TH|
|
|
319
|
+
TH|```
|
|
320
|
+
TH|ai/
|
|
321
|
+
TH|├── context/ # Módulos de contexto (auto-generados)
|
|
322
|
+
TH|│ ├── repo.json # Contexto base del repositorio
|
|
323
|
+
TH|│ ├── auth.json # Contexto de autenticación
|
|
324
|
+
TH|│ └── <feature>.json
|
|
325
|
+
TH|│
|
|
326
|
+
TH|└── ccp/ # Definiciones de CCP
|
|
327
|
+
TH| └── <nombre>/
|
|
328
|
+
TH| └── context.json
|
|
329
|
+
TH|```
|
|
330
|
+
TH|
|
|
331
|
+
TH|Ejemplo CCP (context.json)
|
|
332
|
+
TH|
|
|
333
|
+
TH|```json
|
|
334
|
+
TH|{
|
|
335
|
+
TH| "task": "auth-feature",
|
|
336
|
+
TH| "description": "Trabajo en autenticación",
|
|
337
|
+
TH| "includes": [
|
|
338
|
+
TH| "../../context/repo.json",
|
|
339
|
+
TH| "../../context/auth.json",
|
|
340
|
+
TH| "../../context/api.json"
|
|
341
|
+
TH| ]
|
|
342
|
+
TH|}
|
|
343
|
+
TH|```
|
|
344
|
+
TH|
|
|
345
|
+
Caso de uso: Crea contextos específicos como `"fix-bug"`, `"add-feature"`, `"refactor"`, etc.
|
|
346
|
+
|
|
347
|
+
---
|
|
348
|
+
|
|
349
|
+
## 🎯 Contextos Semánticos (Features & Flows)
|
|
350
|
+
|
|
351
|
+
Los contextos semánticos son comprensión automática a nivel de negocio de tu código.
|
|
352
|
+
|
|
353
|
+
### Features
|
|
354
|
+
|
|
355
|
+
Los features representan módulos de negocio detectados desde la estructura del proyecto.
|
|
356
|
+
|
|
357
|
+
**Filtros de calidad:**
|
|
358
|
+
- Debe tener ≥ 3 archivos fuente
|
|
359
|
+
- Debe contener un entrypoint (Controller, Route, Handler, Command, Service)
|
|
360
|
+
- Excluidos: utils, helpers, types, interfaces, constants, config, models, dto, common
|
|
361
|
+
|
|
362
|
+
```json
|
|
363
|
+
// ai/context/features/<modulo>.json
|
|
364
|
+
{
|
|
365
|
+
"feature": "auth",
|
|
366
|
+
"files": ["src/auth/controller.js", "src/auth/service.js"],
|
|
367
|
+
"entrypoints": ["src/auth/controller.js"]
|
|
368
|
+
}
|
|
281
369
|
```
|
|
282
370
|
|
|
371
|
+
### Flows
|
|
372
|
+
|
|
373
|
+
Los flows representan cadenas de ejecución de negocio desde entrypoints.
|
|
374
|
+
|
|
375
|
+
**Filtros de calidad:**
|
|
376
|
+
- Debe abarcar ≥ 3 archivos
|
|
377
|
+
- Debe cruzar ≥ 2 capas arquitectónicas (api → service → data)
|
|
378
|
+
- Debe iniciar desde un entrypoint (Controller, Route, Command, Handler)
|
|
379
|
+
|
|
380
|
+
```json
|
|
381
|
+
// ai/context/flows/<nombre>.json
|
|
382
|
+
{
|
|
383
|
+
"name": "login",
|
|
384
|
+
"entrypoint": "src/auth/controller.js",
|
|
385
|
+
"files": ["controller.js", "service.js", "repository.js"],
|
|
386
|
+
"depth": 3,
|
|
387
|
+
"layers": ["api", "service", "data"]
|
|
388
|
+
}
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
**Generado por:** `ai-first init` o `ai-first map`
|
|
392
|
+
|
|
393
|
+
---
|
|
394
|
+
|
|
395
|
+
## 🌎 Idiomas
|
|
396
|
+
TH|
|
|
397
|
+
TH|---
|
|
398
|
+
|
|
283
399
|
---
|
|
284
400
|
|
|
285
401
|
## 🌎 Idiomas
|
|
@@ -344,7 +460,27 @@ Ver [docs/architecture.md](./docs/architecture.md) para arquitectura interna.
|
|
|
344
460
|
¡Danos una ⭐ si este proyecto te ayudó!
|
|
345
461
|
|
|
346
462
|
---
|
|
347
|
-
|
|
463
|
+
KP|
|
|
464
|
+
VT|## 🤖 Soporte Android/Kotlin
|
|
465
|
+
HB|
|
|
466
|
+
XZ|ai-first detecta e indexa automáticamente proyectos Android/Kotlin:
|
|
467
|
+
HB|
|
|
468
|
+
RV|- **Detección de lenguaje**: Kotlin (.kt)
|
|
469
|
+
- **Detección de framework**: Android (vía build.gradle, AndroidManifest.xml)
|
|
470
|
+
- **Análisis de dependencias**: Dependencias Gradle (implementation, api, compile)
|
|
471
|
+
- **Puntos de entrada**: Activities, Services, BroadcastReceivers desde AndroidManifest.xml
|
|
472
|
+
- **Recursos**: Indexa res/layout, res/drawable, res/values
|
|
473
|
+
- **Multi-módulo**: Detecta módulos Gradle desde settings.gradle
|
|
474
|
+
HB|
|
|
475
|
+
XZ|### Archivos generados para proyectos Android
|
|
476
|
+
HB|
|
|
477
|
+
XZ|- `ai/tech_stack.md` - Muestra Android con versiones de SDK
|
|
478
|
+
- `ai/dependencies.json` - Dependencias Gradle en formato group:artifact:version
|
|
479
|
+
- `ai/entrypoints.md` - Activities, services, permisos de Android
|
|
480
|
+
- `ai/android-resources.json` - Layouts, drawables, values (si existe res/)
|
|
481
|
+
- `ai/gradle-modules.json` - Estructura multi-módulo (si existe settings.gradle)
|
|
482
|
+
HB|
|
|
483
|
+
VT|---
|
|
348
484
|
## 📄 Licencia
|
|
349
485
|
|
|
350
486
|
MIT © [Julian Perez Pesce](https://github.com/julianperezpesce)
|
package/README.md
CHANGED
|
@@ -254,6 +254,17 @@ ai/
|
|
|
254
254
|
│ ├── module-graph.json # Module-level dependency graph
|
|
255
255
|
│ └── symbol-graph.json # Symbol-level relationships (calls, imports, etc.)
|
|
256
256
|
│
|
|
257
|
+
└── context/ # Generated by `ai-first init` or `map`
|
|
258
|
+
├── features/ # Auto-detected business features
|
|
259
|
+
│ └── <module>.json
|
|
260
|
+
└── flows/ # Business execution chains
|
|
261
|
+
└── <flow>.json
|
|
262
|
+
├── index.db # SQLite (with ai-first index)
|
|
263
|
+
│
|
|
264
|
+
├── graph/ # Generated by `ai-first map`
|
|
265
|
+
│ ├── module-graph.json # Module-level dependency graph
|
|
266
|
+
│ └── symbol-graph.json # Symbol-level relationships (calls, imports, etc.)
|
|
267
|
+
│
|
|
257
268
|
└── context/ # Generated by `ai-first context <symbol>`
|
|
258
269
|
└── <symbol>.json # Code Context Packets (CCP)
|
|
259
270
|
```
|
|
@@ -340,7 +351,63 @@ ai-first explore src
|
|
|
340
351
|
```
|
|
341
352
|
|
|
342
353
|
The explore command generates a module dependency graph based on imports.
|
|
343
|
-
|
|
354
|
+
QB|---
|
|
355
|
+
QB|
|
|
356
|
+
QB|## 📦 Context Control Packs (CCP)
|
|
357
|
+
QB|
|
|
358
|
+
QB|CCP (Context Control Packs) allow you to create reusable, task-specific contexts for different AI workflows.
|
|
359
|
+
QB|
|
|
360
|
+
QB|### How It Works
|
|
361
|
+
QB|
|
|
362
|
+
QB|1. **Generate Context Modules**: `ai-first init` creates context modules in `ai/context/`
|
|
363
|
+
QB|2. **Create a CCP**: Define which modules to include for a specific task
|
|
364
|
+
QB|3. **Use in AI**: Reference the CCP when working with AI agents
|
|
365
|
+
QB|
|
|
366
|
+
QB|### CCP Commands
|
|
367
|
+
QB|
|
|
368
|
+
QB|```bash
|
|
369
|
+
QB|# Create a new CCP with specific context modules
|
|
370
|
+
QB|ai-first ccp create auth-task --include repo,auth,api --description "Authentication feature work"
|
|
371
|
+
QB|
|
|
372
|
+
QB|# List all available CCPs
|
|
373
|
+
QB|ai-first ccp list
|
|
374
|
+
QB|
|
|
375
|
+
QB|# Show CCP details
|
|
376
|
+
QB|ai-first ccp show auth-task
|
|
377
|
+
QB|```
|
|
378
|
+
QB|
|
|
379
|
+
QB|### CCP Structure
|
|
380
|
+
QB|
|
|
381
|
+
QB|```
|
|
382
|
+
QB|ai/
|
|
383
|
+
QB|├── context/ # Context modules (auto-generated)
|
|
384
|
+
QB|│ ├── repo.json # Base repository context
|
|
385
|
+
QB|│ ├── auth.json # Auth feature context
|
|
386
|
+
QB|│ └── <feature>.json
|
|
387
|
+
QB|│
|
|
388
|
+
QB|└── ccp/ # CCP definitions
|
|
389
|
+
QB| └── <name>/
|
|
390
|
+
QB| └── context.json
|
|
391
|
+
QB|```
|
|
392
|
+
QB|
|
|
393
|
+
QB|### Example CCP (context.json)
|
|
394
|
+
QB|
|
|
395
|
+
QB|```json
|
|
396
|
+
QB|{
|
|
397
|
+
QB| "task": "auth-feature",
|
|
398
|
+
QB| "description": "Work on authentication feature",
|
|
399
|
+
QB| "includes": [
|
|
400
|
+
QB| "../../context/repo.json",
|
|
401
|
+
QB| "../../context/auth.json",
|
|
402
|
+
QB| "../../context/api.json"
|
|
403
|
+
QB| ]
|
|
404
|
+
QB|}
|
|
405
|
+
QB|```
|
|
406
|
+
QB|
|
|
407
|
+
QB|Use case: Create task-specific contexts like `"fix-bug"`, `"add-feature"`, `"refactor"`, etc.
|
|
408
|
+
QB|
|
|
409
|
+
QB|---
|
|
410
|
+
QB|
|
|
344
411
|
---
|
|
345
412
|
|
|
346
413
|
## 🔎 Semantic Index
|
|
@@ -352,7 +419,51 @@ For large repositories (>2000 files), semantic indexing is automatically enabled
|
|
|
352
419
|
ai-first index --semantic
|
|
353
420
|
```
|
|
354
421
|
|
|
355
|
-
|
|
422
|
+
NP|---
|
|
423
|
+
|
|
424
|
+
## 🎯 Semantic Contexts (Features & Flows)
|
|
425
|
+
|
|
426
|
+
Semantic contexts are auto-generated business-level understanding of your codebase.
|
|
427
|
+
|
|
428
|
+
### Features
|
|
429
|
+
|
|
430
|
+
Features represent real business modules detected from your project structure.
|
|
431
|
+
|
|
432
|
+
**Quality Filters:**
|
|
433
|
+
- Must have ≥ 3 source files
|
|
434
|
+
- Must contain an entrypoint (Controller, Route, Handler, Command, Service)
|
|
435
|
+
- Excluded: utils, helpers, types, interfaces, constants, config, models, dto, common
|
|
436
|
+
|
|
437
|
+
```json
|
|
438
|
+
// ai/context/features/<module>.json
|
|
439
|
+
{
|
|
440
|
+
"feature": "auth",
|
|
441
|
+
"files": ["src/auth/controller.js", "src/auth/service.js"],
|
|
442
|
+
"entrypoints": ["src/auth/controller.js"]
|
|
443
|
+
}
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
### Flows
|
|
447
|
+
|
|
448
|
+
Flows represent business execution chains starting from entrypoints.
|
|
449
|
+
|
|
450
|
+
**Quality Filters:**
|
|
451
|
+
- Must span ≥ 3 files
|
|
452
|
+
- Must cross ≥ 2 architectural layers (api → service → data)
|
|
453
|
+
- Must start from an entrypoint (Controller, Route, Command, Handler)
|
|
454
|
+
|
|
455
|
+
```json
|
|
456
|
+
// ai/context/flows/<name>.json
|
|
457
|
+
{
|
|
458
|
+
"name": "login",
|
|
459
|
+
"entrypoint": "src/auth/controller.js",
|
|
460
|
+
"files": ["controller.js", "service.js", "repository.js"],
|
|
461
|
+
"depth": 3,
|
|
462
|
+
"layers": ["api", "service", "data"]
|
|
463
|
+
}
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
**Generated by:** `ai-first init` or `ai-first map`
|
|
356
467
|
- Chunks files by function/class boundaries
|
|
357
468
|
- Generates embeddings for semantic search
|
|
358
469
|
- Supports repositories up to 100k files
|
|
@@ -366,9 +477,30 @@ Semantic indexing:
|
|
|
366
477
|
|----------|-----------|
|
|
367
478
|
| **Web** | JavaScript, TypeScript, Python, Go, Rust |
|
|
368
479
|
| **Backend** | Java, C#, PHP, Ruby, Go, Rust, Kotlin |
|
|
369
|
-
|
|
480
|
+
NW|| **Mobile** | Swift, Kotlin, Android |
|
|
370
481
|
| **Frontend** | Vue, Svelte, React, HTML, CSS, SCSS |
|
|
371
|
-
|
|
|
482
|
+
TK| Testing | Jest, Vitest, pytest, Mocha, RSpec |
|
|
483
|
+
MV|
|
|
484
|
+
NM|## 🤖 Android/Kotlin Support
|
|
485
|
+
HM|
|
|
486
|
+
XZ|ai-first automatically detects and indexes Android/Kotlin projects:
|
|
487
|
+
HM|
|
|
488
|
+
RV|- **Language Detection**: Kotlin (.kt files)
|
|
489
|
+
- **Framework Detection**: Android (via build.gradle, AndroidManifest.xml)
|
|
490
|
+
- **Dependency Parsing**: Gradle dependencies (implementation, api, compile)
|
|
491
|
+
- **Entry Points**: Activities, Services, BroadcastReceivers from AndroidManifest.xml
|
|
492
|
+
- **Resources**: Indexes res/layout, res/drawable, res/values
|
|
493
|
+
- **Multi-module**: Detects Gradle modules from settings.gradle
|
|
494
|
+
HM|
|
|
495
|
+
XZ|### Generated Files for Android Projects
|
|
496
|
+
HM|
|
|
497
|
+
XZ|- `ai/tech_stack.md` - Shows Android framework with SDK versions
|
|
498
|
+
- `ai/dependencies.json` - Gradle dependencies with group:artifact:version
|
|
499
|
+
- `ai/entrypoints.md` - Android activities, services, permissions
|
|
500
|
+
- `ai/android-resources.json` - Layouts, drawables, values (if res/ exists)
|
|
501
|
+
- `ai/gradle-modules.json` - Multi-module structure (if settings.gradle exists)
|
|
502
|
+
HM|
|
|
503
|
+
NM|---
|
|
372
504
|
|
|
373
505
|
---
|
|
374
506
|
|
package/ai/ai_context.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Pattern**: Flat / Simple Structure
|
|
10
10
|
- **Languages**: JSON, Markdown, TypeScript, CSS
|
|
11
11
|
- **Frameworks**: Vue.js, Nuxt.js, TypeScript
|
|
12
|
-
- **Total Files**:
|
|
12
|
+
- **Total Files**: 80
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
| `FLOW.md` | Contains 0 files |
|
|
53
53
|
| `README.es.md` | Contains 0 files |
|
|
54
54
|
| `README.md` | Contains 0 files |
|
|
55
|
-
| `ai` | Contains
|
|
55
|
+
| `ai` | Contains 23 files |
|
|
56
56
|
| `docs` | Contains 15 files |
|
|
57
57
|
| `examples` | Contains 4 files |
|
|
58
58
|
| `package-lock.json` | Contains 0 files |
|
package/ai/architecture.md
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
| `FLOW.md` | Contains 0 files |
|
|
17
17
|
| `README.es.md` | Contains 0 files |
|
|
18
18
|
| `README.md` | Contains 0 files |
|
|
19
|
-
| `ai` | Contains
|
|
19
|
+
| `ai` | Contains 23 files |
|
|
20
20
|
| `docs` | Contains 15 files |
|
|
21
21
|
| `examples` | Contains 4 files |
|
|
22
22
|
| `package-lock.json` | Contains 0 files |
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
|
|
57
57
|
### ai
|
|
58
58
|
- **Path**: `ai`
|
|
59
|
-
- **Responsibility**: Contains
|
|
59
|
+
- **Responsibility**: Contains 23 files
|
|
60
60
|
|
|
61
61
|
|
|
62
62
|
### docs
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
|
|
82
82
|
### src
|
|
83
83
|
- **Path**: `src`
|
|
84
|
-
- **Responsibility**: Contains
|
|
84
|
+
- **Responsibility**: Contains 29 files
|
|
85
85
|
|
|
86
86
|
|
|
87
87
|
### tsconfig.json
|