ai-first-cli 1.3.1 → 1.3.6
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/.ai-dev/index.db +0 -0
- package/CHANGELOG.md +241 -0
- package/PHASE1_USER_SIMULATION.md +56 -0
- package/PHASE2_USER_SIMULATION.md +81 -0
- package/PHASE3_USER_SIMULATION.md +176 -0
- package/README.es.md +73 -0
- package/README.md +119 -15
- package/ai/graph/knowledge-graph.json +10 -0
- package/ai-context/ai_context.md +130 -0
- package/{test-projects/react-app/.ai-dev → ai-context}/ai_rules.md +10 -5
- package/ai-context/architecture.md +136 -0
- package/ai-context/context/features/src.json +69 -0
- package/ai-context/context/features/test-projects.json +69 -0
- package/ai-context/context/flows/ai-first.json +9 -0
- package/ai-context/context/flows/auth.json +13 -0
- package/ai-context/context/flows/doctor.json +9 -0
- package/ai-context/context/flows/explore.json +9 -0
- package/ai-context/context/flows/routes.json +15 -0
- package/ai-context/context/flows/user.json +23 -0
- package/ai-context/context/flows/views.json +12 -0
- package/{test-projects/react-app/.ai-dev → ai-context}/conventions.md +3 -2
- package/ai-context/dependencies.json +3360 -0
- package/ai-context/entrypoints.md +45 -0
- package/ai-context/index-state.json +196 -0
- package/ai-context/modules.json +901 -0
- package/ai-context/project.json +33 -0
- package/ai-context/repo_map.json +8857 -0
- package/ai-context/repo_map.md +2002 -0
- package/{test-projects/flask-app/.ai-dev → ai-context}/schema.json +1 -1
- package/ai-context/summary.md +46 -0
- package/ai-context/symbols.json +82467 -0
- package/{test-projects/react-app/.ai-dev → ai-context}/tech_stack.md +15 -7
- package/ai-context-evaluation-report-1774223059505.md +206 -0
- package/dist/analyzers/architecture.d.ts.map +1 -1
- package/dist/analyzers/architecture.js +78 -5
- package/dist/analyzers/architecture.js.map +1 -1
- package/dist/analyzers/entrypoints.d.ts.map +1 -1
- package/dist/analyzers/entrypoints.js +358 -0
- package/dist/analyzers/entrypoints.js.map +1 -1
- package/dist/analyzers/symbols.d.ts.map +1 -1
- package/dist/analyzers/symbols.js +119 -3
- package/dist/analyzers/symbols.js.map +1 -1
- package/dist/analyzers/techStack.d.ts +8 -0
- package/dist/analyzers/techStack.d.ts.map +1 -1
- package/dist/analyzers/techStack.js +118 -0
- package/dist/analyzers/techStack.js.map +1 -1
- package/dist/utils/fileUtils.d.ts.map +1 -1
- package/dist/utils/fileUtils.js +5 -0
- package/dist/utils/fileUtils.js.map +1 -1
- package/package.json +1 -1
- package/scripts/ai-context-evaluator.ts +440 -0
- package/src/analyzers/architecture.ts +83 -6
- package/src/analyzers/entrypoints.ts +400 -0
- package/src/analyzers/symbols.ts +129 -3
- package/src/analyzers/techStack.ts +137 -0
- package/src/utils/fileUtils.ts +5 -0
- package/tests/apex-parser.test.ts +193 -0
- package/tests/cli-commands-batch1.test.ts +808 -0
- package/tests/cli-commands-batch2.test.ts +1113 -0
- package/tests/cli-commands-batch3.test.ts +1128 -0
- package/tests/cli-index.test.ts +1007 -0
- package/tests/cli-init.test.ts +761 -0
- package/tests/entrypoints-languages.test.ts +373 -0
- package/tests/framework-detection.test.ts +296 -0
- package/tests/salesforce-apex-classes.test.ts +713 -0
- package/tests/salesforce-apex-triggers.test.ts +871 -0
- package/tests/salesforce-custom-objects.test.ts +918 -0
- package/tests/salesforce-flows.test.ts +710 -0
- package/tests/salesforce-lwc.test.ts +963 -0
- package/tests/salesforce-sfdx-integration.test.ts +1125 -0
- package/ANALISIS_COMPLETO.md +0 -424
- package/ANALISIS_MEJORAS.md +0 -327
- package/CONTRIBUTING.md +0 -89
- package/FLOW.md +0 -129
- package/TEST_RESULTS.md +0 -198
- package/TEST_RESULTS_COMPARATIVE.md +0 -159
- package/TEST_RESULTS_COMPLETE.md +0 -127
- package/TEST_RESULTS_COMPREHENSIVE.md +0 -208
- package/install.sh +0 -188
- package/run-all-tests.sh +0 -184
- package/test-ai-context-understanding.sh +0 -21
- package/test-projects/django-app/.ai-dev/ai_context.md +0 -92
- package/test-projects/django-app/.ai-dev/ai_rules.md +0 -47
- package/test-projects/django-app/.ai-dev/architecture.md +0 -57
- package/test-projects/django-app/.ai-dev/cache.json +0 -169
- package/test-projects/django-app/.ai-dev/context/flows/views.json +0 -10
- package/test-projects/django-app/.ai-dev/conventions.md +0 -51
- package/test-projects/django-app/.ai-dev/dependencies.json +0 -312
- package/test-projects/django-app/.ai-dev/entrypoints.md +0 -4
- package/test-projects/django-app/.ai-dev/files.json +0 -209
- package/test-projects/django-app/.ai-dev/graph/knowledge-graph.json +0 -36
- package/test-projects/django-app/.ai-dev/graph/module-graph.json +0 -145
- package/test-projects/django-app/.ai-dev/graph/symbol-graph.json +0 -1488
- package/test-projects/django-app/.ai-dev/graph/symbol-references.json +0 -1
- package/test-projects/django-app/.ai-dev/index-state.json +0 -294
- package/test-projects/django-app/.ai-dev/modules.json +0 -35
- package/test-projects/django-app/.ai-dev/project.json +0 -11
- package/test-projects/django-app/.ai-dev/repo_map.json +0 -412
- package/test-projects/django-app/.ai-dev/repo_map.md +0 -105
- package/test-projects/django-app/.ai-dev/schema.json +0 -5
- package/test-projects/django-app/.ai-dev/summary.md +0 -15
- package/test-projects/django-app/.ai-dev/symbols.json +0 -1
- package/test-projects/django-app/.ai-dev/tech_stack.md +0 -32
- package/test-projects/django-app/README.md +0 -91
- package/test-projects/django-app/blog/__init__.py +0 -0
- package/test-projects/django-app/blog/admin.py +0 -31
- package/test-projects/django-app/blog/models.py +0 -55
- package/test-projects/django-app/blog/serializers.py +0 -69
- package/test-projects/django-app/blog/urls.py +0 -14
- package/test-projects/django-app/blog/views.py +0 -96
- package/test-projects/django-app/django_app/__init__.py +0 -0
- package/test-projects/django-app/django_app/settings.py +0 -90
- package/test-projects/django-app/django_app/urls.py +0 -11
- package/test-projects/django-app/django_app/wsgi.py +0 -9
- package/test-projects/django-app/manage.py +0 -23
- package/test-projects/django-app/requirements.txt +0 -3
- package/test-projects/django-app/users/__init__.py +0 -0
- package/test-projects/django-app/users/admin.py +0 -42
- package/test-projects/django-app/users/models.py +0 -54
- package/test-projects/django-app/users/serializers.py +0 -113
- package/test-projects/django-app/users/urls.py +0 -13
- package/test-projects/django-app/users/views.py +0 -135
- package/test-projects/express-api/.ai-dev/ai_context.md +0 -112
- package/test-projects/express-api/.ai-dev/ai_rules.md +0 -50
- package/test-projects/express-api/.ai-dev/architecture.md +0 -62
- package/test-projects/express-api/.ai-dev/context/features/controllers.json +0 -13
- package/test-projects/express-api/.ai-dev/context/features/services.json +0 -13
- package/test-projects/express-api/.ai-dev/context/flows/auth.json +0 -12
- package/test-projects/express-api/.ai-dev/context/flows/user.json +0 -13
- package/test-projects/express-api/.ai-dev/conventions.md +0 -51
- package/test-projects/express-api/.ai-dev/dependencies.json +0 -54
- package/test-projects/express-api/.ai-dev/entrypoints.md +0 -17
- package/test-projects/express-api/.ai-dev/modules.json +0 -30
- package/test-projects/express-api/.ai-dev/project.json +0 -15
- package/test-projects/express-api/.ai-dev/repo_map.json +0 -100
- package/test-projects/express-api/.ai-dev/repo_map.md +0 -36
- package/test-projects/express-api/.ai-dev/schema.json +0 -5
- package/test-projects/express-api/.ai-dev/summary.md +0 -14
- package/test-projects/express-api/.ai-dev/symbols.json +0 -7
- package/test-projects/express-api/.ai-dev/tech_stack.md +0 -38
- package/test-projects/express-api/.ai-dev/tools.json +0 -10
- package/test-projects/express-api/controllers/authController.js +0 -32
- package/test-projects/express-api/controllers/userController.js +0 -51
- package/test-projects/express-api/index.js +0 -30
- package/test-projects/express-api/middleware/authMiddleware.js +0 -30
- package/test-projects/express-api/models/userRepository.js +0 -25
- package/test-projects/express-api/package.json +0 -18
- package/test-projects/express-api/services/authService.js +0 -17
- package/test-projects/express-api/services/userService.js +0 -28
- package/test-projects/fastapi-app/.ai-dev/ai_context.md +0 -89
- package/test-projects/fastapi-app/.ai-dev/ai_rules.md +0 -47
- package/test-projects/fastapi-app/.ai-dev/architecture.md +0 -39
- package/test-projects/fastapi-app/.ai-dev/cache.json +0 -125
- package/test-projects/fastapi-app/.ai-dev/conventions.md +0 -51
- package/test-projects/fastapi-app/.ai-dev/dependencies.json +0 -244
- package/test-projects/fastapi-app/.ai-dev/entrypoints.md +0 -4
- package/test-projects/fastapi-app/.ai-dev/files.json +0 -154
- package/test-projects/fastapi-app/.ai-dev/graph/knowledge-graph.json +0 -15
- package/test-projects/fastapi-app/.ai-dev/graph/module-graph.json +0 -78
- package/test-projects/fastapi-app/.ai-dev/graph/symbol-graph.json +0 -1724
- package/test-projects/fastapi-app/.ai-dev/graph/symbol-references.json +0 -51
- package/test-projects/fastapi-app/.ai-dev/index-state.json +0 -217
- package/test-projects/fastapi-app/.ai-dev/modules.json +0 -16
- package/test-projects/fastapi-app/.ai-dev/project.json +0 -9
- package/test-projects/fastapi-app/.ai-dev/repo_map.json +0 -298
- package/test-projects/fastapi-app/.ai-dev/repo_map.md +0 -74
- package/test-projects/fastapi-app/.ai-dev/schema.json +0 -5
- package/test-projects/fastapi-app/.ai-dev/summary.md +0 -12
- package/test-projects/fastapi-app/.ai-dev/symbols.json +0 -1
- package/test-projects/fastapi-app/.ai-dev/tech_stack.md +0 -32
- package/test-projects/fastapi-app/.ai-dev/tools.json +0 -10
- package/test-projects/fastapi-app/README.md +0 -118
- package/test-projects/fastapi-app/app/database.py +0 -21
- package/test-projects/fastapi-app/app/dependencies.py +0 -107
- package/test-projects/fastapi-app/app/main.py +0 -47
- package/test-projects/fastapi-app/app/models.py +0 -149
- package/test-projects/fastapi-app/app/routers/auth.py +0 -117
- package/test-projects/fastapi-app/app/routers/posts.py +0 -272
- package/test-projects/fastapi-app/app/schemas.py +0 -191
- package/test-projects/fastapi-app/requirements.txt +0 -10
- package/test-projects/flask-app/.ai-dev/ai_context.md +0 -94
- package/test-projects/flask-app/.ai-dev/ai_rules.md +0 -47
- package/test-projects/flask-app/.ai-dev/architecture.md +0 -49
- package/test-projects/flask-app/.ai-dev/cache.json +0 -157
- package/test-projects/flask-app/.ai-dev/context/features/app.json +0 -25
- package/test-projects/flask-app/.ai-dev/context/flows/routes.json +0 -14
- package/test-projects/flask-app/.ai-dev/conventions.md +0 -51
- package/test-projects/flask-app/.ai-dev/dependencies.json +0 -298
- package/test-projects/flask-app/.ai-dev/entrypoints.md +0 -4
- package/test-projects/flask-app/.ai-dev/files.json +0 -194
- package/test-projects/flask-app/.ai-dev/graph/knowledge-graph.json +0 -60
- package/test-projects/flask-app/.ai-dev/graph/module-graph.json +0 -95
- package/test-projects/flask-app/.ai-dev/graph/symbol-graph.json +0 -1448
- package/test-projects/flask-app/.ai-dev/graph/symbol-references.json +0 -45
- package/test-projects/flask-app/.ai-dev/index-state.json +0 -273
- package/test-projects/flask-app/.ai-dev/modules.json +0 -21
- package/test-projects/flask-app/.ai-dev/project.json +0 -13
- package/test-projects/flask-app/.ai-dev/repo_map.json +0 -400
- package/test-projects/flask-app/.ai-dev/repo_map.md +0 -98
- package/test-projects/flask-app/.ai-dev/summary.md +0 -13
- package/test-projects/flask-app/.ai-dev/symbols.json +0 -1
- package/test-projects/flask-app/.ai-dev/tech_stack.md +0 -32
- package/test-projects/flask-app/.ai-dev/tools.json +0 -10
- package/test-projects/flask-app/README.md +0 -129
- package/test-projects/flask-app/app/__init__.py +0 -46
- package/test-projects/flask-app/app/api/__init__.py +0 -7
- package/test-projects/flask-app/app/api/routes.py +0 -122
- package/test-projects/flask-app/app/auth/__init__.py +0 -7
- package/test-projects/flask-app/app/auth/forms.py +0 -52
- package/test-projects/flask-app/app/auth/routes.py +0 -68
- package/test-projects/flask-app/app/blog/__init__.py +0 -7
- package/test-projects/flask-app/app/blog/forms.py +0 -35
- package/test-projects/flask-app/app/blog/routes.py +0 -140
- package/test-projects/flask-app/app/main/__init__.py +0 -7
- package/test-projects/flask-app/app/main/routes.py +0 -88
- package/test-projects/flask-app/app/models.py +0 -177
- package/test-projects/flask-app/config.py +0 -64
- package/test-projects/flask-app/requirements.txt +0 -10
- package/test-projects/laravel-app/.ai-dev/ai_context.md +0 -97
- package/test-projects/laravel-app/.ai-dev/ai_rules.md +0 -47
- package/test-projects/laravel-app/.ai-dev/architecture.md +0 -60
- package/test-projects/laravel-app/.ai-dev/cache.json +0 -161
- package/test-projects/laravel-app/.ai-dev/context/features/app.json +0 -21
- package/test-projects/laravel-app/.ai-dev/context/flows/.json +0 -9
- package/test-projects/laravel-app/.ai-dev/context/flows/category.json +0 -12
- package/test-projects/laravel-app/.ai-dev/context/flows/comment.json +0 -12
- package/test-projects/laravel-app/.ai-dev/context/flows/post.json +0 -12
- package/test-projects/laravel-app/.ai-dev/context/flows/unnamed.json +0 -9
- package/test-projects/laravel-app/.ai-dev/conventions.md +0 -51
- package/test-projects/laravel-app/.ai-dev/dependencies.json +0 -6
- package/test-projects/laravel-app/.ai-dev/entrypoints.md +0 -4
- package/test-projects/laravel-app/.ai-dev/files.json +0 -199
- package/test-projects/laravel-app/.ai-dev/graph/knowledge-graph.json +0 -98
- package/test-projects/laravel-app/.ai-dev/graph/module-graph.json +0 -30
- package/test-projects/laravel-app/.ai-dev/graph/symbol-graph.json +0 -5
- package/test-projects/laravel-app/.ai-dev/graph/symbol-references.json +0 -1
- package/test-projects/laravel-app/.ai-dev/index-state.json +0 -280
- package/test-projects/laravel-app/.ai-dev/modules.json +0 -29
- package/test-projects/laravel-app/.ai-dev/project.json +0 -17
- package/test-projects/laravel-app/.ai-dev/repo_map.json +0 -419
- package/test-projects/laravel-app/.ai-dev/repo_map.md +0 -106
- package/test-projects/laravel-app/.ai-dev/schema.json +0 -5
- package/test-projects/laravel-app/.ai-dev/summary.md +0 -15
- package/test-projects/laravel-app/.ai-dev/symbols.json +0 -1
- package/test-projects/laravel-app/.ai-dev/tech_stack.md +0 -34
- package/test-projects/laravel-app/.ai-dev/tools.json +0 -10
- package/test-projects/laravel-app/README.md +0 -107
- package/test-projects/laravel-app/app/Http/Controllers/Api/CategoryController.php +0 -88
- package/test-projects/laravel-app/app/Http/Controllers/Api/CommentController.php +0 -56
- package/test-projects/laravel-app/app/Http/Controllers/Api/PostController.php +0 -174
- package/test-projects/laravel-app/app/Http/Controllers/Controller.php +0 -12
- package/test-projects/laravel-app/app/Models/Category.php +0 -34
- package/test-projects/laravel-app/app/Models/Comment.php +0 -51
- package/test-projects/laravel-app/app/Models/Post.php +0 -108
- package/test-projects/laravel-app/app/Models/User.php +0 -85
- package/test-projects/laravel-app/bootstrap/app.php +0 -25
- package/test-projects/laravel-app/composer.json +0 -35
- package/test-projects/laravel-app/routes/api.php +0 -40
- package/test-projects/nestjs-backend/.ai-dev/ai_context.md +0 -111
- package/test-projects/nestjs-backend/.ai-dev/ai_rules.md +0 -52
- package/test-projects/nestjs-backend/.ai-dev/architecture.md +0 -49
- package/test-projects/nestjs-backend/.ai-dev/cache.json +0 -169
- package/test-projects/nestjs-backend/.ai-dev/context/features/src.json +0 -23
- package/test-projects/nestjs-backend/.ai-dev/context/flows/auth.controller.json +0 -14
- package/test-projects/nestjs-backend/.ai-dev/context/flows/auth.json +0 -10
- package/test-projects/nestjs-backend/.ai-dev/context/flows/users..json +0 -10
- package/test-projects/nestjs-backend/.ai-dev/context/flows/users.controller.json +0 -14
- package/test-projects/nestjs-backend/.ai-dev/context/flows/users.json +0 -10
- package/test-projects/nestjs-backend/.ai-dev/conventions.md +0 -52
- package/test-projects/nestjs-backend/.ai-dev/dependencies.json +0 -152
- package/test-projects/nestjs-backend/.ai-dev/entrypoints.md +0 -18
- package/test-projects/nestjs-backend/.ai-dev/files.json +0 -209
- package/test-projects/nestjs-backend/.ai-dev/graph/knowledge-graph.json +0 -132
- package/test-projects/nestjs-backend/.ai-dev/graph/module-graph.json +0 -29
- package/test-projects/nestjs-backend/.ai-dev/graph/symbol-graph.json +0 -304
- package/test-projects/nestjs-backend/.ai-dev/graph/symbol-references.json +0 -5
- package/test-projects/nestjs-backend/.ai-dev/index-state.json +0 -294
- package/test-projects/nestjs-backend/.ai-dev/modules.json +0 -19
- package/test-projects/nestjs-backend/.ai-dev/project.json +0 -18
- package/test-projects/nestjs-backend/.ai-dev/repo_map.json +0 -427
- package/test-projects/nestjs-backend/.ai-dev/repo_map.md +0 -104
- package/test-projects/nestjs-backend/.ai-dev/schema.json +0 -5
- package/test-projects/nestjs-backend/.ai-dev/summary.md +0 -13
- package/test-projects/nestjs-backend/.ai-dev/symbols.json +0 -1
- package/test-projects/nestjs-backend/.ai-dev/tech_stack.md +0 -38
- package/test-projects/nestjs-backend/.ai-dev/tools.json +0 -10
- package/test-projects/nestjs-backend/package.json +0 -22
- package/test-projects/nestjs-backend/src/app.module.ts +0 -8
- package/test-projects/nestjs-backend/src/auth/auth.controller.ts +0 -22
- package/test-projects/nestjs-backend/src/auth/auth.module.ts +0 -11
- package/test-projects/nestjs-backend/src/auth/auth.service.ts +0 -28
- package/test-projects/nestjs-backend/src/auth/dto/login.dto.ts +0 -4
- package/test-projects/nestjs-backend/src/auth/strategies/jwt.strategy.ts +0 -18
- package/test-projects/nestjs-backend/src/main.ts +0 -9
- package/test-projects/nestjs-backend/src/users/users.controller.ts +0 -32
- package/test-projects/nestjs-backend/src/users/users.module.ts +0 -10
- package/test-projects/nestjs-backend/src/users/users.service.ts +0 -42
- package/test-projects/nestjs-backend/tsconfig.json +0 -21
- package/test-projects/python-cli/.ai-dev/ai_context.md +0 -95
- package/test-projects/python-cli/.ai-dev/ai_rules.md +0 -47
- package/test-projects/python-cli/.ai-dev/architecture.md +0 -55
- package/test-projects/python-cli/.ai-dev/cache.json +0 -149
- package/test-projects/python-cli/.ai-dev/context/features/cli.json +0 -16
- package/test-projects/python-cli/.ai-dev/context/flows/list_.json +0 -9
- package/test-projects/python-cli/.ai-dev/context/flows/remove_.json +0 -9
- package/test-projects/python-cli/.ai-dev/conventions.md +0 -51
- package/test-projects/python-cli/.ai-dev/dependencies.json +0 -66
- package/test-projects/python-cli/.ai-dev/entrypoints.md +0 -4
- package/test-projects/python-cli/.ai-dev/files.json +0 -184
- package/test-projects/python-cli/.ai-dev/graph/knowledge-graph.json +0 -83
- package/test-projects/python-cli/.ai-dev/graph/module-graph.json +0 -31
- package/test-projects/python-cli/.ai-dev/graph/symbol-graph.json +0 -358
- package/test-projects/python-cli/.ai-dev/graph/symbol-references.json +0 -11
- package/test-projects/python-cli/.ai-dev/index-state.json +0 -259
- package/test-projects/python-cli/.ai-dev/modules.json +0 -21
- package/test-projects/python-cli/.ai-dev/project.json +0 -15
- package/test-projects/python-cli/.ai-dev/repo_map.json +0 -367
- package/test-projects/python-cli/.ai-dev/repo_map.md +0 -93
- package/test-projects/python-cli/.ai-dev/schema.json +0 -5
- package/test-projects/python-cli/.ai-dev/summary.md +0 -14
- package/test-projects/python-cli/.ai-dev/symbols.json +0 -1
- package/test-projects/python-cli/.ai-dev/tech_stack.md +0 -32
- package/test-projects/python-cli/.ai-dev/tools.json +0 -10
- package/test-projects/python-cli/__init__.py +0 -1
- package/test-projects/python-cli/cli/__init__.py +0 -1
- package/test-projects/python-cli/cli/add_command.py +0 -6
- package/test-projects/python-cli/cli/list_command.py +0 -7
- package/test-projects/python-cli/cli/remove_command.py +0 -6
- package/test-projects/python-cli/main.py +0 -34
- package/test-projects/python-cli/models/__init__.py +0 -2
- package/test-projects/python-cli/models/task.py +0 -19
- package/test-projects/python-cli/models/task_repository.py +0 -44
- package/test-projects/rails-app/.ai-dev/ai_context.md +0 -94
- package/test-projects/rails-app/.ai-dev/ai_rules.md +0 -47
- package/test-projects/rails-app/.ai-dev/architecture.md +0 -49
- package/test-projects/rails-app/.ai-dev/cache.json +0 -193
- package/test-projects/rails-app/.ai-dev/context/features/app.json +0 -24
- package/test-projects/rails-app/.ai-dev/context/features/config.json +0 -13
- package/test-projects/rails-app/.ai-dev/context/flows/application.json +0 -9
- package/test-projects/rails-app/.ai-dev/context/flows/application_.json +0 -9
- package/test-projects/rails-app/.ai-dev/context/flows/comments.json +0 -11
- package/test-projects/rails-app/.ai-dev/context/flows/comments_.json +0 -11
- package/test-projects/rails-app/.ai-dev/context/flows/posts.json +0 -11
- package/test-projects/rails-app/.ai-dev/context/flows/posts_.json +0 -11
- package/test-projects/rails-app/.ai-dev/context/flows/routes.json +0 -9
- package/test-projects/rails-app/.ai-dev/context/flows/users.json +0 -11
- package/test-projects/rails-app/.ai-dev/context/flows/users_.json +0 -11
- package/test-projects/rails-app/.ai-dev/conventions.md +0 -51
- package/test-projects/rails-app/.ai-dev/dependencies.json +0 -6
- package/test-projects/rails-app/.ai-dev/entrypoints.md +0 -4
- package/test-projects/rails-app/.ai-dev/files.json +0 -239
- package/test-projects/rails-app/.ai-dev/graph/knowledge-graph.json +0 -130
- package/test-projects/rails-app/.ai-dev/graph/module-graph.json +0 -27
- package/test-projects/rails-app/.ai-dev/graph/symbol-graph.json +0 -5
- package/test-projects/rails-app/.ai-dev/graph/symbol-references.json +0 -1
- package/test-projects/rails-app/.ai-dev/index-state.json +0 -336
- package/test-projects/rails-app/.ai-dev/modules.json +0 -26
- package/test-projects/rails-app/.ai-dev/project.json +0 -22
- package/test-projects/rails-app/.ai-dev/repo_map.json +0 -486
- package/test-projects/rails-app/.ai-dev/repo_map.md +0 -117
- package/test-projects/rails-app/.ai-dev/schema.json +0 -5
- package/test-projects/rails-app/.ai-dev/summary.md +0 -13
- package/test-projects/rails-app/.ai-dev/symbols.json +0 -1
- package/test-projects/rails-app/.ai-dev/tech_stack.md +0 -32
- package/test-projects/rails-app/.ai-dev/tools.json +0 -10
- package/test-projects/rails-app/Gemfile +0 -38
- package/test-projects/rails-app/README.md +0 -140
- package/test-projects/rails-app/Rakefile +0 -8
- package/test-projects/rails-app/app/controllers/api/comments_controller.rb +0 -75
- package/test-projects/rails-app/app/controllers/api/posts_controller.rb +0 -68
- package/test-projects/rails-app/app/controllers/api/users_controller.rb +0 -54
- package/test-projects/rails-app/app/controllers/application_controller.rb +0 -31
- package/test-projects/rails-app/app/models/comment.rb +0 -34
- package/test-projects/rails-app/app/models/post.rb +0 -36
- package/test-projects/rails-app/app/models/user.rb +0 -28
- package/test-projects/rails-app/app/services/post_service.rb +0 -92
- package/test-projects/rails-app/app/services/user_service.rb +0 -76
- package/test-projects/rails-app/config/application.rb +0 -27
- package/test-projects/rails-app/config/environment.rb +0 -7
- package/test-projects/rails-app/config/routes.rb +0 -15
- package/test-projects/react-app/.ai-dev/ai_context.md +0 -96
- package/test-projects/react-app/.ai-dev/architecture.md +0 -39
- package/test-projects/react-app/.ai-dev/cache.json +0 -153
- package/test-projects/react-app/.ai-dev/context/features/src.json +0 -18
- package/test-projects/react-app/.ai-dev/context/flows/UsersPage.json +0 -14
- package/test-projects/react-app/.ai-dev/context/flows/dashboard.json +0 -9
- package/test-projects/react-app/.ai-dev/context/flows/login.json +0 -9
- package/test-projects/react-app/.ai-dev/context/flows/users.json +0 -9
- package/test-projects/react-app/.ai-dev/dependencies.json +0 -128
- package/test-projects/react-app/.ai-dev/entrypoints.md +0 -4
- package/test-projects/react-app/.ai-dev/files.json +0 -189
- package/test-projects/react-app/.ai-dev/graph/knowledge-graph.json +0 -112
- package/test-projects/react-app/.ai-dev/graph/module-graph.json +0 -31
- package/test-projects/react-app/.ai-dev/graph/symbol-graph.json +0 -868
- package/test-projects/react-app/.ai-dev/graph/symbol-references.json +0 -31
- package/test-projects/react-app/.ai-dev/index-state.json +0 -266
- package/test-projects/react-app/.ai-dev/modules.json +0 -17
- package/test-projects/react-app/.ai-dev/project.json +0 -16
- package/test-projects/react-app/.ai-dev/repo_map.json +0 -391
- package/test-projects/react-app/.ai-dev/repo_map.md +0 -94
- package/test-projects/react-app/.ai-dev/schema.json +0 -5
- package/test-projects/react-app/.ai-dev/summary.md +0 -13
- package/test-projects/react-app/.ai-dev/symbols.json +0 -1
- package/test-projects/react-app/.ai-dev/tools.json +0 -10
- package/test-projects/react-app/package.json +0 -16
- package/test-projects/react-app/src/App.tsx +0 -21
- package/test-projects/react-app/src/context/AuthContext.tsx +0 -41
- package/test-projects/react-app/src/hooks/useAuth.ts +0 -10
- package/test-projects/react-app/src/main.tsx +0 -10
- package/test-projects/react-app/src/pages/DashboardPage.tsx +0 -17
- package/test-projects/react-app/src/pages/LoginPage.tsx +0 -41
- package/test-projects/react-app/src/pages/UsersPage.tsx +0 -36
- package/test-projects/react-app/src/services/userService.ts +0 -37
- package/test-projects/salesforce-cli/.ai-dev/ai_context.md +0 -89
- package/test-projects/salesforce-cli/.ai-dev/ai_rules.md +0 -47
- package/test-projects/salesforce-cli/.ai-dev/architecture.md +0 -39
- package/test-projects/salesforce-cli/.ai-dev/cache.json +0 -125
- package/test-projects/salesforce-cli/.ai-dev/context/features/force-app.json +0 -14
- package/test-projects/salesforce-cli/.ai-dev/context/flows/account.json +0 -9
- package/test-projects/salesforce-cli/.ai-dev/context/flows/opportunity.json +0 -9
- package/test-projects/salesforce-cli/.ai-dev/conventions.md +0 -51
- package/test-projects/salesforce-cli/.ai-dev/dependencies.json +0 -6
- package/test-projects/salesforce-cli/.ai-dev/entrypoints.md +0 -4
- package/test-projects/salesforce-cli/.ai-dev/files.json +0 -154
- package/test-projects/salesforce-cli/.ai-dev/graph/knowledge-graph.json +0 -64
- package/test-projects/salesforce-cli/.ai-dev/graph/module-graph.json +0 -13
- package/test-projects/salesforce-cli/.ai-dev/graph/symbol-graph.json +0 -148
- package/test-projects/salesforce-cli/.ai-dev/graph/symbol-references.json +0 -1
- package/test-projects/salesforce-cli/.ai-dev/index-state.json +0 -217
- package/test-projects/salesforce-cli/.ai-dev/modules.json +0 -12
- package/test-projects/salesforce-cli/.ai-dev/project.json +0 -14
- package/test-projects/salesforce-cli/.ai-dev/repo_map.json +0 -328
- package/test-projects/salesforce-cli/.ai-dev/repo_map.md +0 -80
- package/test-projects/salesforce-cli/.ai-dev/schema.json +0 -5
- package/test-projects/salesforce-cli/.ai-dev/summary.md +0 -13
- package/test-projects/salesforce-cli/.ai-dev/symbols.json +0 -1
- package/test-projects/salesforce-cli/.ai-dev/tech_stack.md +0 -31
- package/test-projects/salesforce-cli/.ai-dev/tools.json +0 -10
- package/test-projects/salesforce-cli/.forceignore +0 -27
- package/test-projects/salesforce-cli/force-app/main/default/classes/AccountController.cls +0 -24
- package/test-projects/salesforce-cli/force-app/main/default/classes/OpportunityController.cls +0 -25
- package/test-projects/salesforce-cli/force-app/main/default/objects/Project__c.object.xml +0 -45
- package/test-projects/salesforce-cli/force-app/main/default/triggers/AccountTrigger.trigger +0 -33
- package/test-projects/salesforce-cli/sfdx-project.json +0 -11
- package/test-projects/spring-boot-app/.ai-dev/ai_context.md +0 -91
- package/test-projects/spring-boot-app/.ai-dev/ai_rules.md +0 -48
- package/test-projects/spring-boot-app/.ai-dev/architecture.md +0 -39
- package/test-projects/spring-boot-app/.ai-dev/cache.json +0 -173
- package/test-projects/spring-boot-app/.ai-dev/context/features/src.json +0 -26
- package/test-projects/spring-boot-app/.ai-dev/context/flows/PostController.json +0 -19
- package/test-projects/spring-boot-app/.ai-dev/context/flows/UserController.json +0 -19
- package/test-projects/spring-boot-app/.ai-dev/context/flows/comment.json +0 -11
- package/test-projects/spring-boot-app/.ai-dev/context/flows/post.json +0 -14
- package/test-projects/spring-boot-app/.ai-dev/context/flows/user.json +0 -14
- package/test-projects/spring-boot-app/.ai-dev/conventions.md +0 -52
- package/test-projects/spring-boot-app/.ai-dev/dependencies.json +0 -326
- package/test-projects/spring-boot-app/.ai-dev/entrypoints.md +0 -4
- package/test-projects/spring-boot-app/.ai-dev/files.json +0 -214
- package/test-projects/spring-boot-app/.ai-dev/graph/knowledge-graph.json +0 -231
- package/test-projects/spring-boot-app/.ai-dev/graph/module-graph.json +0 -22
- package/test-projects/spring-boot-app/.ai-dev/graph/symbol-graph.json +0 -794
- package/test-projects/spring-boot-app/.ai-dev/graph/symbol-references.json +0 -70
- package/test-projects/spring-boot-app/.ai-dev/index-state.json +0 -301
- package/test-projects/spring-boot-app/.ai-dev/modules.json +0 -21
- package/test-projects/spring-boot-app/.ai-dev/project.json +0 -17
- package/test-projects/spring-boot-app/.ai-dev/repo_map.json +0 -461
- package/test-projects/spring-boot-app/.ai-dev/repo_map.md +0 -109
- package/test-projects/spring-boot-app/.ai-dev/schema.json +0 -5
- package/test-projects/spring-boot-app/.ai-dev/summary.md +0 -12
- package/test-projects/spring-boot-app/.ai-dev/symbols.json +0 -1
- package/test-projects/spring-boot-app/.ai-dev/tech_stack.md +0 -32
- package/test-projects/spring-boot-app/.ai-dev/tools.json +0 -10
- package/test-projects/spring-boot-app/.classpath +0 -57
- package/test-projects/spring-boot-app/.factorypath +0 -69
- package/test-projects/spring-boot-app/.project +0 -34
- package/test-projects/spring-boot-app/.settings/org.eclipse.core.resources.prefs +0 -4
- package/test-projects/spring-boot-app/.settings/org.eclipse.jdt.apt.core.prefs +0 -4
- package/test-projects/spring-boot-app/.settings/org.eclipse.jdt.core.prefs +0 -10
- package/test-projects/spring-boot-app/.settings/org.eclipse.m2e.core.prefs +0 -4
- package/test-projects/spring-boot-app/README.md +0 -122
- package/test-projects/spring-boot-app/pom.xml +0 -79
- package/test-projects/spring-boot-app/src/main/java/com/example/demo/DemoApplication.java +0 -12
- package/test-projects/spring-boot-app/src/main/java/com/example/demo/controllers/CommentController.java +0 -89
- package/test-projects/spring-boot-app/src/main/java/com/example/demo/controllers/PostController.java +0 -92
- package/test-projects/spring-boot-app/src/main/java/com/example/demo/controllers/UserController.java +0 -84
- package/test-projects/spring-boot-app/src/main/java/com/example/demo/models/Comment.java +0 -38
- package/test-projects/spring-boot-app/src/main/java/com/example/demo/models/Post.java +0 -56
- package/test-projects/spring-boot-app/src/main/java/com/example/demo/models/User.java +0 -44
- package/test-projects/spring-boot-app/src/main/java/com/example/demo/repositories/CommentRepository.java +0 -21
- package/test-projects/spring-boot-app/src/main/java/com/example/demo/repositories/PostRepository.java +0 -18
- package/test-projects/spring-boot-app/src/main/java/com/example/demo/repositories/UserRepository.java +0 -15
- package/test-projects/spring-boot-app/src/main/java/com/example/demo/services/PostService.java +0 -83
- package/test-projects/spring-boot-app/src/main/java/com/example/demo/services/UserService.java +0 -62
- package/test-projects/spring-boot-app/src/main/resources/application.properties +0 -22
- package/test-projects/spring-boot-app/target/classes/com/example/demo/DemoApplication.class +0 -0
- package/test-projects/spring-boot-app/target/classes/com/example/demo/controllers/CommentController$CommentCreateRequest.class +0 -0
- package/test-projects/spring-boot-app/target/classes/com/example/demo/controllers/CommentController$CommentUpdateRequest.class +0 -0
- package/test-projects/spring-boot-app/target/classes/com/example/demo/controllers/CommentController.class +0 -0
- package/test-projects/spring-boot-app/target/classes/com/example/demo/controllers/PostController$PostCreateRequest.class +0 -0
- package/test-projects/spring-boot-app/target/classes/com/example/demo/controllers/PostController$PostUpdateRequest.class +0 -0
- package/test-projects/spring-boot-app/target/classes/com/example/demo/controllers/PostController.class +0 -0
- package/test-projects/spring-boot-app/target/classes/com/example/demo/controllers/UserController$UserCreateRequest.class +0 -0
- package/test-projects/spring-boot-app/target/classes/com/example/demo/controllers/UserController$UserUpdateRequest.class +0 -0
- package/test-projects/spring-boot-app/target/classes/com/example/demo/controllers/UserController.class +0 -0
- package/test-projects/spring-boot-app/target/classes/com/example/demo/models/Comment.class +0 -0
- package/test-projects/spring-boot-app/target/classes/com/example/demo/models/Post.class +0 -0
- package/test-projects/spring-boot-app/target/classes/com/example/demo/models/User.class +0 -0
- package/test-projects/spring-boot-app/target/classes/com/example/demo/repositories/CommentRepository.class +0 -0
- package/test-projects/spring-boot-app/target/classes/com/example/demo/repositories/PostRepository.class +0 -0
- package/test-projects/spring-boot-app/target/classes/com/example/demo/repositories/UserRepository.class +0 -0
- package/test-projects/spring-boot-app/target/classes/com/example/demo/services/PostService.class +0 -0
- package/test-projects/spring-boot-app/target/classes/com/example/demo/services/UserService.class +0 -0
- package/tests/e2e/run-e2e.sh +0 -88
- /package/{test-projects/django-app/.ai-dev → ai-context}/tools.json +0 -0
package/.ai-dev/index.db
ADDED
|
Binary file
|
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,247 @@ All notable changes to `ai-first` will be documented in this file.
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [1.3.6] - 2026-03-28
|
|
10
|
+
|
|
11
|
+
### 🎯 AI Recommendations Implementation
|
|
12
|
+
|
|
13
|
+
**Branch:** `feature/ai-recommendations-v1.3.6`
|
|
14
|
+
|
|
15
|
+
#### Added
|
|
16
|
+
|
|
17
|
+
- **Go Entrypoints Detection** (T1)
|
|
18
|
+
- Detect `main.go` with `func main()`
|
|
19
|
+
- Extract HTTP handlers (`http.HandleFunc`)
|
|
20
|
+
- Identify service ports (`:8080`, `:3000`)
|
|
21
|
+
- Parse structs and methods
|
|
22
|
+
- Read `go.mod` for module information
|
|
23
|
+
|
|
24
|
+
- **Rust Entrypoints Detection** (T2)
|
|
25
|
+
- Detect `main.rs` with `fn main()`
|
|
26
|
+
- Extract `Cargo.toml` configuration
|
|
27
|
+
- Identify structs and implementations
|
|
28
|
+
- Support for binary and library projects
|
|
29
|
+
|
|
30
|
+
- **PHP Entrypoints Detection** (T3)
|
|
31
|
+
- Detect `index.php` entrypoints
|
|
32
|
+
- Support Laravel convention (`public/index.php`)
|
|
33
|
+
- Parse `composer.json` dependencies
|
|
34
|
+
- Detect Laravel and Symfony frameworks
|
|
35
|
+
|
|
36
|
+
- **Comprehensive Test Suite** (T4, T8, T12)
|
|
37
|
+
- 16 tests for Go/Rust/PHP entrypoints
|
|
38
|
+
- 14 tests for framework detection
|
|
39
|
+
- All Apex class tests now passing (was 40/43, now 43/43)
|
|
40
|
+
|
|
41
|
+
#### Fixed
|
|
42
|
+
|
|
43
|
+
- **Framework Detection** (T5-T7)
|
|
44
|
+
- NestJS: Now correctly detects `@nestjs/*` packages
|
|
45
|
+
- Spring Boot: Parses `pom.xml` and `build.gradle`/`build.gradle.kts`
|
|
46
|
+
- Express: Shows "API Server" instead of "Microservices" for single services
|
|
47
|
+
|
|
48
|
+
- **Apex Parser Improvements** (T9)
|
|
49
|
+
- Handle multi-line annotations (`@AuraEnabled(cacheable=true)`)
|
|
50
|
+
- Support generic return types (`List<Account>`, `Map<String, Object>`)
|
|
51
|
+
- Detect `webservice` methods
|
|
52
|
+
- Fix method signature extraction with parameters
|
|
53
|
+
|
|
54
|
+
- **Architecture Descriptions** (T15)
|
|
55
|
+
- Replace "Contains X files" with functional descriptions
|
|
56
|
+
- Infer responsibility from file types (TypeScript, Python, Java, etc.)
|
|
57
|
+
- Language-specific descriptions (e.g., "JavaScript/TypeScript implementation")
|
|
58
|
+
|
|
59
|
+
- **Development Directory Filtering** (T14)
|
|
60
|
+
- Exclude `test-projects/` from analysis
|
|
61
|
+
- Exclude `.ai-dev/` and `.ai-dev-out/`
|
|
62
|
+
- Exclude `ai-context/` directory
|
|
63
|
+
- Prevent test artifacts from polluting results
|
|
64
|
+
|
|
65
|
+
#### Test Results
|
|
66
|
+
|
|
67
|
+
- 1026 tests passing (+30 new tests)
|
|
68
|
+
- 0 tests failing (100% pass rate!)
|
|
69
|
+
- Fixed 3 pre-existing Apex test failures
|
|
70
|
+
- All 11 test projects validated
|
|
71
|
+
|
|
72
|
+
## [1.3.5] - 2026-03-24
|
|
73
|
+
|
|
74
|
+
### 🧪 Comprehensive Testing Suite
|
|
75
|
+
|
|
76
|
+
**Branch:** `feature/comprehensive-testing-suite`
|
|
77
|
+
|
|
78
|
+
#### Added
|
|
79
|
+
|
|
80
|
+
- **Complete Test Coverage**
|
|
81
|
+
- 996 total tests (+827 new tests)
|
|
82
|
+
- 27 test files covering all scenarios
|
|
83
|
+
- 100% CLI command coverage (14 commands)
|
|
84
|
+
- 100% Salesforce component coverage
|
|
85
|
+
|
|
86
|
+
- **Salesforce Testing Suite** (531 tests)
|
|
87
|
+
- Apex Classes detection (43 tests)
|
|
88
|
+
- Apex Triggers detection (67 tests)
|
|
89
|
+
- Lightning Web Components (73 tests)
|
|
90
|
+
- Flows and Process Builders (74 tests)
|
|
91
|
+
- Custom Objects and Fields (147 tests)
|
|
92
|
+
- SFDX Metadata and Integration (127 tests)
|
|
93
|
+
- Real enterprise Salesforce project with 24 files
|
|
94
|
+
|
|
95
|
+
- **CLI Commands Testing** (296 tests)
|
|
96
|
+
- `init` command with all flags (33 tests)
|
|
97
|
+
- `index` command with adaptive thresholds (49 tests)
|
|
98
|
+
- `watch`, `context`, `summarize`, `query` commands (69 tests)
|
|
99
|
+
- `doctor`, `explore`, `map`, `adapters` commands (79 tests)
|
|
100
|
+
- `git`, `graph`, `update`, `help` commands (66 tests)
|
|
101
|
+
|
|
102
|
+
#### Enhanced
|
|
103
|
+
|
|
104
|
+
- **Framework Detection Improvements**
|
|
105
|
+
- NestJS: Fixed detection of `@nestjs/*` scoped packages
|
|
106
|
+
- Spring Boot: Now appears in Frameworks section with Layered architecture
|
|
107
|
+
- Express: Correctly identified as API Server (not Microservices)
|
|
108
|
+
- Django: MTV (Model-Template-View) pattern detection
|
|
109
|
+
- Rails: MVC with Rails conventions
|
|
110
|
+
- Laravel: Service Container, Providers, Facades, Eloquent ORM detection
|
|
111
|
+
|
|
112
|
+
- **Entrypoints Detection**
|
|
113
|
+
- Go: main.go, HTTP handlers, service ports
|
|
114
|
+
- Rust: main.rs, structs, CLI arguments
|
|
115
|
+
- PHP: index.php, Laravel/FastRoute detection
|
|
116
|
+
- Python CLI: argparse commands, console_scripts
|
|
117
|
+
- Spring Boot: @RestController, @RequestMapping endpoints
|
|
118
|
+
|
|
119
|
+
- **Symbol Extraction**
|
|
120
|
+
- Go: Functions, types, imports with content
|
|
121
|
+
- Rust: Structs, functions, Cargo.toml binary names
|
|
122
|
+
- Laravel: Service Container and Provider detection
|
|
123
|
+
|
|
124
|
+
- **Architecture Analysis**
|
|
125
|
+
- Functional module grouping (CLI Commands, Adapters, Language Parsers, Indexer)
|
|
126
|
+
- Removed generic "Contains X files" descriptions
|
|
127
|
+
- ai-first-cli self-analysis with functional descriptions
|
|
128
|
+
|
|
129
|
+
#### Test Results
|
|
130
|
+
|
|
131
|
+
- 996 unit tests passing (was 169)
|
|
132
|
+
- 11/11 adapter functional tests passing
|
|
133
|
+
- All 14 CLI commands tested
|
|
134
|
+
- 100% Salesforce component coverage
|
|
135
|
+
- Zero regression in existing functionality
|
|
136
|
+
|
|
137
|
+
## [1.3.4] - 2026-03-23
|
|
138
|
+
|
|
139
|
+
### 🚀 Enhanced iOS/SwiftUI Support
|
|
140
|
+
|
|
141
|
+
### 🚀 Enhanced iOS/SwiftUI Support
|
|
142
|
+
|
|
143
|
+
**Branch:** `feature/phase3-universal-framework-detection`
|
|
144
|
+
|
|
145
|
+
#### Added
|
|
146
|
+
|
|
147
|
+
- **SwiftUI Framework Detection**
|
|
148
|
+
- File: `src/analyzers/techStack.ts`
|
|
149
|
+
- Detects SwiftUI framework when `import SwiftUI` is found in Swift files
|
|
150
|
+
- Also detects iOS framework alongside SwiftUI
|
|
151
|
+
|
|
152
|
+
- **SwiftUI Entrypoints Detection**
|
|
153
|
+
- File: `src/analyzers/entrypoints.ts`
|
|
154
|
+
- Added `discoverSwiftUIEntrypoints()` function
|
|
155
|
+
- Extracts SwiftUI Views (structs conforming to View)
|
|
156
|
+
- Detects @main app entry points
|
|
157
|
+
- ContentView marked as main SwiftUI view
|
|
158
|
+
|
|
159
|
+
- **Swift Symbol Parsing**
|
|
160
|
+
- File: `src/analyzers/symbols.ts`
|
|
161
|
+
- Added `parseSwift()` function
|
|
162
|
+
- Extracts structs, classes, functions, enums, protocols, constants
|
|
163
|
+
- Supports Swift syntax: struct, class, func, enum, protocol, let, var
|
|
164
|
+
|
|
165
|
+
#### Test Results
|
|
166
|
+
|
|
167
|
+
- 169 unit tests passing
|
|
168
|
+
- 11/11 adapter functional tests passing
|
|
169
|
+
- iOS/SwiftUI user simulation successful
|
|
170
|
+
|
|
171
|
+
## [1.3.3] - 2026-03-23
|
|
172
|
+
|
|
173
|
+
### 🐛 Fixed "Contains 0 files" Errors
|
|
174
|
+
|
|
175
|
+
**Branch:** `feature/phase2-containsfiles-fix`
|
|
176
|
+
|
|
177
|
+
#### Fixed
|
|
178
|
+
|
|
179
|
+
- **Architecture Module Detection**
|
|
180
|
+
- File: `src/analyzers/architecture.ts`
|
|
181
|
+
- Fixed bug where root-level files (README.md, CHANGELOG.md, etc.) were incorrectly treated as modules
|
|
182
|
+
- Root files no longer appear as "Contains 0 files" entries
|
|
183
|
+
- Only actual directories are now listed as modules
|
|
184
|
+
|
|
185
|
+
- **Salesforce Entrypoints Detection**
|
|
186
|
+
- File: `src/analyzers/entrypoints.ts`
|
|
187
|
+
- Added `discoverSalesforceEntrypoints()` function
|
|
188
|
+
- Apex classes now appear as entrypoints
|
|
189
|
+
- Apex triggers now appear as entrypoints
|
|
190
|
+
- Detects @AuraEnabled, @RestResource, and @webservice annotated methods
|
|
191
|
+
|
|
192
|
+
#### Test Results
|
|
193
|
+
|
|
194
|
+
- 169 unit tests passing
|
|
195
|
+
- 11/11 adapter functional tests passing
|
|
196
|
+
- Salesforce user simulation successful
|
|
197
|
+
|
|
198
|
+
## [1.3.2] - 2026-03-23
|
|
199
|
+
|
|
200
|
+
### 🚀 Enhanced Salesforce/Apex Support
|
|
201
|
+
|
|
202
|
+
**Branch:** `feature/phase1-apex-salesforce-parser`
|
|
203
|
+
**Total Changes:** 12 new tests, improved parser accuracy
|
|
204
|
+
|
|
205
|
+
#### Added
|
|
206
|
+
|
|
207
|
+
- **Improved Apex Parser**
|
|
208
|
+
- File: `src/analyzers/symbols.ts`
|
|
209
|
+
- Enhanced regex for class detection (supports with/without/inherited sharing)
|
|
210
|
+
- Better method extraction for @AuraEnabled and webservice methods
|
|
211
|
+
- Trigger detection with SObject mapping
|
|
212
|
+
- 12 comprehensive unit tests added
|
|
213
|
+
|
|
214
|
+
- **Salesforce TechStack Detection**
|
|
215
|
+
- File: `src/analyzers/techStack.ts`
|
|
216
|
+
- Detects Apex and Apex Trigger languages
|
|
217
|
+
- Reads sfdx-project.json for metadata
|
|
218
|
+
- Extracts: apiVersion, packageDirectories, namespace
|
|
219
|
+
- Counts: apexClasses, triggers
|
|
220
|
+
- Auto-detects SObjects from trigger definitions
|
|
221
|
+
|
|
222
|
+
- **New Interface: SalesforceInfo**
|
|
223
|
+
- Added to TechStack interface
|
|
224
|
+
- Tracks Salesforce-specific project metadata
|
|
225
|
+
|
|
226
|
+
#### Changed
|
|
227
|
+
|
|
228
|
+
- **Language Detection**
|
|
229
|
+
- Added "Apex" and "Apex Trigger" to language map
|
|
230
|
+
- File extensions: .cls, .trigger
|
|
231
|
+
|
|
232
|
+
- **Framework Detection**
|
|
233
|
+
- Added "Salesforce DX" framework indicator
|
|
234
|
+
- Detects via sfdx-project.json
|
|
235
|
+
|
|
236
|
+
#### Test Results
|
|
237
|
+
|
|
238
|
+
All tests passing:
|
|
239
|
+
- 169 unit tests (was 157)
|
|
240
|
+
- 12 new Apex-specific tests
|
|
241
|
+
- 11 adapter tests still passing
|
|
242
|
+
- Salesforce project correctly detected
|
|
243
|
+
|
|
244
|
+
#### Documentation
|
|
245
|
+
|
|
246
|
+
- Updated README.md with Salesforce section
|
|
247
|
+
- Updated README.es.md (Spanish)
|
|
248
|
+
- Added Apex to supported languages list
|
|
249
|
+
|
|
9
250
|
## [1.3.0] - 2026-03-22
|
|
10
251
|
|
|
11
252
|
### 🚀 Release v1.3.0 - AST-Based Semantic Analysis
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Fase 1: User Simulation Results - Salesforce Project
|
|
2
|
+
|
|
3
|
+
## Test Setup
|
|
4
|
+
- **Project**: test-projects/salesforce-cli
|
|
5
|
+
- **Command**: `af init --root test-projects/salesforce-cli`
|
|
6
|
+
- **Date**: 2026-03-23
|
|
7
|
+
|
|
8
|
+
## Results
|
|
9
|
+
|
|
10
|
+
### ✅ tech_stack.md
|
|
11
|
+
**BEFORE**: Only showed "Markdown, JSON"
|
|
12
|
+
|
|
13
|
+
**AFTER**:
|
|
14
|
+
```
|
|
15
|
+
**Languages**: Markdown, JSON, Apex, Apex Trigger
|
|
16
|
+
**Frameworks**: Salesforce DX, Salesforce
|
|
17
|
+
|
|
18
|
+
## Languages
|
|
19
|
+
- Markdown
|
|
20
|
+
- JSON
|
|
21
|
+
- Apex
|
|
22
|
+
- Apex Trigger
|
|
23
|
+
|
|
24
|
+
## Frameworks
|
|
25
|
+
- Salesforce DX
|
|
26
|
+
- Salesforce
|
|
27
|
+
|
|
28
|
+
## Salesforce
|
|
29
|
+
- **API Version**: 58.0
|
|
30
|
+
- **Apex Classes**: 2
|
|
31
|
+
- **Triggers**: 1
|
|
32
|
+
- **SObjects**: Account
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### ✅ symbols.json
|
|
36
|
+
- **AccountController** (class) - line 1
|
|
37
|
+
- **createAccount** (method) - line 12
|
|
38
|
+
- **updateAccountRating** (method) - line 19
|
|
39
|
+
- **OpportunityController** (class) - line 1
|
|
40
|
+
- **closeWon** (method) - line 13
|
|
41
|
+
- **validateOpportunity** (method) - line 20
|
|
42
|
+
- **AccountTrigger** (trigger) - line 1
|
|
43
|
+
|
|
44
|
+
### ⚠️ entrypoints.md
|
|
45
|
+
Currently empty - needs improvement in future phase
|
|
46
|
+
|
|
47
|
+
## Conclusion
|
|
48
|
+
Fase 1 successfully implements:
|
|
49
|
+
- ✅ Apex language detection
|
|
50
|
+
- ✅ Salesforce framework detection
|
|
51
|
+
- ✅ SObject extraction from triggers
|
|
52
|
+
- ✅ Apex class/trigger counting
|
|
53
|
+
- ✅ API version reading from sfdx-project.json
|
|
54
|
+
|
|
55
|
+
## Next Steps
|
|
56
|
+
- Fase 2: Universal Framework Detection (Android, iOS, Go, Rust, PHP)
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Phase 2: User Simulation Results - Architecture & Entrypoints Fixes
|
|
2
|
+
|
|
3
|
+
## Test Setup
|
|
4
|
+
- **Project**: test-projects/salesforce-cli
|
|
5
|
+
- **Command**: `af init --root test-projects/salesforce-cli`
|
|
6
|
+
- **Date**: 2026-03-23
|
|
7
|
+
|
|
8
|
+
## Results
|
|
9
|
+
|
|
10
|
+
### ✅ architecture.md - "Contains 0 files" FIXED
|
|
11
|
+
|
|
12
|
+
**BEFORE**: Included incorrect entries like:
|
|
13
|
+
```
|
|
14
|
+
| sfdx-project.json | Contains 0 files |
|
|
15
|
+
| ANALISIS_COMPLETO.md | Contains 0 files |
|
|
16
|
+
| CHANGELOG.md | Contains 0 files |
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**AFTER**: Only actual directories are shown:
|
|
20
|
+
```
|
|
21
|
+
| Module | Responsibility |
|
|
22
|
+
|--------|----------------|
|
|
23
|
+
| `.ai-dev` | Contains 25 files |
|
|
24
|
+
| `ai-context` | Contains 15 files |
|
|
25
|
+
| `force-app` | Contains 3 files |
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### ✅ entrypoints.md - Salesforce Support ADDED
|
|
29
|
+
|
|
30
|
+
**BEFORE**: Empty entrypoints
|
|
31
|
+
|
|
32
|
+
**AFTER**:
|
|
33
|
+
```
|
|
34
|
+
## API
|
|
35
|
+
|
|
36
|
+
| Name | Path | Command |
|
|
37
|
+
|------|------|--------|
|
|
38
|
+
| AccountController | `force-app/main/default/classes/AccountController.cls` | - |
|
|
39
|
+
| OpportunityController | `force-app/main/default/classes/OpportunityController.cls` | - |
|
|
40
|
+
| AccountTrigger | `force-app/main/default/triggers/AccountTrigger.trigger` | - |
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### ✅ tech_stack.md - Salesforce Info
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
**Languages**: Markdown, JSON, Apex, Apex Trigger
|
|
47
|
+
**Frameworks**: Salesforce DX, Salesforce
|
|
48
|
+
|
|
49
|
+
## Salesforce
|
|
50
|
+
- **API Version**: 58.0
|
|
51
|
+
- **Apex Classes**: 2
|
|
52
|
+
- **Triggers**: 1
|
|
53
|
+
- **SObjects**: Account
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Changes Made
|
|
57
|
+
|
|
58
|
+
### Fix 1: architecture.ts
|
|
59
|
+
```typescript
|
|
60
|
+
// Added check to skip root-level files misidentified as directories
|
|
61
|
+
if (moduleFiles.length === 0) {
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Fix 2: entrypoints.ts
|
|
67
|
+
- Added `discoverSalesforceEntrypoints()` function
|
|
68
|
+
- Added `extractApexMethods()` helper
|
|
69
|
+
- Detects Apex classes and triggers
|
|
70
|
+
- Identifies annotated methods (@AuraEnabled, @RestResource, @webservice)
|
|
71
|
+
|
|
72
|
+
## Test Results
|
|
73
|
+
|
|
74
|
+
| Test Suite | Result |
|
|
75
|
+
|------------|--------|
|
|
76
|
+
| Unit Tests (169) | ✅ PASS |
|
|
77
|
+
| Adapter Functional Tests (11) | ✅ PASS |
|
|
78
|
+
| Salesforce User Simulation | ✅ PASS |
|
|
79
|
+
|
|
80
|
+
## Next Steps
|
|
81
|
+
- Phase 3: Universal Framework Detection (Android, iOS, Go, Rust, PHP)
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
# Phase 3: User Simulation Results - Universal Framework Detection
|
|
2
|
+
|
|
3
|
+
## Test Setup
|
|
4
|
+
- **Projects**: ios-swift-app, salesforce-cli, android-kotlin-app
|
|
5
|
+
- **Command**: `af init --root <project>`
|
|
6
|
+
- **Date**: 2026-03-23
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## iOS/SwiftUI Results
|
|
11
|
+
|
|
12
|
+
### ✅ tech_stack.md - SwiftUI/iOS Detected
|
|
13
|
+
|
|
14
|
+
**BEFORE**:
|
|
15
|
+
```
|
|
16
|
+
**Languages**: Swift
|
|
17
|
+
**Frameworks**: None detected
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
**AFTER**:
|
|
21
|
+
```
|
|
22
|
+
**Languages**: Swift, Markdown, JSON
|
|
23
|
+
**Frameworks**: SwiftUI, iOS
|
|
24
|
+
|
|
25
|
+
## Frameworks
|
|
26
|
+
- SwiftUI
|
|
27
|
+
- iOS
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### ✅ entrypoints.md - ContentView Listed
|
|
31
|
+
|
|
32
|
+
**BEFORE**:
|
|
33
|
+
```
|
|
34
|
+
# Entrypoints
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
*Generated by ai-first*
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**AFTER**:
|
|
41
|
+
```
|
|
42
|
+
# Entrypoints
|
|
43
|
+
|
|
44
|
+
## Client
|
|
45
|
+
|
|
46
|
+
| Name | Path | Command |
|
|
47
|
+
|------|------|--------|
|
|
48
|
+
| ContentView | `ContentView.swift` | - |
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### ✅ symbols.json - Swift Symbols Extracted
|
|
52
|
+
|
|
53
|
+
**BEFORE**: Empty
|
|
54
|
+
|
|
55
|
+
**AFTER**:
|
|
56
|
+
```json
|
|
57
|
+
{
|
|
58
|
+
"symbols": {
|
|
59
|
+
"ContentView.swift#ContentView": { "name": "ContentView", "type": "class", ... },
|
|
60
|
+
"ContentView.swift#fetchUsers": { "name": "fetchUsers", "type": "function", ... },
|
|
61
|
+
"ContentView.swift#User": { "name": "User", "type": "class", ... }
|
|
62
|
+
},
|
|
63
|
+
"total": 3
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Salesforce Results (Re-verified)
|
|
70
|
+
|
|
71
|
+
### ✅ tech_stack.md
|
|
72
|
+
```
|
|
73
|
+
**Languages**: Markdown, JSON, Apex, Apex Trigger
|
|
74
|
+
**Frameworks**: Salesforce DX, Salesforce
|
|
75
|
+
|
|
76
|
+
## Salesforce
|
|
77
|
+
- **API Version**: 58.0
|
|
78
|
+
- **Apex Classes**: 2
|
|
79
|
+
- **Triggers**: 1
|
|
80
|
+
- **SObjects**: Account
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### ✅ entrypoints.md
|
|
84
|
+
```
|
|
85
|
+
## API
|
|
86
|
+
|
|
87
|
+
| Name | Path | Command |
|
|
88
|
+
|------|------|--------|
|
|
89
|
+
| AccountController | `force-app/main/default/classes/AccountController.cls` | - |
|
|
90
|
+
| OpportunityController | `force-app/main/default/classes/OpportunityController.cls` | - |
|
|
91
|
+
| AccountTrigger | `force-app/main/default/triggers/AccountTrigger.trigger` | - |
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Android/Kotlin Results
|
|
97
|
+
|
|
98
|
+
### ⚠️ Framework Detection - Test Data Insufficient
|
|
99
|
+
|
|
100
|
+
The android-kotlin-app test project lacks essential Android files:
|
|
101
|
+
- No `AndroidManifest.xml`
|
|
102
|
+
- No `build.gradle` or `build.gradle.kts`
|
|
103
|
+
- No standard Android project structure
|
|
104
|
+
|
|
105
|
+
**Current Output**:
|
|
106
|
+
```
|
|
107
|
+
**Languages**: Markdown, JSON, Kotlin
|
|
108
|
+
**Frameworks**: None detected
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
**Note**: For real Android projects with standard structure, the framework WOULD be detected via AndroidManifest.xml and build.gradle files.
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Changes Made
|
|
116
|
+
|
|
117
|
+
### 1. techStack.ts - SwiftUI Detection
|
|
118
|
+
```typescript
|
|
119
|
+
// Detect SwiftUI from Swift files
|
|
120
|
+
const swiftFiles = files.filter(f => f.extension === "swift");
|
|
121
|
+
for (const swiftFile of swiftFiles) {
|
|
122
|
+
try {
|
|
123
|
+
const content = readFile(path.join(rootDir, swiftFile.relativePath));
|
|
124
|
+
if (content.includes("import SwiftUI")) {
|
|
125
|
+
if (!frameworks.includes("SwiftUI")) {
|
|
126
|
+
frameworks.push("SwiftUI");
|
|
127
|
+
}
|
|
128
|
+
if (!frameworks.includes("iOS")) {
|
|
129
|
+
frameworks.push("iOS");
|
|
130
|
+
}
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
133
|
+
} catch {}
|
|
134
|
+
}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### 2. entrypoints.ts - SwiftUI Entrypoints
|
|
138
|
+
```typescript
|
|
139
|
+
function discoverSwiftUIEntrypoints(swiftFiles: FileInfo[], rootDir: string): Entrypoint[] {
|
|
140
|
+
// Extract SwiftUI Views (structs conforming to View)
|
|
141
|
+
// Detect @main app entry points
|
|
142
|
+
}
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### 3. symbols.ts - Swift Parsing
|
|
146
|
+
```typescript
|
|
147
|
+
function parseSwift(file: FileInfo, content: string, lines: string[], symbols: Symbol[]): void {
|
|
148
|
+
// Parse structs, classes, functions, enums, protocols, constants
|
|
149
|
+
}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Test Results
|
|
155
|
+
|
|
156
|
+
| Test Suite | Result |
|
|
157
|
+
|------------|--------|
|
|
158
|
+
| Unit Tests (169) | ✅ PASS |
|
|
159
|
+
| Adapter Functional Tests (11) | ✅ PASS |
|
|
160
|
+
| iOS/SwiftUI Simulation | ✅ PASS |
|
|
161
|
+
| Salesforce Simulation | ✅ PASS |
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Next Steps
|
|
166
|
+
|
|
167
|
+
All phases from the original roadmap are now complete:
|
|
168
|
+
- ✅ Phase 1: Testing infrastructure with 11 test projects
|
|
169
|
+
- ✅ Phase 2: Code quality fixes and Salesforce support
|
|
170
|
+
- ✅ Phase 3: Universal Framework Detection (iOS/SwiftUI added)
|
|
171
|
+
|
|
172
|
+
Future improvements could include:
|
|
173
|
+
- Enhancing Android test project with proper structure
|
|
174
|
+
- Go microservice entrypoint detection
|
|
175
|
+
- Rust CLI entrypoint detection
|
|
176
|
+
- PHP framework detection (Laravel patterns)
|
package/README.es.md
CHANGED
|
@@ -21,6 +21,20 @@
|
|
|
21
21
|
|
|
22
22
|
---
|
|
23
23
|
|
|
24
|
+
## 🚀 Novedades en v1.3.6
|
|
25
|
+
|
|
26
|
+
**Soporte de Lenguajes Mejorado y Detección de Frameworks**
|
|
27
|
+
|
|
28
|
+
- ✅ **Entrypoints Go**: Detección automática de `main.go`, handlers HTTP y puertos de servicio
|
|
29
|
+
- ✅ **Entrypoints Rust**: Soporte para `main.rs`, `Cargo.toml` e implementaciones de structs
|
|
30
|
+
- ✅ **Entrypoints PHP**: Detección de `index.php`, convenciones Laravel y dependencias Composer
|
|
31
|
+
- ✅ **Detección de Frameworks Mejorada**: NestJS (`@nestjs/*`), Spring Boot (pom.xml/build.gradle) y Express (API Server vs Microservices)
|
|
32
|
+
- ✅ **Parser Apex**: Parsing mejorado de firmas de métodos con soporte de genéricos (`List<Account>`) y anotaciones multi-línea
|
|
33
|
+
- ✅ **Descripciones de Arquitectura**: Descripciones funcionales en lugar de "Contiene X archivos" genérico
|
|
34
|
+
- ✅ **1026 Tests Pasando**: 100% de éxito con 30 tests nuevos agregados
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
24
38
|
## 📋 Tabla de Contenidos
|
|
25
39
|
|
|
26
40
|
- [Comandos](#-referencia-de-comandos)
|
|
@@ -377,6 +391,47 @@ Los flows representan cadenas de ejecución de negocio desde entrypoints.
|
|
|
377
391
|
|
|
378
392
|
---
|
|
379
393
|
|
|
394
|
+
## 🌍 Soporte Multi-Lenguaje y Frameworks
|
|
395
|
+
|
|
396
|
+
### Lenguajes Soportados
|
|
397
|
+
|
|
398
|
+
| Categoría | Lenguajes |
|
|
399
|
+
|-----------|-----------|
|
|
400
|
+
| **Web** | JavaScript, TypeScript, Python, **Go**, **Rust** |
|
|
401
|
+
| **Backend** | Java, C#, **PHP**, Ruby, **Go**, **Rust**, Kotlin, **Apex** |
|
|
402
|
+
| **Mobile** | Swift, Kotlin, Android |
|
|
403
|
+
| **Frontend** | Vue, Svelte, React, HTML, CSS, SCSS |
|
|
404
|
+
| **Testing** | Jest, Vitest, pytest, Mocha, RSpec |
|
|
405
|
+
|
|
406
|
+
**Nuevo en v1.3.6:** Detección completa de entrypoints para **Go** (handlers, puertos), **Rust** (Cargo.toml, binarios), y **PHP** (index.php, Laravel).
|
|
407
|
+
|
|
408
|
+
### Frameworks (Testeados)
|
|
409
|
+
|
|
410
|
+
| Framework | Lenguaje | Proyecto de Prueba | Estado |
|
|
411
|
+
|-----------|----------|-------------------|--------|
|
|
412
|
+
| **Django** | Python | `test-projects/django-app` | ✅ |
|
|
413
|
+
| **FastAPI** | Python | `test-projects/fastapi-app` | ✅ |
|
|
414
|
+
| **Flask** | Python | `test-projects/flask-app` | ✅ |
|
|
415
|
+
| **Laravel** | PHP | `test-projects/laravel-app` | ✅ |
|
|
416
|
+
| **Rails** | Ruby | `test-projects/rails-app` | ✅ |
|
|
417
|
+
| **Spring Boot** | Java | `test-projects/spring-boot-app` | ✅ Mejorado v1.3.6 |
|
|
418
|
+
| Express.js | JavaScript | `test-projects/express-api` | ✅ Corregido v1.3.6 |
|
|
419
|
+
| **NestJS** | TypeScript | `test-projects/nestjs-backend` | ✅ Corregido v1.3.6 |
|
|
420
|
+
| React | JavaScript | `test-projects/react-app` | ✅ |
|
|
421
|
+
| Python CLI | Python | `test-projects/python-cli` | ✅ |
|
|
422
|
+
| Salesforce DX | Apex | `test-projects/salesforce-cli` | ✅ Mejorado v1.3.6 |
|
|
423
|
+
| **Go** | Go | `test-projects/go-microservice` | ✅ **NUEVO v1.3.6** |
|
|
424
|
+
| **Rust** | Rust | `test-projects/rust-cli` | ✅ **NUEVO v1.3.6** |
|
|
425
|
+
| **PHP Vanilla** | PHP | `test-projects/php-vanilla` | ✅ **NUEVO v1.3.6** |
|
|
426
|
+
|
|
427
|
+
**Mejoras v1.3.6:**
|
|
428
|
+
- **NestJS**: Ahora detecta correctamente paquetes scoped `@nestjs/*`
|
|
429
|
+
- **Spring Boot**: Parsea `pom.xml` y `build.gradle`/`build.gradle.kts`
|
|
430
|
+
- **Express**: Muestra "API Server" en lugar de "Microservices" para directorios de servicio único
|
|
431
|
+
- **Apex**: Parser mejorado con soporte de genéricos (`List<Account>`, `Map<String, Object>`)
|
|
432
|
+
|
|
433
|
+
---
|
|
434
|
+
|
|
380
435
|
## 🤖 Soporte Android/Kotlin
|
|
381
436
|
|
|
382
437
|
af detecta e indexa automáticamente proyectos Android/Kotlin:
|
|
@@ -484,6 +539,24 @@ af detecta e indexa automáticamente proyectos Android/Kotlin:
|
|
|
484
539
|
- `ai-context/android-resources.json` - Layouts, drawables, values (si existe res/)
|
|
485
540
|
- `ai-context/gradle-modules.json` - Estructura multi-módulo (si existe settings.gradle)
|
|
486
541
|
|
|
542
|
+
### Soporte Salesforce (NUEVO ✅)
|
|
543
|
+
|
|
544
|
+
af detecta e indexa automáticamente proyectos Salesforce/Apex:
|
|
545
|
+
|
|
546
|
+
- **Detección de lenguaje**: Apex (.cls, .trigger)
|
|
547
|
+
- **Detección de framework**: Salesforce DX (vía sfdx-project.json)
|
|
548
|
+
- **Extracción de símbolos**: Clases, interfaces, métodos, triggers
|
|
549
|
+
- **Detección de SObjects**: Detecta automáticamente SObjects desde definiciones de triggers
|
|
550
|
+
- **Versión de API**: Lee sourceApiVersion desde sfdx-project.json
|
|
551
|
+
- **Puntos de entrada**: Clases Apex, triggers, métodos @AuraEnabled, métodos webservice
|
|
552
|
+
|
|
553
|
+
### Archivos generados para proyectos Salesforce
|
|
554
|
+
|
|
555
|
+
- `ai-context/tech_stack.md` - Muestra Salesforce con lenguaje Apex
|
|
556
|
+
- `ai-context/salesforce.json` - Metadatos específicos de Salesforce (apiVersion, sObjects, apexClasses, triggers)
|
|
557
|
+
- `ai-context/entrypoints.md` - Clases Apex, triggers y métodos
|
|
558
|
+
- `ai-context/symbols.json` - Todos los símbolos Apex extraídos con números de línea
|
|
559
|
+
|
|
487
560
|
---
|
|
488
561
|
|
|
489
562
|
## 📄 Licencia
|