ai-first-cli 1.1.3 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{ai → .ai-dev}/ai_context.md +18 -11
- package/{ai → .ai-dev}/ai_rules.md +5 -3
- package/{ai → .ai-dev}/architecture.md +52 -16
- package/.ai-dev/cache.json +2349 -0
- package/.ai-dev/context/features/commands.json +18 -0
- package/.ai-dev/context/features/src.json +61 -0
- package/.ai-dev/context/features/test-projects.json +69 -0
- package/.ai-dev/context/flows/account.json +9 -0
- package/.ai-dev/context/flows/ai-first.json +9 -0
- package/.ai-dev/context/flows/api.json +9 -0
- package/.ai-dev/context/flows/auth.json +13 -0
- package/.ai-dev/context/flows/category.json +12 -0
- package/.ai-dev/context/flows/comment.json +16 -0
- package/.ai-dev/context/flows/dashboard.json +9 -0
- package/.ai-dev/context/flows/doctor.json +9 -0
- package/.ai-dev/context/flows/explore.json +9 -0
- package/.ai-dev/context/flows/login.json +9 -0
- package/.ai-dev/context/flows/opportunity.json +9 -0
- package/.ai-dev/context/flows/post.json +18 -0
- package/.ai-dev/context/flows/routes.json +19 -0
- package/.ai-dev/context/flows/user.json +20 -0
- package/.ai-dev/context/flows/users.json +9 -0
- package/.ai-dev/context/flows/views.json +14 -0
- package/.ai-dev/conventions.md +53 -0
- package/.ai-dev/dependencies.json +2946 -0
- package/{ai → .ai-dev}/entrypoints.md +10 -0
- package/.ai-dev/files.json +2944 -0
- package/.ai-dev/graph/knowledge-graph.json +44314 -0
- package/.ai-dev/graph/module-graph.json +866 -0
- package/.ai-dev/graph/symbol-graph.json +200622 -0
- package/.ai-dev/graph/symbol-references.json +6778 -0
- package/.ai-dev/hierarchy.json +20 -0
- package/.ai-dev/index-state.json +4123 -0
- package/.ai-dev/index.db +0 -0
- package/.ai-dev/modules.json +532 -0
- package/.ai-dev/project.json +30 -0
- package/.ai-dev/repo_map.json +5818 -0
- package/.ai-dev/repo_map.md +1327 -0
- package/.ai-dev/schema.json +5 -0
- package/.ai-dev/summary.md +42 -0
- package/.ai-dev/symbols.json +7 -0
- package/.ai-dev/tech_stack.md +46 -0
- package/.ai-dev/tools.json +10 -0
- package/.github/workflows/publish.yml +55 -0
- package/BUGS.md +455 -0
- package/CHANGELOG.md +218 -218
- package/PLAN_MEJORAS.md +216 -0
- package/README.es.md +82 -99
- package/README.md +70 -89
- package/STATUS_ADAPTADORES +126 -0
- package/TEST_RESULTS_PHASE1.md +420 -0
- package/ai/graph/knowledge-graph.json +6 -43639
- package/ai-context/ai_context.md +130 -0
- package/ai-context/ai_rules.md +54 -0
- package/ai-context/architecture.md +136 -0
- package/ai-context/cache.json +2349 -0
- package/ai-context/ccp/jira-123/context.json +7 -0
- package/ai-context/context/features/commands.json +18 -0
- package/ai-context/context/features/src.json +61 -0
- package/ai-context/context/features/test-projects.json +69 -0
- package/ai-context/context/flows/account.json +9 -0
- package/ai-context/context/flows/ai-first.json +9 -0
- package/ai-context/context/flows/api.json +9 -0
- package/ai-context/context/flows/auth.json +13 -0
- package/ai-context/context/flows/category.json +12 -0
- package/ai-context/context/flows/comment.json +16 -0
- package/ai-context/context/flows/dashboard.json +9 -0
- package/ai-context/context/flows/doctor.json +9 -0
- package/ai-context/context/flows/explore.json +9 -0
- package/ai-context/context/flows/login.json +9 -0
- package/ai-context/context/flows/opportunity.json +9 -0
- package/ai-context/context/flows/post.json +18 -0
- package/ai-context/context/flows/routes.json +19 -0
- package/ai-context/context/flows/user.json +20 -0
- package/ai-context/context/flows/users.json +9 -0
- package/ai-context/context/flows/views.json +14 -0
- package/ai-context/context/repo.json +56 -0
- package/ai-context/context/utils.json +7 -0
- package/ai-context/conventions.md +53 -0
- package/ai-context/dependencies.json +2946 -0
- package/ai-context/embeddings.json +23828 -0
- package/ai-context/entrypoints.md +42 -0
- package/ai-context/files.json +2944 -0
- package/ai-context/git/commit-activity.json +8646 -0
- package/ai-context/git/recent-files.json +52 -0
- package/ai-context/git/recent-flows.json +1 -0
- package/ai-context/graph/knowledge-graph.json +44314 -0
- package/ai-context/graph/module-graph.json +866 -0
- package/ai-context/graph/symbol-graph.json +200622 -0
- package/ai-context/graph/symbol-references.json +6778 -0
- package/ai-context/hierarchy.json +20 -0
- package/ai-context/index-state.json +4123 -0
- package/ai-context/index.db +0 -0
- package/ai-context/modules.json +532 -0
- package/ai-context/project.json +30 -0
- package/ai-context/repo_map.json +5818 -0
- package/ai-context/repo_map.md +1327 -0
- package/ai-context/schema.json +5 -0
- package/ai-context/summary.md +42 -0
- package/ai-context/symbols.json +7 -0
- package/ai-context/tech_stack.md +46 -0
- package/ai-context/tools.json +10 -0
- package/dist/analyzers/dependencies.d.ts.map +1 -1
- package/dist/analyzers/dependencies.js +8 -16
- package/dist/analyzers/dependencies.js.map +1 -1
- package/dist/analyzers/symbols.d.ts.map +1 -1
- package/dist/analyzers/symbols.js +194 -6
- package/dist/analyzers/symbols.js.map +1 -1
- package/dist/commands/ai-first.d.ts.map +1 -1
- package/dist/commands/ai-first.js +63 -21
- package/dist/commands/ai-first.js.map +1 -1
- package/dist/commands/doctor.js +1 -1
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/explore.js +1 -1
- package/dist/commands/explore.js.map +1 -1
- package/dist/core/ccp.js +1 -1
- package/dist/core/ccp.js.map +1 -1
- package/dist/core/embeddings.d.ts +11 -6
- package/dist/core/embeddings.d.ts.map +1 -1
- package/dist/core/embeddings.js +88 -38
- package/dist/core/embeddings.js.map +1 -1
- package/dist/core/gitAnalyzer.js +3 -3
- package/dist/core/gitAnalyzer.js.map +1 -1
- package/dist/core/incrementalAnalyzer.d.ts.map +1 -1
- package/dist/core/incrementalAnalyzer.js +76 -14
- package/dist/core/incrementalAnalyzer.js.map +1 -1
- package/dist/core/knowledgeGraphBuilder.js +1 -1
- package/dist/core/knowledgeGraphBuilder.js.map +1 -1
- package/dist/core/semanticContexts.d.ts.map +1 -1
- package/dist/core/semanticContexts.js +61 -30
- package/dist/core/semanticContexts.js.map +1 -1
- package/dist/core/symbolGraph.d.ts.map +1 -1
- package/dist/core/symbolGraph.js +14 -2
- package/dist/core/symbolGraph.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/docs/guide/getting-started.md +8 -8
- package/docs/guide/quick-start.md +8 -8
- package/examples/01-express-api.md +3 -3
- package/examples/02-react-app.md +3 -3
- package/examples/03-python-django.md +3 -3
- package/examples/README.md +3 -3
- package/package.json +2 -2
- package/src/analyzers/dependencies.ts +10 -20
- package/src/analyzers/symbols.ts +207 -6
- package/src/commands/ai-first.ts +67 -22
- package/src/commands/doctor.ts +1 -1
- package/src/commands/explore.ts +1 -1
- package/src/core/ccp.ts +1 -1
- package/src/core/embeddings.ts +106 -40
- package/src/core/gitAnalyzer.ts +3 -3
- package/src/core/incrementalAnalyzer.ts +101 -11
- package/src/core/knowledgeGraphBuilder.ts +1 -1
- package/src/core/semanticContexts.ts +68 -33
- package/src/core/symbolGraph.ts +16 -2
- package/src/utils/fileUtils.ts +5 -0
- package/test-projects/django-app/.ai-dev/ai_context.md +92 -0
- package/test-projects/django-app/.ai-dev/ai_rules.md +47 -0
- package/test-projects/django-app/.ai-dev/architecture.md +57 -0
- package/test-projects/django-app/.ai-dev/cache.json +169 -0
- package/test-projects/django-app/.ai-dev/context/flows/views.json +10 -0
- package/test-projects/django-app/.ai-dev/conventions.md +51 -0
- package/test-projects/django-app/.ai-dev/dependencies.json +312 -0
- package/test-projects/django-app/.ai-dev/entrypoints.md +4 -0
- package/test-projects/django-app/.ai-dev/files.json +209 -0
- package/test-projects/django-app/.ai-dev/graph/knowledge-graph.json +36 -0
- package/test-projects/django-app/.ai-dev/graph/module-graph.json +145 -0
- package/test-projects/django-app/.ai-dev/graph/symbol-graph.json +1488 -0
- package/test-projects/django-app/.ai-dev/graph/symbol-references.json +1 -0
- package/test-projects/django-app/.ai-dev/index-state.json +294 -0
- package/test-projects/django-app/.ai-dev/index.db +0 -0
- package/test-projects/django-app/.ai-dev/modules.json +35 -0
- package/test-projects/django-app/.ai-dev/project.json +11 -0
- package/test-projects/django-app/.ai-dev/repo_map.json +412 -0
- package/test-projects/django-app/.ai-dev/repo_map.md +105 -0
- package/test-projects/django-app/.ai-dev/schema.json +5 -0
- package/test-projects/django-app/.ai-dev/summary.md +15 -0
- package/test-projects/django-app/.ai-dev/symbols.json +1 -0
- package/test-projects/django-app/.ai-dev/tech_stack.md +32 -0
- package/test-projects/django-app/.ai-dev/tools.json +10 -0
- package/test-projects/django-app/README.md +91 -0
- package/test-projects/django-app/ai-context/ai_context.md +92 -0
- package/test-projects/django-app/ai-context/ai_rules.md +47 -0
- package/test-projects/django-app/ai-context/architecture.md +57 -0
- package/test-projects/django-app/ai-context/cache.json +169 -0
- package/test-projects/django-app/ai-context/context/flows/views.json +10 -0
- package/test-projects/django-app/ai-context/conventions.md +51 -0
- package/test-projects/django-app/ai-context/dependencies.json +312 -0
- package/test-projects/django-app/ai-context/entrypoints.md +4 -0
- package/test-projects/django-app/ai-context/files.json +209 -0
- package/test-projects/django-app/ai-context/graph/knowledge-graph.json +36 -0
- package/test-projects/django-app/ai-context/graph/module-graph.json +145 -0
- package/test-projects/django-app/ai-context/graph/symbol-graph.json +1488 -0
- package/test-projects/django-app/ai-context/graph/symbol-references.json +1 -0
- package/test-projects/django-app/ai-context/index-state.json +294 -0
- package/test-projects/django-app/ai-context/index.db +0 -0
- package/test-projects/django-app/ai-context/modules.json +35 -0
- package/test-projects/django-app/ai-context/project.json +11 -0
- package/test-projects/django-app/ai-context/repo_map.json +412 -0
- package/test-projects/django-app/ai-context/repo_map.md +105 -0
- package/test-projects/django-app/ai-context/schema.json +5 -0
- package/test-projects/django-app/ai-context/summary.md +15 -0
- package/test-projects/django-app/ai-context/symbols.json +1 -0
- package/test-projects/django-app/ai-context/tech_stack.md +32 -0
- package/test-projects/django-app/ai-context/tools.json +10 -0
- package/test-projects/django-app/blog/__init__.py +0 -0
- package/test-projects/django-app/blog/admin.py +31 -0
- package/test-projects/django-app/blog/models.py +55 -0
- package/test-projects/django-app/blog/serializers.py +69 -0
- package/test-projects/django-app/blog/urls.py +14 -0
- package/test-projects/django-app/blog/views.py +96 -0
- package/test-projects/django-app/django_app/__init__.py +0 -0
- package/test-projects/django-app/django_app/settings.py +90 -0
- package/test-projects/django-app/django_app/urls.py +11 -0
- package/test-projects/django-app/django_app/wsgi.py +9 -0
- package/test-projects/django-app/manage.py +23 -0
- package/test-projects/django-app/requirements.txt +3 -0
- package/test-projects/django-app/users/__init__.py +0 -0
- package/test-projects/django-app/users/admin.py +42 -0
- package/test-projects/django-app/users/models.py +54 -0
- package/test-projects/django-app/users/serializers.py +113 -0
- package/test-projects/django-app/users/urls.py +13 -0
- package/test-projects/django-app/users/views.py +135 -0
- package/test-projects/express-api/.ai-dev/ai_context.md +112 -0
- package/test-projects/express-api/.ai-dev/ai_rules.md +50 -0
- package/test-projects/express-api/.ai-dev/architecture.md +62 -0
- package/test-projects/express-api/.ai-dev/context/features/controllers.json +13 -0
- package/test-projects/express-api/.ai-dev/context/features/services.json +13 -0
- package/test-projects/express-api/.ai-dev/context/flows/auth.json +12 -0
- package/test-projects/express-api/.ai-dev/context/flows/user.json +13 -0
- package/test-projects/express-api/.ai-dev/conventions.md +51 -0
- package/test-projects/express-api/.ai-dev/dependencies.json +54 -0
- package/test-projects/express-api/.ai-dev/entrypoints.md +17 -0
- package/test-projects/express-api/.ai-dev/modules.json +30 -0
- package/test-projects/express-api/.ai-dev/project.json +15 -0
- package/test-projects/express-api/.ai-dev/repo_map.json +100 -0
- package/test-projects/express-api/.ai-dev/repo_map.md +36 -0
- package/test-projects/express-api/.ai-dev/schema.json +5 -0
- package/test-projects/express-api/.ai-dev/summary.md +14 -0
- package/test-projects/express-api/.ai-dev/symbols.json +7 -0
- package/test-projects/express-api/.ai-dev/tech_stack.md +38 -0
- package/test-projects/express-api/.ai-dev/tools.json +10 -0
- package/test-projects/express-api/ai-context/ai_context.md +112 -0
- package/test-projects/express-api/ai-context/ai_rules.md +50 -0
- package/test-projects/express-api/ai-context/architecture.md +62 -0
- package/test-projects/express-api/ai-context/context/features/controllers.json +13 -0
- package/test-projects/express-api/ai-context/context/features/services.json +13 -0
- package/test-projects/express-api/ai-context/context/flows/auth.json +12 -0
- package/test-projects/express-api/ai-context/context/flows/user.json +13 -0
- package/test-projects/express-api/ai-context/conventions.md +51 -0
- package/test-projects/express-api/ai-context/dependencies.json +54 -0
- package/test-projects/express-api/ai-context/entrypoints.md +17 -0
- package/test-projects/express-api/ai-context/modules.json +30 -0
- package/test-projects/express-api/ai-context/project.json +15 -0
- package/test-projects/express-api/ai-context/repo_map.json +100 -0
- package/test-projects/express-api/ai-context/repo_map.md +36 -0
- package/test-projects/express-api/ai-context/schema.json +5 -0
- package/test-projects/express-api/ai-context/summary.md +14 -0
- package/test-projects/express-api/ai-context/symbols.json +7 -0
- package/test-projects/express-api/ai-context/tech_stack.md +38 -0
- package/test-projects/express-api/ai-context/tools.json +10 -0
- package/test-projects/express-api/controllers/authController.js +32 -0
- package/test-projects/express-api/controllers/userController.js +51 -0
- package/test-projects/express-api/index.js +30 -0
- package/test-projects/express-api/middleware/authMiddleware.js +30 -0
- package/test-projects/express-api/models/userRepository.js +25 -0
- package/test-projects/express-api/package.json +18 -0
- package/test-projects/express-api/services/authService.js +17 -0
- package/test-projects/express-api/services/userService.js +28 -0
- package/test-projects/fastapi-app/.ai-dev/ai_context.md +89 -0
- package/test-projects/fastapi-app/.ai-dev/ai_rules.md +47 -0
- package/test-projects/fastapi-app/.ai-dev/architecture.md +39 -0
- package/test-projects/fastapi-app/.ai-dev/cache.json +125 -0
- package/test-projects/fastapi-app/.ai-dev/conventions.md +51 -0
- package/test-projects/fastapi-app/.ai-dev/dependencies.json +244 -0
- package/test-projects/fastapi-app/.ai-dev/entrypoints.md +4 -0
- package/test-projects/fastapi-app/.ai-dev/files.json +154 -0
- package/test-projects/fastapi-app/.ai-dev/graph/knowledge-graph.json +15 -0
- package/test-projects/fastapi-app/.ai-dev/graph/module-graph.json +78 -0
- package/test-projects/fastapi-app/.ai-dev/graph/symbol-graph.json +1724 -0
- package/test-projects/fastapi-app/.ai-dev/graph/symbol-references.json +51 -0
- package/test-projects/fastapi-app/.ai-dev/index-state.json +217 -0
- package/test-projects/fastapi-app/.ai-dev/index.db +0 -0
- package/test-projects/fastapi-app/.ai-dev/modules.json +16 -0
- package/test-projects/fastapi-app/.ai-dev/project.json +9 -0
- package/test-projects/fastapi-app/.ai-dev/repo_map.json +298 -0
- package/test-projects/fastapi-app/.ai-dev/repo_map.md +74 -0
- package/test-projects/fastapi-app/.ai-dev/schema.json +5 -0
- package/test-projects/fastapi-app/.ai-dev/summary.md +12 -0
- package/test-projects/fastapi-app/.ai-dev/symbols.json +1 -0
- package/test-projects/fastapi-app/.ai-dev/tech_stack.md +32 -0
- package/test-projects/fastapi-app/.ai-dev/tools.json +10 -0
- package/test-projects/fastapi-app/README.md +118 -0
- package/test-projects/fastapi-app/ai-context/ai_context.md +89 -0
- package/test-projects/fastapi-app/ai-context/ai_rules.md +47 -0
- package/test-projects/fastapi-app/ai-context/architecture.md +39 -0
- package/test-projects/fastapi-app/ai-context/cache.json +125 -0
- package/test-projects/fastapi-app/ai-context/conventions.md +51 -0
- package/test-projects/fastapi-app/ai-context/dependencies.json +244 -0
- package/test-projects/fastapi-app/ai-context/entrypoints.md +4 -0
- package/test-projects/fastapi-app/ai-context/files.json +154 -0
- package/test-projects/fastapi-app/ai-context/graph/knowledge-graph.json +15 -0
- package/test-projects/fastapi-app/ai-context/graph/module-graph.json +78 -0
- package/test-projects/fastapi-app/ai-context/graph/symbol-graph.json +1724 -0
- package/test-projects/fastapi-app/ai-context/graph/symbol-references.json +51 -0
- package/test-projects/fastapi-app/ai-context/index-state.json +217 -0
- package/test-projects/fastapi-app/ai-context/index.db +0 -0
- package/test-projects/fastapi-app/ai-context/modules.json +16 -0
- package/test-projects/fastapi-app/ai-context/project.json +9 -0
- package/test-projects/fastapi-app/ai-context/repo_map.json +298 -0
- package/test-projects/fastapi-app/ai-context/repo_map.md +74 -0
- package/test-projects/fastapi-app/ai-context/schema.json +5 -0
- package/test-projects/fastapi-app/ai-context/summary.md +12 -0
- package/test-projects/fastapi-app/ai-context/symbols.json +1 -0
- package/test-projects/fastapi-app/ai-context/tech_stack.md +32 -0
- package/test-projects/fastapi-app/ai-context/tools.json +10 -0
- package/test-projects/fastapi-app/app/database.py +21 -0
- package/test-projects/fastapi-app/app/dependencies.py +107 -0
- package/test-projects/fastapi-app/app/main.py +47 -0
- package/test-projects/fastapi-app/app/models.py +149 -0
- package/test-projects/fastapi-app/app/routers/auth.py +117 -0
- package/test-projects/fastapi-app/app/routers/posts.py +272 -0
- package/test-projects/fastapi-app/app/schemas.py +191 -0
- package/test-projects/fastapi-app/requirements.txt +10 -0
- package/test-projects/flask-app/.ai-dev/ai_context.md +94 -0
- package/test-projects/flask-app/.ai-dev/ai_rules.md +47 -0
- package/test-projects/flask-app/.ai-dev/architecture.md +49 -0
- package/test-projects/flask-app/.ai-dev/cache.json +157 -0
- package/test-projects/flask-app/.ai-dev/context/features/app.json +25 -0
- package/test-projects/flask-app/.ai-dev/context/flows/routes.json +14 -0
- package/test-projects/flask-app/.ai-dev/conventions.md +51 -0
- package/test-projects/flask-app/.ai-dev/dependencies.json +298 -0
- package/test-projects/flask-app/.ai-dev/entrypoints.md +4 -0
- package/test-projects/flask-app/.ai-dev/files.json +194 -0
- package/test-projects/flask-app/.ai-dev/graph/knowledge-graph.json +60 -0
- package/test-projects/flask-app/.ai-dev/graph/module-graph.json +95 -0
- package/test-projects/flask-app/.ai-dev/graph/symbol-graph.json +1448 -0
- package/test-projects/flask-app/.ai-dev/graph/symbol-references.json +45 -0
- package/test-projects/flask-app/.ai-dev/index-state.json +273 -0
- package/test-projects/flask-app/.ai-dev/index.db +0 -0
- package/test-projects/flask-app/.ai-dev/modules.json +21 -0
- package/test-projects/flask-app/.ai-dev/project.json +13 -0
- package/test-projects/flask-app/.ai-dev/repo_map.json +400 -0
- package/test-projects/flask-app/.ai-dev/repo_map.md +98 -0
- package/test-projects/flask-app/.ai-dev/schema.json +5 -0
- package/test-projects/flask-app/.ai-dev/summary.md +13 -0
- package/test-projects/flask-app/.ai-dev/symbols.json +1 -0
- package/test-projects/flask-app/.ai-dev/tech_stack.md +32 -0
- package/test-projects/flask-app/.ai-dev/tools.json +10 -0
- package/test-projects/flask-app/README.md +129 -0
- package/test-projects/flask-app/ai-context/ai_context.md +94 -0
- package/test-projects/flask-app/ai-context/ai_rules.md +47 -0
- package/test-projects/flask-app/ai-context/architecture.md +49 -0
- package/test-projects/flask-app/ai-context/cache.json +157 -0
- package/test-projects/flask-app/ai-context/context/features/app.json +25 -0
- package/test-projects/flask-app/ai-context/context/flows/routes.json +14 -0
- package/test-projects/flask-app/ai-context/conventions.md +51 -0
- package/test-projects/flask-app/ai-context/dependencies.json +298 -0
- package/test-projects/flask-app/ai-context/entrypoints.md +4 -0
- package/test-projects/flask-app/ai-context/files.json +194 -0
- package/test-projects/flask-app/ai-context/graph/knowledge-graph.json +60 -0
- package/test-projects/flask-app/ai-context/graph/module-graph.json +95 -0
- package/test-projects/flask-app/ai-context/graph/symbol-graph.json +1448 -0
- package/test-projects/flask-app/ai-context/graph/symbol-references.json +45 -0
- package/test-projects/flask-app/ai-context/index-state.json +273 -0
- package/test-projects/flask-app/ai-context/index.db +0 -0
- package/test-projects/flask-app/ai-context/modules.json +21 -0
- package/test-projects/flask-app/ai-context/project.json +13 -0
- package/test-projects/flask-app/ai-context/repo_map.json +400 -0
- package/test-projects/flask-app/ai-context/repo_map.md +98 -0
- package/test-projects/flask-app/ai-context/schema.json +5 -0
- package/test-projects/flask-app/ai-context/summary.md +13 -0
- package/test-projects/flask-app/ai-context/symbols.json +1 -0
- package/test-projects/flask-app/ai-context/tech_stack.md +32 -0
- package/test-projects/flask-app/ai-context/tools.json +10 -0
- package/test-projects/flask-app/app/__init__.py +46 -0
- package/test-projects/flask-app/app/api/__init__.py +7 -0
- package/test-projects/flask-app/app/api/routes.py +122 -0
- package/test-projects/flask-app/app/auth/__init__.py +7 -0
- package/test-projects/flask-app/app/auth/forms.py +52 -0
- package/test-projects/flask-app/app/auth/routes.py +68 -0
- package/test-projects/flask-app/app/blog/__init__.py +7 -0
- package/test-projects/flask-app/app/blog/forms.py +35 -0
- package/test-projects/flask-app/app/blog/routes.py +140 -0
- package/test-projects/flask-app/app/main/__init__.py +7 -0
- package/test-projects/flask-app/app/main/routes.py +88 -0
- package/test-projects/flask-app/app/models.py +177 -0
- package/test-projects/flask-app/config.py +64 -0
- package/test-projects/flask-app/requirements.txt +10 -0
- package/test-projects/laravel-app/.ai-dev/ai_context.md +97 -0
- package/test-projects/laravel-app/.ai-dev/ai_rules.md +47 -0
- package/test-projects/laravel-app/.ai-dev/architecture.md +60 -0
- package/test-projects/laravel-app/.ai-dev/cache.json +161 -0
- package/test-projects/laravel-app/.ai-dev/context/features/app.json +21 -0
- package/test-projects/laravel-app/.ai-dev/context/flows/.json +9 -0
- package/test-projects/laravel-app/.ai-dev/context/flows/category.json +12 -0
- package/test-projects/laravel-app/.ai-dev/context/flows/comment.json +12 -0
- package/test-projects/laravel-app/.ai-dev/context/flows/post.json +12 -0
- package/test-projects/laravel-app/.ai-dev/context/flows/unnamed.json +9 -0
- package/test-projects/laravel-app/.ai-dev/conventions.md +51 -0
- package/test-projects/laravel-app/.ai-dev/dependencies.json +6 -0
- package/test-projects/laravel-app/.ai-dev/entrypoints.md +4 -0
- package/test-projects/laravel-app/.ai-dev/files.json +199 -0
- package/test-projects/laravel-app/.ai-dev/graph/knowledge-graph.json +98 -0
- package/test-projects/laravel-app/.ai-dev/graph/module-graph.json +30 -0
- package/test-projects/laravel-app/.ai-dev/graph/symbol-graph.json +5 -0
- package/test-projects/laravel-app/.ai-dev/graph/symbol-references.json +1 -0
- package/test-projects/laravel-app/.ai-dev/index-state.json +280 -0
- package/test-projects/laravel-app/.ai-dev/index.db +0 -0
- package/test-projects/laravel-app/.ai-dev/modules.json +29 -0
- package/test-projects/laravel-app/.ai-dev/project.json +17 -0
- package/test-projects/laravel-app/.ai-dev/repo_map.json +419 -0
- package/test-projects/laravel-app/.ai-dev/repo_map.md +106 -0
- package/test-projects/laravel-app/.ai-dev/schema.json +5 -0
- package/test-projects/laravel-app/.ai-dev/summary.md +15 -0
- package/test-projects/laravel-app/.ai-dev/symbols.json +1 -0
- package/test-projects/laravel-app/.ai-dev/tech_stack.md +34 -0
- package/test-projects/laravel-app/.ai-dev/tools.json +10 -0
- package/test-projects/laravel-app/README.md +107 -0
- package/test-projects/laravel-app/ai-context/ai_context.md +97 -0
- package/test-projects/laravel-app/ai-context/ai_rules.md +47 -0
- package/test-projects/laravel-app/ai-context/architecture.md +60 -0
- package/test-projects/laravel-app/ai-context/cache.json +161 -0
- package/test-projects/laravel-app/ai-context/context/features/app.json +21 -0
- package/test-projects/laravel-app/ai-context/context/flows/.json +9 -0
- package/test-projects/laravel-app/ai-context/context/flows/category.json +12 -0
- package/test-projects/laravel-app/ai-context/context/flows/comment.json +12 -0
- package/test-projects/laravel-app/ai-context/context/flows/post.json +12 -0
- package/test-projects/laravel-app/ai-context/context/flows/unnamed.json +9 -0
- package/test-projects/laravel-app/ai-context/conventions.md +51 -0
- package/test-projects/laravel-app/ai-context/dependencies.json +6 -0
- package/test-projects/laravel-app/ai-context/entrypoints.md +4 -0
- package/test-projects/laravel-app/ai-context/files.json +199 -0
- package/test-projects/laravel-app/ai-context/graph/knowledge-graph.json +98 -0
- package/test-projects/laravel-app/ai-context/graph/module-graph.json +30 -0
- package/test-projects/laravel-app/ai-context/graph/symbol-graph.json +5 -0
- package/test-projects/laravel-app/ai-context/graph/symbol-references.json +1 -0
- package/test-projects/laravel-app/ai-context/index-state.json +280 -0
- package/test-projects/laravel-app/ai-context/index.db +0 -0
- package/test-projects/laravel-app/ai-context/modules.json +29 -0
- package/test-projects/laravel-app/ai-context/project.json +17 -0
- package/test-projects/laravel-app/ai-context/repo_map.json +419 -0
- package/test-projects/laravel-app/ai-context/repo_map.md +106 -0
- package/test-projects/laravel-app/ai-context/schema.json +5 -0
- package/test-projects/laravel-app/ai-context/summary.md +15 -0
- package/test-projects/laravel-app/ai-context/symbols.json +1 -0
- package/test-projects/laravel-app/ai-context/tech_stack.md +34 -0
- package/test-projects/laravel-app/ai-context/tools.json +10 -0
- package/test-projects/laravel-app/app/Http/Controllers/Api/CategoryController.php +88 -0
- package/test-projects/laravel-app/app/Http/Controllers/Api/CommentController.php +56 -0
- package/test-projects/laravel-app/app/Http/Controllers/Api/PostController.php +174 -0
- package/test-projects/laravel-app/app/Http/Controllers/Controller.php +12 -0
- package/test-projects/laravel-app/app/Models/Category.php +34 -0
- package/test-projects/laravel-app/app/Models/Comment.php +51 -0
- package/test-projects/laravel-app/app/Models/Post.php +108 -0
- package/test-projects/laravel-app/app/Models/User.php +85 -0
- package/test-projects/laravel-app/bootstrap/app.php +25 -0
- package/test-projects/laravel-app/composer.json +35 -0
- package/test-projects/laravel-app/routes/api.php +40 -0
- package/test-projects/nestjs-backend/.ai-dev/ai_context.md +111 -0
- package/test-projects/nestjs-backend/.ai-dev/ai_rules.md +52 -0
- package/test-projects/nestjs-backend/.ai-dev/architecture.md +49 -0
- package/test-projects/nestjs-backend/.ai-dev/cache.json +169 -0
- package/test-projects/nestjs-backend/.ai-dev/context/features/src.json +23 -0
- package/test-projects/nestjs-backend/.ai-dev/context/flows/auth.controller.json +14 -0
- package/test-projects/nestjs-backend/.ai-dev/context/flows/auth.json +10 -0
- package/test-projects/nestjs-backend/.ai-dev/context/flows/users..json +10 -0
- package/test-projects/nestjs-backend/.ai-dev/context/flows/users.controller.json +14 -0
- package/test-projects/nestjs-backend/.ai-dev/context/flows/users.json +10 -0
- package/test-projects/nestjs-backend/.ai-dev/conventions.md +52 -0
- package/test-projects/nestjs-backend/.ai-dev/dependencies.json +152 -0
- package/test-projects/nestjs-backend/.ai-dev/entrypoints.md +18 -0
- package/test-projects/nestjs-backend/.ai-dev/files.json +209 -0
- package/test-projects/nestjs-backend/.ai-dev/graph/knowledge-graph.json +132 -0
- package/test-projects/nestjs-backend/.ai-dev/graph/module-graph.json +29 -0
- package/test-projects/nestjs-backend/.ai-dev/graph/symbol-graph.json +304 -0
- package/test-projects/nestjs-backend/.ai-dev/graph/symbol-references.json +5 -0
- package/test-projects/nestjs-backend/.ai-dev/index-state.json +294 -0
- package/test-projects/nestjs-backend/.ai-dev/index.db +0 -0
- package/test-projects/nestjs-backend/.ai-dev/modules.json +19 -0
- package/test-projects/nestjs-backend/.ai-dev/project.json +18 -0
- package/test-projects/nestjs-backend/.ai-dev/repo_map.json +427 -0
- package/test-projects/nestjs-backend/.ai-dev/repo_map.md +104 -0
- package/test-projects/nestjs-backend/.ai-dev/schema.json +5 -0
- package/test-projects/nestjs-backend/.ai-dev/summary.md +13 -0
- package/test-projects/nestjs-backend/.ai-dev/symbols.json +1 -0
- package/{ai → test-projects/nestjs-backend/.ai-dev}/tech_stack.md +6 -7
- package/test-projects/nestjs-backend/.ai-dev/tools.json +10 -0
- package/test-projects/nestjs-backend/ai-context/ai_context.md +111 -0
- package/test-projects/nestjs-backend/ai-context/ai_rules.md +52 -0
- package/test-projects/nestjs-backend/ai-context/architecture.md +49 -0
- package/test-projects/nestjs-backend/ai-context/cache.json +169 -0
- package/test-projects/nestjs-backend/ai-context/context/features/src.json +23 -0
- package/test-projects/nestjs-backend/ai-context/context/flows/auth.controller.json +14 -0
- package/test-projects/nestjs-backend/ai-context/context/flows/auth.json +10 -0
- package/test-projects/nestjs-backend/ai-context/context/flows/users..json +10 -0
- package/test-projects/nestjs-backend/ai-context/context/flows/users.controller.json +14 -0
- package/test-projects/nestjs-backend/ai-context/context/flows/users.json +10 -0
- package/test-projects/nestjs-backend/ai-context/conventions.md +52 -0
- package/test-projects/nestjs-backend/ai-context/dependencies.json +152 -0
- package/test-projects/nestjs-backend/ai-context/entrypoints.md +18 -0
- package/test-projects/nestjs-backend/ai-context/files.json +209 -0
- package/test-projects/nestjs-backend/ai-context/graph/knowledge-graph.json +132 -0
- package/test-projects/nestjs-backend/ai-context/graph/module-graph.json +29 -0
- package/test-projects/nestjs-backend/ai-context/graph/symbol-graph.json +304 -0
- package/test-projects/nestjs-backend/ai-context/graph/symbol-references.json +5 -0
- package/test-projects/nestjs-backend/ai-context/index-state.json +294 -0
- package/test-projects/nestjs-backend/ai-context/index.db +0 -0
- package/test-projects/nestjs-backend/ai-context/modules.json +19 -0
- package/test-projects/nestjs-backend/ai-context/project.json +18 -0
- package/test-projects/nestjs-backend/ai-context/repo_map.json +427 -0
- package/test-projects/nestjs-backend/ai-context/repo_map.md +104 -0
- package/test-projects/nestjs-backend/ai-context/schema.json +5 -0
- package/test-projects/nestjs-backend/ai-context/summary.md +13 -0
- package/test-projects/nestjs-backend/ai-context/symbols.json +1 -0
- package/test-projects/nestjs-backend/ai-context/tech_stack.md +38 -0
- package/test-projects/nestjs-backend/ai-context/tools.json +10 -0
- package/test-projects/nestjs-backend/package.json +22 -0
- package/test-projects/nestjs-backend/src/app.module.ts +8 -0
- package/test-projects/nestjs-backend/src/auth/auth.controller.ts +22 -0
- package/test-projects/nestjs-backend/src/auth/auth.module.ts +11 -0
- package/test-projects/nestjs-backend/src/auth/auth.service.ts +28 -0
- package/test-projects/nestjs-backend/src/auth/dto/login.dto.ts +4 -0
- package/test-projects/nestjs-backend/src/auth/strategies/jwt.strategy.ts +18 -0
- package/test-projects/nestjs-backend/src/main.ts +9 -0
- package/test-projects/nestjs-backend/src/users/users.controller.ts +32 -0
- package/test-projects/nestjs-backend/src/users/users.module.ts +10 -0
- package/test-projects/nestjs-backend/src/users/users.service.ts +42 -0
- package/test-projects/nestjs-backend/tsconfig.json +21 -0
- package/test-projects/python-cli/.ai-dev/ai_context.md +95 -0
- package/test-projects/python-cli/.ai-dev/ai_rules.md +47 -0
- package/test-projects/python-cli/.ai-dev/architecture.md +55 -0
- package/test-projects/python-cli/.ai-dev/cache.json +149 -0
- package/test-projects/python-cli/.ai-dev/context/features/cli.json +16 -0
- package/test-projects/python-cli/.ai-dev/context/flows/list_.json +9 -0
- package/test-projects/python-cli/.ai-dev/context/flows/remove_.json +9 -0
- package/test-projects/python-cli/.ai-dev/conventions.md +51 -0
- package/test-projects/python-cli/.ai-dev/dependencies.json +66 -0
- package/test-projects/python-cli/.ai-dev/entrypoints.md +4 -0
- package/test-projects/python-cli/.ai-dev/files.json +184 -0
- package/test-projects/python-cli/.ai-dev/graph/knowledge-graph.json +83 -0
- package/test-projects/python-cli/.ai-dev/graph/module-graph.json +31 -0
- package/test-projects/python-cli/.ai-dev/graph/symbol-graph.json +358 -0
- package/test-projects/python-cli/.ai-dev/graph/symbol-references.json +11 -0
- package/test-projects/python-cli/.ai-dev/index-state.json +259 -0
- package/test-projects/python-cli/.ai-dev/index.db +0 -0
- package/test-projects/python-cli/.ai-dev/modules.json +21 -0
- package/test-projects/python-cli/.ai-dev/project.json +15 -0
- package/test-projects/python-cli/.ai-dev/repo_map.json +367 -0
- package/test-projects/python-cli/.ai-dev/repo_map.md +93 -0
- package/test-projects/python-cli/.ai-dev/schema.json +5 -0
- package/test-projects/python-cli/.ai-dev/summary.md +14 -0
- package/test-projects/python-cli/.ai-dev/symbols.json +1 -0
- package/test-projects/python-cli/.ai-dev/tech_stack.md +32 -0
- package/test-projects/python-cli/.ai-dev/tools.json +10 -0
- package/test-projects/python-cli/__init__.py +1 -0
- package/test-projects/python-cli/ai-context/ai_context.md +95 -0
- package/test-projects/python-cli/ai-context/ai_rules.md +47 -0
- package/test-projects/python-cli/ai-context/architecture.md +55 -0
- package/test-projects/python-cli/ai-context/cache.json +149 -0
- package/test-projects/python-cli/ai-context/context/features/cli.json +16 -0
- package/test-projects/python-cli/ai-context/context/flows/list_.json +9 -0
- package/test-projects/python-cli/ai-context/context/flows/remove_.json +9 -0
- package/test-projects/python-cli/ai-context/conventions.md +51 -0
- package/test-projects/python-cli/ai-context/dependencies.json +66 -0
- package/test-projects/python-cli/ai-context/entrypoints.md +4 -0
- package/test-projects/python-cli/ai-context/files.json +184 -0
- package/test-projects/python-cli/ai-context/graph/knowledge-graph.json +83 -0
- package/test-projects/python-cli/ai-context/graph/module-graph.json +31 -0
- package/test-projects/python-cli/ai-context/graph/symbol-graph.json +358 -0
- package/test-projects/python-cli/ai-context/graph/symbol-references.json +11 -0
- package/test-projects/python-cli/ai-context/index-state.json +259 -0
- package/test-projects/python-cli/ai-context/index.db +0 -0
- package/test-projects/python-cli/ai-context/modules.json +21 -0
- package/test-projects/python-cli/ai-context/project.json +15 -0
- package/test-projects/python-cli/ai-context/repo_map.json +367 -0
- package/test-projects/python-cli/ai-context/repo_map.md +93 -0
- package/test-projects/python-cli/ai-context/schema.json +5 -0
- package/test-projects/python-cli/ai-context/summary.md +14 -0
- package/test-projects/python-cli/ai-context/symbols.json +1 -0
- package/test-projects/python-cli/ai-context/tech_stack.md +32 -0
- package/test-projects/python-cli/ai-context/tools.json +10 -0
- package/test-projects/python-cli/cli/__init__.py +1 -0
- package/test-projects/python-cli/cli/add_command.py +6 -0
- package/test-projects/python-cli/cli/list_command.py +7 -0
- package/test-projects/python-cli/cli/remove_command.py +6 -0
- package/test-projects/python-cli/main.py +34 -0
- package/test-projects/python-cli/models/__init__.py +2 -0
- package/test-projects/python-cli/models/task.py +19 -0
- package/test-projects/python-cli/models/task_repository.py +44 -0
- package/test-projects/rails-app/.ai-dev/ai_context.md +94 -0
- package/test-projects/rails-app/.ai-dev/ai_rules.md +47 -0
- package/test-projects/rails-app/.ai-dev/architecture.md +49 -0
- package/test-projects/rails-app/.ai-dev/cache.json +193 -0
- package/test-projects/rails-app/.ai-dev/context/features/app.json +24 -0
- package/test-projects/rails-app/.ai-dev/context/features/config.json +13 -0
- package/test-projects/rails-app/.ai-dev/context/flows/application.json +9 -0
- package/test-projects/rails-app/.ai-dev/context/flows/application_.json +9 -0
- package/test-projects/rails-app/.ai-dev/context/flows/comments.json +11 -0
- package/test-projects/rails-app/.ai-dev/context/flows/comments_.json +11 -0
- package/test-projects/rails-app/.ai-dev/context/flows/posts.json +11 -0
- package/test-projects/rails-app/.ai-dev/context/flows/posts_.json +11 -0
- package/test-projects/rails-app/.ai-dev/context/flows/routes.json +9 -0
- package/test-projects/rails-app/.ai-dev/context/flows/users.json +11 -0
- package/test-projects/rails-app/.ai-dev/context/flows/users_.json +11 -0
- package/test-projects/rails-app/.ai-dev/conventions.md +51 -0
- package/test-projects/rails-app/.ai-dev/dependencies.json +6 -0
- package/test-projects/rails-app/.ai-dev/entrypoints.md +4 -0
- package/test-projects/rails-app/.ai-dev/files.json +239 -0
- package/test-projects/rails-app/.ai-dev/graph/knowledge-graph.json +130 -0
- package/test-projects/rails-app/.ai-dev/graph/module-graph.json +27 -0
- package/test-projects/rails-app/.ai-dev/graph/symbol-graph.json +5 -0
- package/test-projects/rails-app/.ai-dev/graph/symbol-references.json +1 -0
- package/test-projects/rails-app/.ai-dev/index-state.json +336 -0
- package/test-projects/rails-app/.ai-dev/index.db +0 -0
- package/test-projects/rails-app/.ai-dev/modules.json +26 -0
- package/test-projects/rails-app/.ai-dev/project.json +22 -0
- package/test-projects/rails-app/.ai-dev/repo_map.json +486 -0
- package/test-projects/rails-app/.ai-dev/repo_map.md +117 -0
- package/test-projects/rails-app/.ai-dev/schema.json +5 -0
- package/test-projects/rails-app/.ai-dev/summary.md +13 -0
- package/test-projects/rails-app/.ai-dev/symbols.json +1 -0
- package/test-projects/rails-app/.ai-dev/tech_stack.md +32 -0
- package/test-projects/rails-app/.ai-dev/tools.json +10 -0
- package/test-projects/rails-app/Gemfile +38 -0
- package/test-projects/rails-app/README.md +140 -0
- package/test-projects/rails-app/Rakefile +8 -0
- package/test-projects/rails-app/ai-context/ai_context.md +94 -0
- package/test-projects/rails-app/ai-context/ai_rules.md +47 -0
- package/test-projects/rails-app/ai-context/architecture.md +49 -0
- package/test-projects/rails-app/ai-context/cache.json +193 -0
- package/test-projects/rails-app/ai-context/context/features/app.json +24 -0
- package/test-projects/rails-app/ai-context/context/features/config.json +13 -0
- package/test-projects/rails-app/ai-context/context/flows/application.json +9 -0
- package/test-projects/rails-app/ai-context/context/flows/application_.json +9 -0
- package/test-projects/rails-app/ai-context/context/flows/comments.json +11 -0
- package/test-projects/rails-app/ai-context/context/flows/comments_.json +11 -0
- package/test-projects/rails-app/ai-context/context/flows/posts.json +11 -0
- package/test-projects/rails-app/ai-context/context/flows/posts_.json +11 -0
- package/test-projects/rails-app/ai-context/context/flows/routes.json +9 -0
- package/test-projects/rails-app/ai-context/context/flows/users.json +11 -0
- package/test-projects/rails-app/ai-context/context/flows/users_.json +11 -0
- package/test-projects/rails-app/ai-context/conventions.md +51 -0
- package/test-projects/rails-app/ai-context/dependencies.json +6 -0
- package/test-projects/rails-app/ai-context/entrypoints.md +4 -0
- package/test-projects/rails-app/ai-context/files.json +239 -0
- package/test-projects/rails-app/ai-context/graph/knowledge-graph.json +130 -0
- package/test-projects/rails-app/ai-context/graph/module-graph.json +27 -0
- package/test-projects/rails-app/ai-context/graph/symbol-graph.json +5 -0
- package/test-projects/rails-app/ai-context/graph/symbol-references.json +1 -0
- package/test-projects/rails-app/ai-context/index-state.json +336 -0
- package/test-projects/rails-app/ai-context/index.db +0 -0
- package/test-projects/rails-app/ai-context/modules.json +26 -0
- package/test-projects/rails-app/ai-context/project.json +22 -0
- package/test-projects/rails-app/ai-context/repo_map.json +486 -0
- package/test-projects/rails-app/ai-context/repo_map.md +117 -0
- package/test-projects/rails-app/ai-context/schema.json +5 -0
- package/test-projects/rails-app/ai-context/summary.md +13 -0
- package/test-projects/rails-app/ai-context/symbols.json +1 -0
- package/test-projects/rails-app/ai-context/tech_stack.md +32 -0
- package/test-projects/rails-app/ai-context/tools.json +10 -0
- package/test-projects/rails-app/app/controllers/api/comments_controller.rb +75 -0
- package/test-projects/rails-app/app/controllers/api/posts_controller.rb +68 -0
- package/test-projects/rails-app/app/controllers/api/users_controller.rb +54 -0
- package/test-projects/rails-app/app/controllers/application_controller.rb +31 -0
- package/test-projects/rails-app/app/models/comment.rb +34 -0
- package/test-projects/rails-app/app/models/post.rb +36 -0
- package/test-projects/rails-app/app/models/user.rb +28 -0
- package/test-projects/rails-app/app/services/post_service.rb +92 -0
- package/test-projects/rails-app/app/services/user_service.rb +76 -0
- package/test-projects/rails-app/config/application.rb +27 -0
- package/test-projects/rails-app/config/environment.rb +7 -0
- package/test-projects/rails-app/config/routes.rb +15 -0
- package/test-projects/react-app/.ai-dev/ai_context.md +96 -0
- package/test-projects/react-app/.ai-dev/ai_rules.md +49 -0
- package/test-projects/react-app/.ai-dev/architecture.md +39 -0
- package/test-projects/react-app/.ai-dev/cache.json +153 -0
- package/test-projects/react-app/.ai-dev/context/features/src.json +18 -0
- package/test-projects/react-app/.ai-dev/context/flows/UsersPage.json +14 -0
- package/test-projects/react-app/.ai-dev/context/flows/dashboard.json +9 -0
- package/test-projects/react-app/.ai-dev/context/flows/login.json +9 -0
- package/test-projects/react-app/.ai-dev/context/flows/users.json +9 -0
- package/test-projects/react-app/.ai-dev/dependencies.json +128 -0
- package/test-projects/react-app/.ai-dev/entrypoints.md +4 -0
- package/test-projects/react-app/.ai-dev/files.json +189 -0
- package/test-projects/react-app/.ai-dev/graph/knowledge-graph.json +112 -0
- package/test-projects/react-app/.ai-dev/graph/module-graph.json +31 -0
- package/test-projects/react-app/.ai-dev/graph/symbol-graph.json +868 -0
- package/test-projects/react-app/.ai-dev/graph/symbol-references.json +31 -0
- package/test-projects/react-app/.ai-dev/index-state.json +266 -0
- package/test-projects/react-app/.ai-dev/index.db +0 -0
- package/test-projects/react-app/.ai-dev/modules.json +17 -0
- package/test-projects/react-app/.ai-dev/project.json +16 -0
- package/test-projects/react-app/.ai-dev/repo_map.json +391 -0
- package/test-projects/react-app/.ai-dev/repo_map.md +94 -0
- package/test-projects/react-app/.ai-dev/schema.json +5 -0
- package/test-projects/react-app/.ai-dev/summary.md +13 -0
- package/test-projects/react-app/.ai-dev/symbols.json +1 -0
- package/test-projects/react-app/.ai-dev/tech_stack.md +39 -0
- package/test-projects/react-app/.ai-dev/tools.json +10 -0
- package/test-projects/react-app/ai-context/ai_context.md +96 -0
- package/test-projects/react-app/ai-context/ai_rules.md +49 -0
- package/test-projects/react-app/ai-context/architecture.md +39 -0
- package/test-projects/react-app/ai-context/cache.json +153 -0
- package/test-projects/react-app/ai-context/context/features/src.json +18 -0
- package/test-projects/react-app/ai-context/context/flows/UsersPage.json +14 -0
- package/test-projects/react-app/ai-context/context/flows/dashboard.json +9 -0
- package/test-projects/react-app/ai-context/context/flows/login.json +9 -0
- package/test-projects/react-app/ai-context/context/flows/users.json +9 -0
- package/test-projects/react-app/ai-context/conventions.md +52 -0
- package/test-projects/react-app/ai-context/dependencies.json +128 -0
- package/test-projects/react-app/ai-context/entrypoints.md +4 -0
- package/test-projects/react-app/ai-context/files.json +189 -0
- package/test-projects/react-app/ai-context/graph/knowledge-graph.json +112 -0
- package/test-projects/react-app/ai-context/graph/module-graph.json +31 -0
- package/test-projects/react-app/ai-context/graph/symbol-graph.json +868 -0
- package/test-projects/react-app/ai-context/graph/symbol-references.json +31 -0
- package/test-projects/react-app/ai-context/index-state.json +266 -0
- package/test-projects/react-app/ai-context/index.db +0 -0
- package/test-projects/react-app/ai-context/modules.json +17 -0
- package/test-projects/react-app/ai-context/project.json +16 -0
- package/test-projects/react-app/ai-context/repo_map.json +391 -0
- package/test-projects/react-app/ai-context/repo_map.md +94 -0
- package/test-projects/react-app/ai-context/schema.json +5 -0
- package/test-projects/react-app/ai-context/summary.md +13 -0
- package/test-projects/react-app/ai-context/symbols.json +1 -0
- package/test-projects/react-app/ai-context/tech_stack.md +39 -0
- package/test-projects/react-app/ai-context/tools.json +10 -0
- package/test-projects/react-app/package.json +16 -0
- package/test-projects/react-app/src/App.tsx +21 -0
- package/test-projects/react-app/src/context/AuthContext.tsx +41 -0
- package/test-projects/react-app/src/hooks/useAuth.ts +10 -0
- package/test-projects/react-app/src/main.tsx +10 -0
- package/test-projects/react-app/src/pages/DashboardPage.tsx +17 -0
- package/test-projects/react-app/src/pages/LoginPage.tsx +41 -0
- package/test-projects/react-app/src/pages/UsersPage.tsx +36 -0
- package/test-projects/react-app/src/services/userService.ts +37 -0
- package/test-projects/salesforce-cli/.ai-dev/ai_context.md +89 -0
- package/test-projects/salesforce-cli/.ai-dev/ai_rules.md +47 -0
- package/test-projects/salesforce-cli/.ai-dev/architecture.md +39 -0
- package/test-projects/salesforce-cli/.ai-dev/cache.json +125 -0
- package/test-projects/salesforce-cli/.ai-dev/context/features/force-app.json +14 -0
- package/test-projects/salesforce-cli/.ai-dev/context/flows/account.json +9 -0
- package/test-projects/salesforce-cli/.ai-dev/context/flows/opportunity.json +9 -0
- package/test-projects/salesforce-cli/.ai-dev/conventions.md +51 -0
- package/test-projects/salesforce-cli/.ai-dev/dependencies.json +6 -0
- package/test-projects/salesforce-cli/.ai-dev/entrypoints.md +4 -0
- package/test-projects/salesforce-cli/.ai-dev/files.json +154 -0
- package/test-projects/salesforce-cli/.ai-dev/graph/knowledge-graph.json +64 -0
- package/test-projects/salesforce-cli/.ai-dev/graph/module-graph.json +13 -0
- package/test-projects/salesforce-cli/.ai-dev/graph/symbol-graph.json +148 -0
- package/test-projects/salesforce-cli/.ai-dev/graph/symbol-references.json +1 -0
- package/test-projects/salesforce-cli/.ai-dev/index-state.json +217 -0
- package/test-projects/salesforce-cli/.ai-dev/index.db +0 -0
- package/test-projects/salesforce-cli/.ai-dev/modules.json +12 -0
- package/test-projects/salesforce-cli/.ai-dev/project.json +14 -0
- package/test-projects/salesforce-cli/.ai-dev/repo_map.json +328 -0
- package/test-projects/salesforce-cli/.ai-dev/repo_map.md +80 -0
- package/test-projects/salesforce-cli/.ai-dev/schema.json +5 -0
- package/test-projects/salesforce-cli/.ai-dev/summary.md +13 -0
- package/test-projects/salesforce-cli/.ai-dev/symbols.json +1 -0
- package/test-projects/salesforce-cli/.ai-dev/tech_stack.md +31 -0
- package/test-projects/salesforce-cli/.ai-dev/tools.json +10 -0
- package/test-projects/salesforce-cli/.forceignore +27 -0
- package/test-projects/salesforce-cli/ai-context/ai_context.md +89 -0
- package/test-projects/salesforce-cli/ai-context/ai_rules.md +47 -0
- package/test-projects/salesforce-cli/ai-context/architecture.md +39 -0
- package/test-projects/salesforce-cli/ai-context/cache.json +125 -0
- package/test-projects/salesforce-cli/ai-context/context/features/force-app.json +14 -0
- package/test-projects/salesforce-cli/ai-context/context/flows/account.json +9 -0
- package/test-projects/salesforce-cli/ai-context/context/flows/opportunity.json +9 -0
- package/test-projects/salesforce-cli/ai-context/conventions.md +51 -0
- package/test-projects/salesforce-cli/ai-context/dependencies.json +6 -0
- package/test-projects/salesforce-cli/ai-context/entrypoints.md +4 -0
- package/test-projects/salesforce-cli/ai-context/files.json +154 -0
- package/test-projects/salesforce-cli/ai-context/graph/knowledge-graph.json +64 -0
- package/test-projects/salesforce-cli/ai-context/graph/module-graph.json +13 -0
- package/test-projects/salesforce-cli/ai-context/graph/symbol-graph.json +148 -0
- package/test-projects/salesforce-cli/ai-context/graph/symbol-references.json +1 -0
- package/test-projects/salesforce-cli/ai-context/index-state.json +217 -0
- package/test-projects/salesforce-cli/ai-context/index.db +0 -0
- package/test-projects/salesforce-cli/ai-context/modules.json +12 -0
- package/test-projects/salesforce-cli/ai-context/project.json +14 -0
- package/test-projects/salesforce-cli/ai-context/repo_map.json +328 -0
- package/test-projects/salesforce-cli/ai-context/repo_map.md +80 -0
- package/test-projects/salesforce-cli/ai-context/schema.json +5 -0
- package/test-projects/salesforce-cli/ai-context/summary.md +13 -0
- package/test-projects/salesforce-cli/ai-context/symbols.json +1 -0
- package/test-projects/salesforce-cli/ai-context/tech_stack.md +31 -0
- package/test-projects/salesforce-cli/ai-context/tools.json +10 -0
- package/test-projects/salesforce-cli/force-app/main/default/classes/AccountController.cls +24 -0
- package/test-projects/salesforce-cli/force-app/main/default/classes/OpportunityController.cls +25 -0
- package/test-projects/salesforce-cli/force-app/main/default/objects/Project__c.object.xml +45 -0
- package/test-projects/salesforce-cli/force-app/main/default/triggers/AccountTrigger.trigger +33 -0
- package/test-projects/salesforce-cli/sfdx-project.json +11 -0
- package/test-projects/spring-boot-app/.ai-dev/ai_context.md +91 -0
- package/test-projects/spring-boot-app/.ai-dev/ai_rules.md +48 -0
- package/test-projects/spring-boot-app/.ai-dev/architecture.md +39 -0
- package/test-projects/spring-boot-app/.ai-dev/cache.json +173 -0
- package/test-projects/spring-boot-app/.ai-dev/context/features/src.json +26 -0
- package/test-projects/spring-boot-app/.ai-dev/context/flows/PostController.json +19 -0
- package/test-projects/spring-boot-app/.ai-dev/context/flows/UserController.json +19 -0
- package/test-projects/spring-boot-app/.ai-dev/context/flows/comment.json +11 -0
- package/test-projects/spring-boot-app/.ai-dev/context/flows/post.json +14 -0
- package/test-projects/spring-boot-app/.ai-dev/context/flows/user.json +14 -0
- package/test-projects/spring-boot-app/.ai-dev/conventions.md +52 -0
- package/test-projects/spring-boot-app/.ai-dev/dependencies.json +326 -0
- package/test-projects/spring-boot-app/.ai-dev/entrypoints.md +4 -0
- package/test-projects/spring-boot-app/.ai-dev/files.json +214 -0
- package/test-projects/spring-boot-app/.ai-dev/graph/knowledge-graph.json +231 -0
- package/test-projects/spring-boot-app/.ai-dev/graph/module-graph.json +22 -0
- package/test-projects/spring-boot-app/.ai-dev/graph/symbol-graph.json +794 -0
- package/test-projects/spring-boot-app/.ai-dev/graph/symbol-references.json +70 -0
- package/test-projects/spring-boot-app/.ai-dev/index-state.json +301 -0
- package/test-projects/spring-boot-app/.ai-dev/index.db +0 -0
- package/test-projects/spring-boot-app/.ai-dev/modules.json +21 -0
- package/test-projects/spring-boot-app/.ai-dev/project.json +17 -0
- package/test-projects/spring-boot-app/.ai-dev/repo_map.json +461 -0
- package/test-projects/spring-boot-app/.ai-dev/repo_map.md +109 -0
- package/test-projects/spring-boot-app/.ai-dev/schema.json +5 -0
- package/test-projects/spring-boot-app/.ai-dev/summary.md +12 -0
- package/test-projects/spring-boot-app/.ai-dev/symbols.json +1 -0
- package/test-projects/spring-boot-app/.ai-dev/tech_stack.md +32 -0
- package/test-projects/spring-boot-app/.ai-dev/tools.json +10 -0
- package/test-projects/spring-boot-app/.classpath +57 -0
- package/test-projects/spring-boot-app/.factorypath +69 -0
- package/test-projects/spring-boot-app/.project +34 -0
- package/test-projects/spring-boot-app/.settings/org.eclipse.core.resources.prefs +4 -0
- package/test-projects/spring-boot-app/.settings/org.eclipse.jdt.apt.core.prefs +4 -0
- package/test-projects/spring-boot-app/.settings/org.eclipse.jdt.core.prefs +10 -0
- package/test-projects/spring-boot-app/.settings/org.eclipse.m2e.core.prefs +4 -0
- package/test-projects/spring-boot-app/README.md +122 -0
- package/test-projects/spring-boot-app/ai-context/ai_context.md +91 -0
- package/test-projects/spring-boot-app/ai-context/ai_rules.md +48 -0
- package/test-projects/spring-boot-app/ai-context/architecture.md +39 -0
- package/test-projects/spring-boot-app/ai-context/cache.json +173 -0
- package/test-projects/spring-boot-app/ai-context/context/features/src.json +26 -0
- package/test-projects/spring-boot-app/ai-context/context/flows/PostController.json +19 -0
- package/test-projects/spring-boot-app/ai-context/context/flows/UserController.json +19 -0
- package/test-projects/spring-boot-app/ai-context/context/flows/comment.json +11 -0
- package/test-projects/spring-boot-app/ai-context/context/flows/post.json +14 -0
- package/test-projects/spring-boot-app/ai-context/context/flows/user.json +14 -0
- package/test-projects/spring-boot-app/ai-context/conventions.md +52 -0
- package/test-projects/spring-boot-app/ai-context/dependencies.json +326 -0
- package/test-projects/spring-boot-app/ai-context/entrypoints.md +4 -0
- package/test-projects/spring-boot-app/ai-context/files.json +214 -0
- package/test-projects/spring-boot-app/ai-context/graph/knowledge-graph.json +231 -0
- package/test-projects/spring-boot-app/ai-context/graph/module-graph.json +22 -0
- package/test-projects/spring-boot-app/ai-context/graph/symbol-graph.json +794 -0
- package/test-projects/spring-boot-app/ai-context/graph/symbol-references.json +70 -0
- package/test-projects/spring-boot-app/ai-context/index-state.json +301 -0
- package/test-projects/spring-boot-app/ai-context/index.db +0 -0
- package/test-projects/spring-boot-app/ai-context/modules.json +21 -0
- package/test-projects/spring-boot-app/ai-context/project.json +17 -0
- package/test-projects/spring-boot-app/ai-context/repo_map.json +461 -0
- package/test-projects/spring-boot-app/ai-context/repo_map.md +109 -0
- package/test-projects/spring-boot-app/ai-context/schema.json +5 -0
- package/test-projects/spring-boot-app/ai-context/summary.md +12 -0
- package/test-projects/spring-boot-app/ai-context/symbols.json +1 -0
- package/test-projects/spring-boot-app/ai-context/tech_stack.md +32 -0
- package/test-projects/spring-boot-app/ai-context/tools.json +10 -0
- package/test-projects/spring-boot-app/pom.xml +79 -0
- package/test-projects/spring-boot-app/src/main/java/com/example/demo/DemoApplication.java +12 -0
- package/test-projects/spring-boot-app/src/main/java/com/example/demo/controllers/CommentController.java +89 -0
- package/test-projects/spring-boot-app/src/main/java/com/example/demo/controllers/PostController.java +92 -0
- package/test-projects/spring-boot-app/src/main/java/com/example/demo/controllers/UserController.java +84 -0
- package/test-projects/spring-boot-app/src/main/java/com/example/demo/models/Comment.java +38 -0
- package/test-projects/spring-boot-app/src/main/java/com/example/demo/models/Post.java +56 -0
- package/test-projects/spring-boot-app/src/main/java/com/example/demo/models/User.java +44 -0
- package/test-projects/spring-boot-app/src/main/java/com/example/demo/repositories/CommentRepository.java +21 -0
- package/test-projects/spring-boot-app/src/main/java/com/example/demo/repositories/PostRepository.java +18 -0
- package/test-projects/spring-boot-app/src/main/java/com/example/demo/repositories/UserRepository.java +15 -0
- package/test-projects/spring-boot-app/src/main/java/com/example/demo/services/PostService.java +83 -0
- package/test-projects/spring-boot-app/src/main/java/com/example/demo/services/UserService.java +62 -0
- package/test-projects/spring-boot-app/src/main/resources/application.properties +22 -0
- 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/test_adapters.mjs +87 -0
- package/tests/e2e/README.md +85 -0
- package/tests/e2e/run-e2e.sh +88 -0
- package/tests/phase2-fixes.test.ts +200 -0
- package/tests/semanticContexts.test.ts +23 -25
- package/ai/cache.json +0 -329
- package/ai/dependencies.json +0 -307
- package/ai/files.json +0 -1253
- package/ai/graph/module-graph.json +0 -119
- package/ai/graph/symbol-graph.json +0 -52738
- package/ai/graph/symbol-references.json +0 -1810
- package/ai/hierarchy.json +0 -28
- package/ai/index-state.json +0 -931
- package/ai/index.db +0 -0
- package/ai/modules.json +0 -73
- package/ai/repo-map.json +0 -833
- package/ai/repo_map.json +0 -833
- package/ai/repo_map.md +0 -211
- package/ai/summary.md +0 -23
- /package/{ai → .ai-dev}/ccp/jira-123/context.json +0 -0
- /package/{ai → .ai-dev}/context/repo.json +0 -0
- /package/{ai → .ai-dev}/context/utils.json +0 -0
- /package/{ai → .ai-dev}/embeddings.json +0 -0
- /package/{ai → .ai-dev}/git/commit-activity.json +0 -0
- /package/{ai → .ai-dev}/git/recent-features.json +0 -0
- /package/{ai → .ai-dev}/git/recent-files.json +0 -0
- /package/{ai → .ai-dev}/git/recent-flows.json +0 -0
- /package/{ai/symbols.json → ai-context/git/recent-features.json} +0 -0
- /package/{ai → test-projects/react-app/.ai-dev}/conventions.md +0 -0
package/test-projects/spring-boot-app/src/main/java/com/example/demo/services/UserService.java
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
package com.example.demo.services;
|
|
2
|
+
|
|
3
|
+
import com.example.demo.models.User;
|
|
4
|
+
import com.example.demo.repositories.UserRepository;
|
|
5
|
+
import lombok.RequiredArgsConstructor;
|
|
6
|
+
import org.springframework.stereotype.Service;
|
|
7
|
+
import org.springframework.transaction.annotation.Transactional;
|
|
8
|
+
|
|
9
|
+
import java.util.List;
|
|
10
|
+
import java.util.Optional;
|
|
11
|
+
|
|
12
|
+
@Service
|
|
13
|
+
@RequiredArgsConstructor
|
|
14
|
+
@Transactional(readOnly = true)
|
|
15
|
+
public class UserService {
|
|
16
|
+
|
|
17
|
+
private final UserRepository userRepository;
|
|
18
|
+
|
|
19
|
+
public List<User> findAll() {
|
|
20
|
+
return userRepository.findAll();
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
public Optional<User> findById(Long id) {
|
|
24
|
+
return userRepository.findById(id);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
public Optional<User> findByEmail(String email) {
|
|
28
|
+
return userRepository.findByEmail(email);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@Transactional
|
|
32
|
+
public User create(User user) {
|
|
33
|
+
if (userRepository.existsByEmail(user.getEmail())) {
|
|
34
|
+
throw new IllegalArgumentException("User with email " + user.getEmail() + " already exists");
|
|
35
|
+
}
|
|
36
|
+
return userRepository.save(user);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@Transactional
|
|
40
|
+
public User update(Long id, User userDetails) {
|
|
41
|
+
User user = userRepository.findById(id)
|
|
42
|
+
.orElseThrow(() -> new IllegalArgumentException("User not found with id: " + id));
|
|
43
|
+
|
|
44
|
+
if (!user.getEmail().equals(userDetails.getEmail()) &&
|
|
45
|
+
userRepository.existsByEmail(userDetails.getEmail())) {
|
|
46
|
+
throw new IllegalArgumentException("Email already in use: " + userDetails.getEmail());
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
user.setName(userDetails.getName());
|
|
50
|
+
user.setEmail(userDetails.getEmail());
|
|
51
|
+
|
|
52
|
+
return userRepository.save(user);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@Transactional
|
|
56
|
+
public void delete(Long id) {
|
|
57
|
+
if (!userRepository.existsById(id)) {
|
|
58
|
+
throw new IllegalArgumentException("User not found with id: " + id);
|
|
59
|
+
}
|
|
60
|
+
userRepository.deleteById(id);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Application Configuration
|
|
2
|
+
spring.application.name=demo
|
|
3
|
+
|
|
4
|
+
# H2 Database Configuration
|
|
5
|
+
spring.datasource.url=jdbc:h2:mem:testdb
|
|
6
|
+
spring.datasource.driverClassName=org.h2.Driver
|
|
7
|
+
spring.datasource.username=sa
|
|
8
|
+
spring.datasource.password=
|
|
9
|
+
|
|
10
|
+
# JPA/Hibernate Configuration
|
|
11
|
+
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
|
|
12
|
+
spring.jpa.hibernate.ddl-auto=create-drop
|
|
13
|
+
spring.jpa.show-sql=true
|
|
14
|
+
spring.jpa.properties.hibernate.format_sql=true
|
|
15
|
+
|
|
16
|
+
# H2 Console (for development)
|
|
17
|
+
spring.h2.console.enabled=true
|
|
18
|
+
spring.h2.console.path=/h2-console
|
|
19
|
+
|
|
20
|
+
# Logging
|
|
21
|
+
logging.level.org.hibernate.SQL=debug
|
|
22
|
+
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=trace
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/test-projects/spring-boot-app/target/classes/com/example/demo/services/PostService.class
ADDED
|
Binary file
|
package/test-projects/spring-boot-app/target/classes/com/example/demo/services/UserService.class
ADDED
|
Binary file
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { extractSymbols } from "./dist/analyzers/symbols.js";
|
|
2
|
+
import fs from "fs";
|
|
3
|
+
import path from "path";
|
|
4
|
+
|
|
5
|
+
const projects = [
|
|
6
|
+
{ name: "Django", path: "test-projects/django-app", ext: ".py", sampleFile: "blog/models.py" },
|
|
7
|
+
{ name: "Laravel", path: "test-projects/laravel-app", ext: ".php", sampleFile: "app/Http/Controllers/Controller.php" },
|
|
8
|
+
{ name: "FastAPI", path: "test-projects/fastapi-app", ext: ".py", sampleFile: "app/main.py" },
|
|
9
|
+
{ name: "Flask", path: "test-projects/flask-app", ext: ".py", sampleFile: "app/models.py" },
|
|
10
|
+
{ name: "Rails", path: "test-projects/rails-app", ext: ".rb", sampleFile: "app/models/user.rb" },
|
|
11
|
+
{ name: "Spring Boot", path: "test-projects/spring-boot-app", ext: ".java", sampleFile: "src/main/java/com/example/demo/DemoApplication.java" },
|
|
12
|
+
{ name: "NestJS", path: "test-projects/nestjs-backend", ext: ".ts", sampleFile: "src/main.ts" },
|
|
13
|
+
{ name: "Express", path: "test-projects/express-api", ext: ".js", sampleFile: "index.js" },
|
|
14
|
+
{ name: "React", path: "test-projects/react-app", ext: ".tsx", sampleFile: "src/App.tsx" },
|
|
15
|
+
{ name: "Salesforce", path: "test-projects/salesforce-cli", ext: ".cls", sampleFile: "force-app/main/default/classes/AccountController.cls" },
|
|
16
|
+
{ name: "Python CLI", path: "test-projects/python-cli", ext: ".py", sampleFile: "main.py" },
|
|
17
|
+
];
|
|
18
|
+
|
|
19
|
+
console.log("=== ADAPTER SYMBOL EXTRACTION TESTS ===\n");
|
|
20
|
+
|
|
21
|
+
const results = [];
|
|
22
|
+
|
|
23
|
+
for (const project of projects) {
|
|
24
|
+
const fullPath = path.join(process.cwd(), project.path, project.sampleFile);
|
|
25
|
+
const fileExists = fs.existsSync(fullPath);
|
|
26
|
+
|
|
27
|
+
if (fileExists) {
|
|
28
|
+
const content = fs.readFileSync(fullPath, "utf8");
|
|
29
|
+
const fileInfo = {
|
|
30
|
+
path: fullPath,
|
|
31
|
+
relativePath: project.sampleFile,
|
|
32
|
+
extension: project.ext,
|
|
33
|
+
name: path.basename(project.sampleFile, path.extname(project.sampleFile))
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const symbols = extractSymbols([fileInfo]);
|
|
37
|
+
const symbolCount = symbols.symbols.length;
|
|
38
|
+
const symbolNames = symbols.symbols.map(s => s.name).slice(0, 5).join(", ");
|
|
39
|
+
|
|
40
|
+
results.push({
|
|
41
|
+
adapter: project.name,
|
|
42
|
+
extension: project.ext,
|
|
43
|
+
file: project.sampleFile,
|
|
44
|
+
symbolsExtracted: symbolCount,
|
|
45
|
+
sampleSymbols: symbolNames,
|
|
46
|
+
status: symbolCount > 0 ? "PASS" : "FAIL"
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
console.log(`[${symbolCount > 0 ? "PASS" : "FAIL"}] ${project.name} (${project.ext})`);
|
|
50
|
+
console.log(` File: ${project.sampleFile}`);
|
|
51
|
+
console.log(` Symbols: ${symbolCount}`);
|
|
52
|
+
if (symbolCount > 0) {
|
|
53
|
+
console.log(` Sample: ${symbolNames}`);
|
|
54
|
+
}
|
|
55
|
+
console.log("");
|
|
56
|
+
} else {
|
|
57
|
+
results.push({
|
|
58
|
+
adapter: project.name,
|
|
59
|
+
extension: project.ext,
|
|
60
|
+
file: project.sampleFile,
|
|
61
|
+
symbolsExtracted: -1,
|
|
62
|
+
sampleSymbols: "FILE NOT FOUND",
|
|
63
|
+
status: "ERROR"
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
console.log(`[ERROR] ${project.name}`);
|
|
67
|
+
console.log(` File not found: ${project.sampleFile}`);
|
|
68
|
+
console.log("");
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
console.log("\n=== SUMMARY ===");
|
|
73
|
+
const passed = results.filter(r => r.status === "PASS").length;
|
|
74
|
+
const failed = results.filter(r => r.status === "FAIL").length;
|
|
75
|
+
const errors = results.filter(r => r.status === "ERROR").length;
|
|
76
|
+
|
|
77
|
+
console.log(`Total: ${results.length}`);
|
|
78
|
+
console.log(`Passed: ${passed}`);
|
|
79
|
+
console.log(`Failed: ${failed}`);
|
|
80
|
+
console.log(`Errors: ${errors}`);
|
|
81
|
+
|
|
82
|
+
if (failed > 0 || errors > 0) {
|
|
83
|
+
console.log("\n=== FAILED ADAPTERS ===");
|
|
84
|
+
results.filter(r => r.status !== "PASS").forEach(r => {
|
|
85
|
+
console.log(`- ${r.adapter} (${r.extension}): ${r.status} - ${r.sampleSymbols}`);
|
|
86
|
+
});
|
|
87
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# ai-first E2E Test Suite
|
|
2
|
+
|
|
3
|
+
This directory contains end-to-end tests for ai-first-cli across different project types.
|
|
4
|
+
|
|
5
|
+
## Test Projects
|
|
6
|
+
|
|
7
|
+
| Project | Path | Type | Framework |
|
|
8
|
+
|---------|------|------|-----------|
|
|
9
|
+
| Express API | `test-projects/express-api` | Backend | Express.js |
|
|
10
|
+
| NestJS Backend | `test-projects/nestjs-backend` | Backend | NestJS |
|
|
11
|
+
| Python CLI | `test-projects/python-cli` | CLI | Python |
|
|
12
|
+
| React App | `test-projects/react-app` | Frontend | React + Vite |
|
|
13
|
+
|
|
14
|
+
## Test Commands
|
|
15
|
+
|
|
16
|
+
### Init Command Tests
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# Test init on all projects
|
|
20
|
+
npm run test:e2e:init
|
|
21
|
+
|
|
22
|
+
# Individual project tests
|
|
23
|
+
node dist/commands/ai-first.js init --root test-projects/express-api
|
|
24
|
+
node dist/commands/ai-first.js init --root test-projects/nestjs-backend
|
|
25
|
+
node dist/commands/ai-first.js init --root test-projects/python-cli
|
|
26
|
+
node dist/commands/ai-first.js init --root test-projects/react-app
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Map Command Tests
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
# Test map on all projects
|
|
33
|
+
npm run test:e2e:map
|
|
34
|
+
|
|
35
|
+
# Individual project tests
|
|
36
|
+
node dist/commands/ai-first.js map --root test-projects/express-api
|
|
37
|
+
node dist/commands/ai-first.js map --root test-projects/nestjs-backend
|
|
38
|
+
node dist/commands/ai-first.js map --root test-projects/python-cli
|
|
39
|
+
node dist/commands/ai-first.js map --root test-projects/react-app
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Expected Results
|
|
43
|
+
|
|
44
|
+
### init command should generate:
|
|
45
|
+
|
|
46
|
+
- [x] `ai-context/repo_map.md`
|
|
47
|
+
- [x] `ai-context/repo_map.json`
|
|
48
|
+
- [x] `ai-context/summary.md`
|
|
49
|
+
- [x] `ai-context/architecture.md`
|
|
50
|
+
- [x] `ai-context/tech_stack.md`
|
|
51
|
+
- [x] `ai-context/entrypoints.md`
|
|
52
|
+
- [x] `ai-context/conventions.md`
|
|
53
|
+
- [x] `ai-context/symbols.json`
|
|
54
|
+
- [x] `ai-context/dependencies.json`
|
|
55
|
+
- [x] `ai-context/ai_rules.md`
|
|
56
|
+
- [x] `ai-context/ai_context.md`
|
|
57
|
+
- [ ] `ai-context/context/features/*.json` ← NOT WORKING
|
|
58
|
+
- [ ] `ai-context/context/flows/*.json` ← NOT WORKING (except NestJS with map)
|
|
59
|
+
|
|
60
|
+
### map command should generate:
|
|
61
|
+
|
|
62
|
+
- [x] `ai-context/graph/module-graph.json`
|
|
63
|
+
- [x] `ai-context/graph/symbol-graph.json`
|
|
64
|
+
- [x] `ai-context/files.json`
|
|
65
|
+
- [ ] `ai-context/context/features/*.json` ← NOT WORKING for JS/Python/React
|
|
66
|
+
- [x] `ai-context/context/flows/*.json` ← Only works for NestJS
|
|
67
|
+
|
|
68
|
+
## Running Tests
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
# Build first
|
|
72
|
+
npm run build
|
|
73
|
+
|
|
74
|
+
# Run init tests
|
|
75
|
+
for project in express-api nestjs-backend python-cli react-app; do
|
|
76
|
+
rm -rf test-projects/$project/ai-context test-projects/$project/ai
|
|
77
|
+
node dist/commands/ai-first.js init --root test-projects/$project
|
|
78
|
+
done
|
|
79
|
+
|
|
80
|
+
# Run map tests
|
|
81
|
+
for project in express-api nestjs-backend python-cli react-app; do
|
|
82
|
+
rm -rf test-projects/$project/ai-context test-projects/$project/ai
|
|
83
|
+
node dist/commands/ai-first.js map --root test-projects/$project
|
|
84
|
+
done
|
|
85
|
+
```
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# E2E Test Runner for ai-first-cli
|
|
4
|
+
# Runs all commands on all test projects
|
|
5
|
+
|
|
6
|
+
set -e
|
|
7
|
+
|
|
8
|
+
CLI="node dist/commands/ai-first.js"
|
|
9
|
+
PROJECTS=("express-api" "nestjs-backend" "python-cli" "react-app")
|
|
10
|
+
|
|
11
|
+
echo "========================================"
|
|
12
|
+
echo "ai-first-cli E2E Test Suite"
|
|
13
|
+
echo "========================================"
|
|
14
|
+
|
|
15
|
+
# Build first
|
|
16
|
+
echo "Building..."
|
|
17
|
+
npm run build
|
|
18
|
+
|
|
19
|
+
# Test each command on each project
|
|
20
|
+
for project in "${PROJECTS[@]}"; do
|
|
21
|
+
echo ""
|
|
22
|
+
echo "========================================"
|
|
23
|
+
echo "Testing: $project"
|
|
24
|
+
echo "========================================"
|
|
25
|
+
|
|
26
|
+
# Clean ai directory
|
|
27
|
+
rm -rf "test-projects/$project/ai"
|
|
28
|
+
|
|
29
|
+
# Test init
|
|
30
|
+
echo ""
|
|
31
|
+
echo "--- init ---"
|
|
32
|
+
$CLI init --root "test-projects/$project" || true
|
|
33
|
+
|
|
34
|
+
# Test doctor
|
|
35
|
+
echo ""
|
|
36
|
+
echo "--- doctor ---"
|
|
37
|
+
$CLI doctor --root "test-projects/$project" || true
|
|
38
|
+
|
|
39
|
+
# Test map
|
|
40
|
+
echo ""
|
|
41
|
+
echo "--- map ---"
|
|
42
|
+
$CLI map --root "test-projects/$project" || true
|
|
43
|
+
|
|
44
|
+
# Test index
|
|
45
|
+
echo ""
|
|
46
|
+
echo "--- index ---"
|
|
47
|
+
$CLI index --root "test-projects/$project" || true
|
|
48
|
+
|
|
49
|
+
# Test explore
|
|
50
|
+
echo ""
|
|
51
|
+
echo "--- explore ---"
|
|
52
|
+
$CLI explore all --root "test-projects/$project" || true
|
|
53
|
+
|
|
54
|
+
# Test graph
|
|
55
|
+
echo ""
|
|
56
|
+
echo "--- graph ---"
|
|
57
|
+
$CLI graph --root "test-projects/$project" || true
|
|
58
|
+
|
|
59
|
+
# Test git
|
|
60
|
+
echo ""
|
|
61
|
+
echo "--- git ---"
|
|
62
|
+
$CLI git --root "test-projects/$project" || true
|
|
63
|
+
|
|
64
|
+
# Check results
|
|
65
|
+
echo ""
|
|
66
|
+
echo "--- Results ---"
|
|
67
|
+
if [ -d "test-projects/$project/ai" ]; then
|
|
68
|
+
echo "Files generated:"
|
|
69
|
+
ls "test-projects/$project/ai/"
|
|
70
|
+
|
|
71
|
+
if [ -d "test-projects/$project/ai/context/features" ]; then
|
|
72
|
+
FEATURES=$(ls -1 "test-projects/$project/ai/context/features/" 2>/dev/null | wc -l)
|
|
73
|
+
echo "Features: $FEATURES"
|
|
74
|
+
fi
|
|
75
|
+
|
|
76
|
+
if [ -d "test-projects/$project/ai/context/flows" ]; then
|
|
77
|
+
FLOWS=$(ls -1 "test-projects/$project/ai/context/flows/" 2>/dev/null | wc -l)
|
|
78
|
+
echo "Flows: $FLOWS"
|
|
79
|
+
fi
|
|
80
|
+
else
|
|
81
|
+
echo "ERROR: No ai directory created"
|
|
82
|
+
fi
|
|
83
|
+
done
|
|
84
|
+
|
|
85
|
+
echo ""
|
|
86
|
+
echo "========================================"
|
|
87
|
+
echo "E2E Tests Complete"
|
|
88
|
+
echo "========================================"
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach, afterEach } from "vitest";
|
|
2
|
+
import fs from "fs";
|
|
3
|
+
import path from "path";
|
|
4
|
+
import os from "os";
|
|
5
|
+
import { extractSymbols } from "../src/analyzers/symbols.js";
|
|
6
|
+
import { generateSemanticContexts } from "../src/core/semanticContexts.js";
|
|
7
|
+
|
|
8
|
+
describe("Symbol Extraction - Extension Format Fix", () => {
|
|
9
|
+
const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "ai-first-symbols-"));
|
|
10
|
+
const testFilePath = path.join(tempDir, "test.js");
|
|
11
|
+
|
|
12
|
+
beforeEach(() => {
|
|
13
|
+
const content = `
|
|
14
|
+
const express = require('express');
|
|
15
|
+
const authController = require('./authController');
|
|
16
|
+
|
|
17
|
+
const app = express();
|
|
18
|
+
const PORT = process.env.PORT || 3000;
|
|
19
|
+
|
|
20
|
+
function finalTest() {
|
|
21
|
+
return 'test';
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
module.exports = app;
|
|
25
|
+
`;
|
|
26
|
+
fs.writeFileSync(testFilePath, content);
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
afterEach(() => {
|
|
30
|
+
fs.unlinkSync(testFilePath);
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
it("should extract symbols from .js files with proper extension", () => {
|
|
34
|
+
const fileInfo = {
|
|
35
|
+
path: testFilePath,
|
|
36
|
+
relativePath: "test.js",
|
|
37
|
+
extension: ".js",
|
|
38
|
+
name: "test"
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
const result = extractSymbols([fileInfo]);
|
|
42
|
+
|
|
43
|
+
expect(result.symbols.length).toBeGreaterThanOrEqual(5);
|
|
44
|
+
expect(result.symbols.some(s => s.name === "express")).toBe(true);
|
|
45
|
+
expect(result.symbols.some(s => s.name === "authController")).toBe(true);
|
|
46
|
+
expect(result.symbols.some(s => s.name === "app")).toBe(true);
|
|
47
|
+
expect(result.symbols.some(s => s.name === "PORT")).toBe(true);
|
|
48
|
+
expect(result.symbols.some(s => s.name === "finalTest")).toBe(true);
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
it("should extract symbols from .ts files", () => {
|
|
52
|
+
const tsFilePath = path.join(tempDir, "test.ts");
|
|
53
|
+
const content = `
|
|
54
|
+
export class UserController {
|
|
55
|
+
public async getUser(id: string) { }
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export const MAX_USERS = 100;
|
|
59
|
+
`;
|
|
60
|
+
fs.writeFileSync(tsFilePath, content);
|
|
61
|
+
|
|
62
|
+
const fileInfo = {
|
|
63
|
+
path: tsFilePath,
|
|
64
|
+
relativePath: "test.ts",
|
|
65
|
+
extension: ".ts",
|
|
66
|
+
name: "test"
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
const result = extractSymbols([fileInfo]);
|
|
70
|
+
|
|
71
|
+
expect(result.symbols.length).toBeGreaterThanOrEqual(2);
|
|
72
|
+
expect(result.symbols.some(s => s.name === "UserController")).toBe(true);
|
|
73
|
+
expect(result.symbols.some(s => s.name === "MAX_USERS")).toBe(true);
|
|
74
|
+
|
|
75
|
+
fs.unlinkSync(tsFilePath);
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
it("should NOT extract symbols if extension is passed without dot", () => {
|
|
79
|
+
const fileInfo = {
|
|
80
|
+
path: testFilePath,
|
|
81
|
+
relativePath: "test.js",
|
|
82
|
+
extension: "js",
|
|
83
|
+
name: "test"
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
const result = extractSymbols([fileInfo]);
|
|
87
|
+
|
|
88
|
+
expect(result.symbols.length).toBe(0);
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
describe("Flow Name Sanitization", () => {
|
|
93
|
+
const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "ai-first-flows-"));
|
|
94
|
+
|
|
95
|
+
function createTestModules(modules: Record<string, { path: string; files: string[] }>) {
|
|
96
|
+
const aiDir = path.join(tempDir, "ai");
|
|
97
|
+
fs.mkdirSync(path.join(aiDir, "context", "flows"), { recursive: true });
|
|
98
|
+
fs.mkdirSync(path.join(aiDir, "graph"), { recursive: true });
|
|
99
|
+
fs.writeFileSync(path.join(aiDir, "modules.json"), JSON.stringify({ modules }));
|
|
100
|
+
fs.writeFileSync(path.join(aiDir, "symbols.json"), JSON.stringify({ symbols: {}, byType: {}, byFile: {} }));
|
|
101
|
+
fs.writeFileSync(path.join(aiDir, "graph", "symbol-graph.json"), JSON.stringify({ symbols: [], relationships: [] }));
|
|
102
|
+
return aiDir;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
afterEach(() => {
|
|
106
|
+
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
it("should NOT create flow files with double dots", () => {
|
|
110
|
+
const modules = {
|
|
111
|
+
"auth": {
|
|
112
|
+
path: "src/users",
|
|
113
|
+
files: [
|
|
114
|
+
"src/users/users.controller.ts",
|
|
115
|
+
"src/users/users.service.ts"
|
|
116
|
+
]
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
const aiDir = createTestModules(modules);
|
|
121
|
+
generateSemanticContexts(aiDir);
|
|
122
|
+
|
|
123
|
+
const flowsDir = path.join(aiDir, "context", "flows");
|
|
124
|
+
const files = fs.readdirSync(flowsDir);
|
|
125
|
+
|
|
126
|
+
expect(files.some(f => f.includes(".."))).toBe(false);
|
|
127
|
+
expect(files.some(f => f === "users.json")).toBe(true);
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
it("should NOT create flow files with trailing underscores", () => {
|
|
131
|
+
const modules = {
|
|
132
|
+
"add": {
|
|
133
|
+
path: "cli",
|
|
134
|
+
files: [
|
|
135
|
+
"cli/add_command.py",
|
|
136
|
+
"cli/list_command.py"
|
|
137
|
+
]
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
const aiDir = createTestModules(modules);
|
|
142
|
+
generateSemanticContexts(aiDir);
|
|
143
|
+
|
|
144
|
+
const flowsDir = path.join(aiDir, "context", "flows");
|
|
145
|
+
const files = fs.readdirSync(flowsDir);
|
|
146
|
+
|
|
147
|
+
expect(files.some(f => f.endsWith("_.json"))).toBe(false);
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
it("should sanitize special characters in flow names", () => {
|
|
151
|
+
const modules = {
|
|
152
|
+
"test-flow": {
|
|
153
|
+
path: "api/test-flow",
|
|
154
|
+
files: [
|
|
155
|
+
"api/test-flow/controller.ts",
|
|
156
|
+
"api/test-flow/service.ts",
|
|
157
|
+
"api/test-flow/repository.ts"
|
|
158
|
+
]
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
const aiDir = createTestModules(modules);
|
|
163
|
+
generateSemanticContexts(aiDir);
|
|
164
|
+
|
|
165
|
+
const flowsDir = path.join(aiDir, "context", "flows");
|
|
166
|
+
const files = fs.readdirSync(flowsDir);
|
|
167
|
+
|
|
168
|
+
expect(files.every(f => /^[a-zA-Z0-9_.-]+$/.test(f.replace(".json", "")))).toBe(true);
|
|
169
|
+
});
|
|
170
|
+
});
|
|
171
|
+
|
|
172
|
+
describe("File Name Consolidation (repo-map -> repo_map)", () => {
|
|
173
|
+
const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "ai-first-consolidation-"));
|
|
174
|
+
|
|
175
|
+
afterEach(() => {
|
|
176
|
+
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
177
|
+
});
|
|
178
|
+
|
|
179
|
+
it("should only create repo_map.json, not repo-map.json", () => {
|
|
180
|
+
const aiDir = path.join(tempDir, "ai");
|
|
181
|
+
fs.mkdirSync(aiDir, { recursive: true });
|
|
182
|
+
|
|
183
|
+
const testData = { test: "data" };
|
|
184
|
+
fs.writeFileSync(path.join(aiDir, "repo_map.json"), JSON.stringify(testData));
|
|
185
|
+
|
|
186
|
+
expect(fs.existsSync(path.join(aiDir, "repo_map.json"))).toBe(true);
|
|
187
|
+
expect(fs.existsSync(path.join(aiDir, "repo-map.json"))).toBe(false);
|
|
188
|
+
});
|
|
189
|
+
|
|
190
|
+
it("should handle migration scenario correctly", () => {
|
|
191
|
+
const aiDir = path.join(tempDir, "ai");
|
|
192
|
+
fs.mkdirSync(aiDir, { recursive: true });
|
|
193
|
+
|
|
194
|
+
fs.writeFileSync(path.join(aiDir, "repo_map.json"), JSON.stringify({ version: "new" }));
|
|
195
|
+
fs.writeFileSync(path.join(aiDir, "repo-map.json"), JSON.stringify({ version: "old" }));
|
|
196
|
+
|
|
197
|
+
expect(fs.existsSync(path.join(aiDir, "repo_map.json"))).toBe(true);
|
|
198
|
+
expect(fs.existsSync(path.join(aiDir, "repo-map.json"))).toBe(true);
|
|
199
|
+
});
|
|
200
|
+
});
|