ai-first-cli 1.1.2 → 1.1.5
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/ANALISIS_MEJORAS.md +327 -0
- package/BUGS.md +455 -0
- package/CHANGELOG.md +100 -225
- package/TEST_RESULTS.md +198 -0
- package/TEST_RESULTS_COMPARATIVE.md +159 -0
- package/TEST_RESULTS_COMPLETE.md +127 -0
- package/TEST_RESULTS_COMPREHENSIVE.md +208 -0
- package/ai/ai_context.md +17 -10
- package/ai/ai_rules.md +5 -3
- package/ai/architecture.md +28 -7
- package/ai/cache.json +832 -52
- package/ai/context/features/commands.json +18 -0
- package/ai/context/features/src.json +61 -0
- package/ai/context/features/test-projects.json +56 -0
- package/ai/context/flows/account.json +9 -0
- package/ai/context/flows/add_.json +9 -0
- package/ai/context/flows/ai-first.json +9 -0
- package/ai/context/flows/auth..json +10 -0
- package/ai/context/flows/auth.json +12 -0
- package/ai/context/flows/dashboard.json +9 -0
- package/ai/context/flows/doctor.json +9 -0
- package/ai/context/flows/explore.json +9 -0
- package/ai/context/flows/list_.json +9 -0
- package/ai/context/flows/login.json +9 -0
- package/ai/context/flows/opportunity.json +9 -0
- package/ai/context/flows/remove_.json +9 -0
- package/ai/context/flows/user.json +14 -0
- package/ai/context/flows/users..json +10 -0
- package/ai/context/flows/users.json +9 -0
- package/ai/conventions.md +3 -2
- package/ai/dependencies.json +429 -251
- package/ai/entrypoints.md +10 -0
- package/ai/files.json +822 -46
- package/ai/git/commit-activity.json +126 -39
- package/ai/git/recent-features.json +3 -1
- package/ai/git/recent-files.json +6 -6
- package/ai/git/recent-flows.json +3 -1
- package/ai/graph/knowledge-graph.json +954 -182
- package/ai/graph/module-graph.json +270 -0
- package/ai/graph/symbol-graph.json +48991 -16523
- package/ai/graph/symbol-references.json +953 -56
- package/ai/hierarchy.json +3 -24
- package/ai/index-state.json +1261 -253
- package/ai/index.db +0 -0
- package/ai/modules.json +226 -0
- package/ai/project.json +29 -0
- package/ai/repo-map.json +2284 -250
- package/ai/repo_map.json +2731 -231
- package/ai/repo_map.md +559 -2
- package/ai/schema.json +5 -0
- package/ai/summary.md +16 -7
- package/ai/tech_stack.md +4 -1
- package/ai/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 +60 -0
- package/dist/analyzers/symbols.js.map +1 -1
- package/dist/commands/ai-first.d.ts +1 -0
- package/dist/commands/ai-first.d.ts.map +1 -1
- package/dist/commands/ai-first.js +29 -6
- package/dist/commands/ai-first.js.map +1 -1
- package/dist/core/semanticContexts.d.ts.map +1 -1
- package/dist/core/semanticContexts.js +48 -26
- 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/package.json +2 -2
- package/src/analyzers/dependencies.ts +10 -20
- package/src/analyzers/symbols.ts +64 -0
- package/src/commands/ai-first.ts +32 -8
- package/src/core/semanticContexts.ts +54 -29
- package/src/core/symbolGraph.ts +16 -2
- package/src/utils/fileUtils.ts +5 -0
- package/test-projects/express-api/ai/ai_context.md +112 -0
- package/test-projects/express-api/ai/ai_rules.md +50 -0
- package/test-projects/express-api/ai/architecture.md +62 -0
- package/test-projects/express-api/ai/cache.json +125 -0
- package/test-projects/express-api/ai/context/features/controllers.json +13 -0
- package/test-projects/express-api/ai/context/features/services.json +13 -0
- package/test-projects/express-api/ai/context/flows/auth.json +12 -0
- package/test-projects/express-api/ai/context/flows/user.json +13 -0
- package/test-projects/express-api/ai/conventions.md +51 -0
- package/test-projects/express-api/ai/dependencies.json +54 -0
- package/test-projects/express-api/ai/entrypoints.md +17 -0
- package/test-projects/express-api/ai/files.json +169 -0
- package/test-projects/express-api/ai/graph/knowledge-graph.json +98 -0
- package/test-projects/express-api/ai/graph/module-graph.json +44 -0
- package/test-projects/express-api/ai/graph/symbol-graph.json +882 -0
- package/test-projects/express-api/ai/graph/symbol-references.json +51 -0
- package/test-projects/express-api/ai/index-state.json +238 -0
- package/test-projects/express-api/ai/index.db +0 -0
- package/test-projects/express-api/ai/modules.json +30 -0
- package/test-projects/express-api/ai/project.json +15 -0
- package/test-projects/express-api/ai/repo-map.json +291 -0
- package/test-projects/express-api/ai/repo_map.json +100 -0
- package/test-projects/express-api/ai/repo_map.md +36 -0
- package/test-projects/express-api/ai/schema.json +5 -0
- package/test-projects/express-api/ai/summary.md +14 -0
- package/test-projects/express-api/ai/symbols.json +1174 -0
- package/test-projects/express-api/ai/tech_stack.md +38 -0
- package/test-projects/express-api/ai/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 +21 -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/nestjs-backend/ai/ai_context.md +110 -0
- package/test-projects/nestjs-backend/ai/ai_rules.md +52 -0
- package/test-projects/nestjs-backend/ai/architecture.md +43 -0
- package/test-projects/nestjs-backend/ai/cache.json +137 -0
- package/test-projects/nestjs-backend/ai/context/features/src.json +23 -0
- package/test-projects/nestjs-backend/ai/context/flows/auth..json +10 -0
- package/test-projects/nestjs-backend/ai/context/flows/users..json +10 -0
- package/test-projects/nestjs-backend/ai/conventions.md +52 -0
- package/test-projects/nestjs-backend/ai/dependencies.json +152 -0
- package/test-projects/nestjs-backend/ai/entrypoints.md +18 -0
- package/test-projects/nestjs-backend/ai/files.json +184 -0
- package/test-projects/nestjs-backend/ai/graph/knowledge-graph.json +74 -0
- package/test-projects/nestjs-backend/ai/graph/module-graph.json +29 -0
- package/test-projects/nestjs-backend/ai/graph/symbol-graph.json +304 -0
- package/test-projects/nestjs-backend/ai/graph/symbol-references.json +5 -0
- package/test-projects/nestjs-backend/ai/index-state.json +259 -0
- package/test-projects/nestjs-backend/ai/index.db +0 -0
- package/test-projects/nestjs-backend/ai/modules.json +19 -0
- package/test-projects/nestjs-backend/ai/project.json +14 -0
- package/test-projects/nestjs-backend/ai/repo-map.json +323 -0
- package/test-projects/nestjs-backend/ai/repo_map.json +141 -0
- package/test-projects/nestjs-backend/ai/repo_map.md +39 -0
- package/test-projects/nestjs-backend/ai/schema.json +5 -0
- package/test-projects/nestjs-backend/ai/summary.md +11 -0
- package/test-projects/nestjs-backend/ai/symbols.json +527 -0
- package/test-projects/nestjs-backend/ai/tech_stack.md +37 -0
- package/test-projects/nestjs-backend/ai/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/__init__.py +1 -0
- package/test-projects/python-cli/ai/ai_context.md +94 -0
- package/test-projects/python-cli/ai/ai_rules.md +47 -0
- package/test-projects/python-cli/ai/architecture.md +49 -0
- package/test-projects/python-cli/ai/cache.json +129 -0
- package/test-projects/python-cli/ai/context/features/cli.json +16 -0
- package/test-projects/python-cli/ai/context/flows/add_.json +9 -0
- package/test-projects/python-cli/ai/context/flows/list_.json +9 -0
- package/test-projects/python-cli/ai/context/flows/remove_.json +9 -0
- package/test-projects/python-cli/ai/conventions.md +51 -0
- package/test-projects/python-cli/ai/dependencies.json +66 -0
- package/test-projects/python-cli/ai/entrypoints.md +4 -0
- package/test-projects/python-cli/ai/files.json +174 -0
- package/test-projects/python-cli/ai/graph/knowledge-graph.json +83 -0
- package/test-projects/python-cli/ai/graph/module-graph.json +31 -0
- package/test-projects/python-cli/ai/graph/symbol-graph.json +358 -0
- package/test-projects/python-cli/ai/graph/symbol-references.json +11 -0
- package/test-projects/python-cli/ai/index-state.json +245 -0
- package/test-projects/python-cli/ai/index.db +0 -0
- package/test-projects/python-cli/ai/modules.json +21 -0
- package/test-projects/python-cli/ai/project.json +15 -0
- package/test-projects/python-cli/ai/repo-map.json +290 -0
- package/test-projects/python-cli/ai/repo_map.json +99 -0
- package/test-projects/python-cli/ai/repo_map.md +32 -0
- package/test-projects/python-cli/ai/schema.json +5 -0
- package/test-projects/python-cli/ai/summary.md +11 -0
- package/test-projects/python-cli/ai/symbols.json +475 -0
- package/test-projects/python-cli/ai/tech_stack.md +30 -0
- package/test-projects/python-cli/ai/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/react-app/ai/ai_context.md +95 -0
- package/test-projects/react-app/ai/ai_rules.md +49 -0
- package/test-projects/react-app/ai/architecture.md +33 -0
- package/test-projects/react-app/ai/cache.json +129 -0
- package/test-projects/react-app/ai/context/features/src.json +18 -0
- package/test-projects/react-app/ai/context/flows/dashboard.json +9 -0
- package/test-projects/react-app/ai/context/flows/login.json +9 -0
- package/test-projects/react-app/ai/context/flows/users.json +9 -0
- package/test-projects/react-app/ai/conventions.md +52 -0
- package/test-projects/react-app/ai/dependencies.json +128 -0
- package/test-projects/react-app/ai/entrypoints.md +4 -0
- package/test-projects/react-app/ai/files.json +174 -0
- package/test-projects/react-app/ai/graph/knowledge-graph.json +83 -0
- package/test-projects/react-app/ai/graph/module-graph.json +31 -0
- package/test-projects/react-app/ai/graph/symbol-graph.json +868 -0
- package/test-projects/react-app/ai/graph/symbol-references.json +31 -0
- package/test-projects/react-app/ai/index-state.json +245 -0
- package/test-projects/react-app/ai/index.db +0 -0
- package/test-projects/react-app/ai/modules.json +17 -0
- package/test-projects/react-app/ai/project.json +15 -0
- package/test-projects/react-app/ai/repo-map.json +305 -0
- package/test-projects/react-app/ai/repo_map.json +114 -0
- package/test-projects/react-app/ai/repo_map.md +31 -0
- package/test-projects/react-app/ai/schema.json +5 -0
- package/test-projects/react-app/ai/summary.md +11 -0
- package/test-projects/react-app/ai/symbols.json +985 -0
- package/test-projects/react-app/ai/tech_stack.md +38 -0
- package/test-projects/react-app/ai/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/.forceignore +27 -0
- package/test-projects/salesforce-cli/ai/ai_context.md +88 -0
- package/test-projects/salesforce-cli/ai/ai_rules.md +47 -0
- package/test-projects/salesforce-cli/ai/architecture.md +33 -0
- package/test-projects/salesforce-cli/ai/cache.json +105 -0
- package/test-projects/salesforce-cli/ai/context/features/force-app.json +14 -0
- package/test-projects/salesforce-cli/ai/context/flows/account.json +9 -0
- package/test-projects/salesforce-cli/ai/context/flows/opportunity.json +9 -0
- package/test-projects/salesforce-cli/ai/conventions.md +51 -0
- package/test-projects/salesforce-cli/ai/dependencies.json +6 -0
- package/test-projects/salesforce-cli/ai/entrypoints.md +4 -0
- package/test-projects/salesforce-cli/ai/files.json +144 -0
- package/test-projects/salesforce-cli/ai/graph/knowledge-graph.json +64 -0
- package/test-projects/salesforce-cli/ai/graph/module-graph.json +13 -0
- package/test-projects/salesforce-cli/ai/graph/symbol-graph.json +148 -0
- package/test-projects/salesforce-cli/ai/graph/symbol-references.json +1 -0
- package/test-projects/salesforce-cli/ai/index-state.json +203 -0
- package/test-projects/salesforce-cli/ai/index.db +0 -0
- package/test-projects/salesforce-cli/ai/modules.json +12 -0
- package/test-projects/salesforce-cli/ai/project.json +14 -0
- package/test-projects/salesforce-cli/ai/repo-map.json +251 -0
- package/test-projects/salesforce-cli/ai/repo_map.json +69 -0
- package/test-projects/salesforce-cli/ai/repo_map.md +21 -0
- package/test-projects/salesforce-cli/ai/schema.json +5 -0
- package/test-projects/salesforce-cli/ai/summary.md +11 -0
- package/test-projects/salesforce-cli/ai/symbols.json +245 -0
- package/test-projects/salesforce-cli/ai/tech_stack.md +30 -0
- package/test-projects/salesforce-cli/ai/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/tests/e2e/README.md +85 -0
- package/tests/e2e/run-e2e.sh +88 -0
- package/tests/semanticContexts.test.ts +23 -25
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
from models.task import Task
|
|
2
|
+
from datetime import datetime
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class TaskRepository:
|
|
6
|
+
def __init__(self):
|
|
7
|
+
self.tasks = []
|
|
8
|
+
self._next_id = 1
|
|
9
|
+
|
|
10
|
+
def create(self, title, description=""):
|
|
11
|
+
task = Task(self._next_id, title, description)
|
|
12
|
+
self.tasks.append(task)
|
|
13
|
+
self._next_id += 1
|
|
14
|
+
return task.to_dict()
|
|
15
|
+
|
|
16
|
+
def find_all(self, status=None):
|
|
17
|
+
if status:
|
|
18
|
+
return [t.to_dict() for t in self.tasks if t.status == status]
|
|
19
|
+
return [t.to_dict() for t in self.tasks]
|
|
20
|
+
|
|
21
|
+
def find_by_id(self, task_id):
|
|
22
|
+
for task in self.tasks:
|
|
23
|
+
if task.id == task_id:
|
|
24
|
+
return task.to_dict()
|
|
25
|
+
return None
|
|
26
|
+
|
|
27
|
+
def update(self, task_id, data):
|
|
28
|
+
for task in self.tasks:
|
|
29
|
+
if task.id == task_id:
|
|
30
|
+
if "title" in data:
|
|
31
|
+
task.title = data["title"]
|
|
32
|
+
if "description" in data:
|
|
33
|
+
task.description = data["description"]
|
|
34
|
+
if "status" in data:
|
|
35
|
+
task.status = data["status"]
|
|
36
|
+
return task.to_dict()
|
|
37
|
+
return None
|
|
38
|
+
|
|
39
|
+
def delete(self, task_id):
|
|
40
|
+
for i, task in enumerate(self.tasks):
|
|
41
|
+
if task.id == task_id:
|
|
42
|
+
self.tasks.pop(i)
|
|
43
|
+
return True
|
|
44
|
+
return False
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# AI Context
|
|
2
|
+
|
|
3
|
+
> This file provides a comprehensive overview of the repository for AI coding assistants.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Quick Overview
|
|
8
|
+
|
|
9
|
+
- **Pattern**: Flat / Simple Structure
|
|
10
|
+
- **Languages**: JSON, TypeScript (React), TypeScript
|
|
11
|
+
- **Frameworks**: React, Next.js, Remix
|
|
12
|
+
- **Total Files**: 9
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Table of Contents
|
|
17
|
+
|
|
18
|
+
1. [Tech Stack](#tech-stack)
|
|
19
|
+
2. [Architecture](#architecture)
|
|
20
|
+
3. [Key Entrypoints](#key-entrypoints)
|
|
21
|
+
4. [Code Conventions](#code-conventions)
|
|
22
|
+
5. [AI Rules](#ai-rules)
|
|
23
|
+
6. [Repository Map](#repository-map)
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Tech Stack
|
|
28
|
+
|
|
29
|
+
**Languages**: JSON, TypeScript (React), TypeScript
|
|
30
|
+
|
|
31
|
+
**Frameworks**: React, Next.js, Remix
|
|
32
|
+
|
|
33
|
+
**Package Managers**: npm
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Architecture
|
|
38
|
+
|
|
39
|
+
## Architectural Pattern
|
|
40
|
+
**Primary**: Flat / Simple Structure
|
|
41
|
+
|
|
42
|
+
## Key Modules
|
|
43
|
+
| Module | Responsibility |
|
|
44
|
+
|--------|----------------|
|
|
45
|
+
| `package.json` | Contains 0 files |
|
|
46
|
+
| `src` | Contains 8 files |
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Key Entrypoints
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Code Conventions
|
|
56
|
+
|
|
57
|
+
## Naming Conventions
|
|
58
|
+
- **Files**: PascalCase
|
|
59
|
+
|
|
60
|
+
## Project Structure
|
|
61
|
+
- **Source**: src/
|
|
62
|
+
|
|
63
|
+
## Code Style
|
|
64
|
+
- **Semicolons**: Required
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## AI Rules
|
|
70
|
+
|
|
71
|
+
- Language: Use JSON, TypeScript (React), TypeScript
|
|
72
|
+
- Frameworks: React, Next.js, Remix
|
|
73
|
+
- Architecture: Follow Flat / Simple Structure pattern
|
|
74
|
+
- File naming: PascalCase
|
|
75
|
+
- Source directory: src/
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Repository Map
|
|
80
|
+
|
|
81
|
+
See repo_map.md for the full structure.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Notes for AI Assistants
|
|
86
|
+
|
|
87
|
+
1. Follow the established naming conventions (see conventions.md)
|
|
88
|
+
2. Use the detected frameworks and libraries
|
|
89
|
+
3. Target the correct entrypoints for modifications
|
|
90
|
+
4. Maintain the detected architecture patterns
|
|
91
|
+
5. Follow AI rules in ai_rules.md
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
*Generated by ai-first*
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# AI Rules
|
|
2
|
+
|
|
3
|
+
> Guidelines for AI assistants working on this project
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Guidelines
|
|
8
|
+
|
|
9
|
+
- Language: Use JSON, TypeScript (React), TypeScript
|
|
10
|
+
- Frameworks: React, Next.js, Remix
|
|
11
|
+
- Architecture: Follow Flat / Simple Structure pattern
|
|
12
|
+
- File naming: PascalCase
|
|
13
|
+
- Source directory: src/
|
|
14
|
+
|
|
15
|
+
## Patterns
|
|
16
|
+
|
|
17
|
+
- Layer structure:
|
|
18
|
+
|
|
19
|
+
## Constraints
|
|
20
|
+
|
|
21
|
+
- Always use semicolons
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Quick Reference
|
|
26
|
+
|
|
27
|
+
| Category | Value |
|
|
28
|
+
|----------|-------|
|
|
29
|
+
| Language | JSON, TypeScript (React), TypeScript |
|
|
30
|
+
| Framework | React, Next.js, Remix |
|
|
31
|
+
| Architecture | Flat / Simple Structure |
|
|
32
|
+
| Naming | PascalCase |
|
|
33
|
+
| Indentation | unknown |
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Best Practices
|
|
38
|
+
|
|
39
|
+
1. Follow the established naming conventions
|
|
40
|
+
2. Keep functions small and focused
|
|
41
|
+
3. Write tests for new features
|
|
42
|
+
4. Use descriptive variable names
|
|
43
|
+
5. Keep the architecture consistent
|
|
44
|
+
6. Document complex logic
|
|
45
|
+
7. Review code before committing
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
*Generated by ai-first*
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Architecture
|
|
2
|
+
|
|
3
|
+
## Architectural Pattern
|
|
4
|
+
**Primary**: Flat / Simple Structure
|
|
5
|
+
|
|
6
|
+
## Key Modules
|
|
7
|
+
| Module | Responsibility |
|
|
8
|
+
|--------|----------------|
|
|
9
|
+
| `package.json` | Contains 0 files |
|
|
10
|
+
| `src` | Contains 8 files |
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Module Details
|
|
14
|
+
|
|
15
|
+
### package.json
|
|
16
|
+
- **Path**: `package.json`
|
|
17
|
+
- **Responsibility**: Contains 0 files
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### src
|
|
21
|
+
- **Path**: `src`
|
|
22
|
+
- **Responsibility**: Contains 8 files
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
## Recommendations
|
|
27
|
+
|
|
28
|
+
- Keep the architecture consistent as the project grows
|
|
29
|
+
- Follow the established layer structure
|
|
30
|
+
- Use dependency injection to manage module relationships
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
*Generated by ai-first*
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
{
|
|
2
|
+
"files": {
|
|
3
|
+
"ai/ai_context.md": {
|
|
4
|
+
"hash": "4866a92297737fd2e34fabcd82b4974f",
|
|
5
|
+
"mtime": 1773796492594.4062
|
|
6
|
+
},
|
|
7
|
+
"ai/ai_rules.md": {
|
|
8
|
+
"hash": "187ea54135fe8b42b7d38acb8c45ace3",
|
|
9
|
+
"mtime": 1773796492594.4062
|
|
10
|
+
},
|
|
11
|
+
"ai/architecture.md": {
|
|
12
|
+
"hash": "e8662d770fe3c6360a9fc9b20c341266",
|
|
13
|
+
"mtime": 1773796492588.4062
|
|
14
|
+
},
|
|
15
|
+
"ai/context/features/src.json": {
|
|
16
|
+
"hash": "2d248c2486297a3db63103469fcb4d7b",
|
|
17
|
+
"mtime": 1773796492596.4062
|
|
18
|
+
},
|
|
19
|
+
"ai/context/flows/dashboard.json": {
|
|
20
|
+
"hash": "0fbc56b67033373bb6157659552c82d9",
|
|
21
|
+
"mtime": 1773796492596.4062
|
|
22
|
+
},
|
|
23
|
+
"ai/context/flows/login.json": {
|
|
24
|
+
"hash": "9311af687ac6a30df3de225f1e18f879",
|
|
25
|
+
"mtime": 1773796492596.4062
|
|
26
|
+
},
|
|
27
|
+
"ai/context/flows/users.json": {
|
|
28
|
+
"hash": "b5ee48090ea670d1afe36d1fa13500b7",
|
|
29
|
+
"mtime": 1773796492596.4062
|
|
30
|
+
},
|
|
31
|
+
"ai/conventions.md": {
|
|
32
|
+
"hash": "cf36cf015f6c293ebf89ec2c7756bb57",
|
|
33
|
+
"mtime": 1773796492590.4062
|
|
34
|
+
},
|
|
35
|
+
"ai/dependencies.json": {
|
|
36
|
+
"hash": "6a39a4044a4a0ea07350ea8892172705",
|
|
37
|
+
"mtime": 1773796492593.4062
|
|
38
|
+
},
|
|
39
|
+
"ai/entrypoints.md": {
|
|
40
|
+
"hash": "34c8965a66697d9f1d428bb0904f5d8d",
|
|
41
|
+
"mtime": 1773796492589.4062
|
|
42
|
+
},
|
|
43
|
+
"ai/files.json": {
|
|
44
|
+
"hash": "48ab393f8b9df782ab081eeb57c5147d",
|
|
45
|
+
"mtime": 1773796517633.7969
|
|
46
|
+
},
|
|
47
|
+
"ai/graph/module-graph.json": {
|
|
48
|
+
"hash": "3599338f9de3043664fde3c5ca8bc1ca",
|
|
49
|
+
"mtime": 1773796517626.7966
|
|
50
|
+
},
|
|
51
|
+
"ai/modules.json": {
|
|
52
|
+
"hash": "c539e0624fa9a288ddfb14bd48b5587e",
|
|
53
|
+
"mtime": 1773796517623.7966
|
|
54
|
+
},
|
|
55
|
+
"ai/project.json": {
|
|
56
|
+
"hash": "df3518f773c0cadd997f76f65a2f78ed",
|
|
57
|
+
"mtime": 1773796492596.4062
|
|
58
|
+
},
|
|
59
|
+
"ai/repo-map.json": {
|
|
60
|
+
"hash": "910f71a5d4a4e15f2e7091b64bc8fe2f",
|
|
61
|
+
"mtime": 1773796517624.7966
|
|
62
|
+
},
|
|
63
|
+
"ai/repo_map.json": {
|
|
64
|
+
"hash": "3544daa786bd99f8538f616ad22d7711",
|
|
65
|
+
"mtime": 1773796492587.4062
|
|
66
|
+
},
|
|
67
|
+
"ai/repo_map.md": {
|
|
68
|
+
"hash": "f3361ccec5c3c9c2b4ead2c27b5fd571",
|
|
69
|
+
"mtime": 1773796492586.406
|
|
70
|
+
},
|
|
71
|
+
"ai/schema.json": {
|
|
72
|
+
"hash": "19c33e21e4a5d36d3b9ac40d84db2ab6",
|
|
73
|
+
"mtime": 1773796492596.4062
|
|
74
|
+
},
|
|
75
|
+
"ai/summary.md": {
|
|
76
|
+
"hash": "6c7df62f23d13a49598c071057253eae",
|
|
77
|
+
"mtime": 1773796492587.4062
|
|
78
|
+
},
|
|
79
|
+
"ai/symbols.json": {
|
|
80
|
+
"hash": "ad94b9b17ac8aee49fe27f0113994ceb",
|
|
81
|
+
"mtime": 1773796492592.4062
|
|
82
|
+
},
|
|
83
|
+
"ai/tech_stack.md": {
|
|
84
|
+
"hash": "d7e224852b6ec88de645453bfb065c40",
|
|
85
|
+
"mtime": 1773796492589.4062
|
|
86
|
+
},
|
|
87
|
+
"ai/tools.json": {
|
|
88
|
+
"hash": "b1356e52c74e9b3b6a0d397b790a4968",
|
|
89
|
+
"mtime": 1773796492596.4062
|
|
90
|
+
},
|
|
91
|
+
"package.json": {
|
|
92
|
+
"hash": "12744c74a0278dc2edfb68294b9b9125",
|
|
93
|
+
"mtime": 1773777304827.265
|
|
94
|
+
},
|
|
95
|
+
"src/App.tsx": {
|
|
96
|
+
"hash": "1bd200aa3ea7b4e1175a07d0f26f8dc4",
|
|
97
|
+
"mtime": 1773777339360.6953
|
|
98
|
+
},
|
|
99
|
+
"src/context/AuthContext.tsx": {
|
|
100
|
+
"hash": "4113336d7e2eb6ac2b78cebe8464276e",
|
|
101
|
+
"mtime": 1773777350783.8386
|
|
102
|
+
},
|
|
103
|
+
"src/hooks/useAuth.ts": {
|
|
104
|
+
"hash": "036b7295855cbd8214eb4653954f10cc",
|
|
105
|
+
"mtime": 1773777417490.685
|
|
106
|
+
},
|
|
107
|
+
"src/main.tsx": {
|
|
108
|
+
"hash": "283000b4b4218c8dc8b4e634a70bbbe3",
|
|
109
|
+
"mtime": 1773777310472.335
|
|
110
|
+
},
|
|
111
|
+
"src/pages/DashboardPage.tsx": {
|
|
112
|
+
"hash": "4c9a9c8fc6a53db6bdbb4d0de6561baf",
|
|
113
|
+
"mtime": 1773777385566.278
|
|
114
|
+
},
|
|
115
|
+
"src/pages/LoginPage.tsx": {
|
|
116
|
+
"hash": "16a9451aafa3dd13e3c62b8816ab98d6",
|
|
117
|
+
"mtime": 1773777377789.1794
|
|
118
|
+
},
|
|
119
|
+
"src/pages/UsersPage.tsx": {
|
|
120
|
+
"hash": "e24caa3c7d598228c36600eb1ca95b30",
|
|
121
|
+
"mtime": 1773777394130.387
|
|
122
|
+
},
|
|
123
|
+
"src/services/userService.ts": {
|
|
124
|
+
"hash": "78df2c3240cd630cedb2095347616301",
|
|
125
|
+
"mtime": 1773777428144.8215
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
"lastIndexed": "2026-03-18T01:15:17.634Z"
|
|
129
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "src",
|
|
3
|
+
"path": "src",
|
|
4
|
+
"files": [
|
|
5
|
+
"src/App.tsx",
|
|
6
|
+
"src/context/AuthContext.tsx",
|
|
7
|
+
"src/hooks/useAuth.ts",
|
|
8
|
+
"src/main.tsx",
|
|
9
|
+
"src/pages/DashboardPage.tsx",
|
|
10
|
+
"src/pages/LoginPage.tsx",
|
|
11
|
+
"src/pages/UsersPage.tsx",
|
|
12
|
+
"src/services/userService.ts"
|
|
13
|
+
],
|
|
14
|
+
"entrypoints": [
|
|
15
|
+
"src/services/userService.ts"
|
|
16
|
+
],
|
|
17
|
+
"dependencies": []
|
|
18
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Code Conventions
|
|
2
|
+
|
|
3
|
+
## Naming Conventions
|
|
4
|
+
- **Files**: PascalCase
|
|
5
|
+
|
|
6
|
+
## Project Structure
|
|
7
|
+
- **Source**: src/
|
|
8
|
+
|
|
9
|
+
## Code Style
|
|
10
|
+
- **Semicolons**: Required
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Naming Conventions
|
|
14
|
+
|
|
15
|
+
| Element | Convention |
|
|
16
|
+
|---------|------------|
|
|
17
|
+
| Files | PascalCase |
|
|
18
|
+
| Components | unknown |
|
|
19
|
+
| Test Files | unknown |
|
|
20
|
+
| Directories | src/ |
|
|
21
|
+
|
|
22
|
+
## Project Structure
|
|
23
|
+
|
|
24
|
+
| Directory | Location |
|
|
25
|
+
|-----------|----------|
|
|
26
|
+
| Source | src/ |
|
|
27
|
+
| Tests | unknown |
|
|
28
|
+
| Config | unknown |
|
|
29
|
+
|
|
30
|
+
## Code Style
|
|
31
|
+
|
|
32
|
+
| Style Element | Value |
|
|
33
|
+
|---------------|-------|
|
|
34
|
+
| Indentation | unknown |
|
|
35
|
+
| Semicolons | Required |
|
|
36
|
+
|
|
37
|
+
## Testing
|
|
38
|
+
|
|
39
|
+
| Aspect | Value |
|
|
40
|
+
|--------|-------|
|
|
41
|
+
| Framework | unknown |
|
|
42
|
+
| Test Pattern | unknown |
|
|
43
|
+
|
|
44
|
+
## Git
|
|
45
|
+
|
|
46
|
+
| Aspect | Value |
|
|
47
|
+
|--------|-------|
|
|
48
|
+
| Branch Strategy | Trunk-based (main/master) |
|
|
49
|
+
| Commit Format | unknown |
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
*Generated by ai-first*
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
{
|
|
2
|
+
"totalDependencies": 18,
|
|
3
|
+
"totalModules": 6,
|
|
4
|
+
"dependencies": [
|
|
5
|
+
{
|
|
6
|
+
"source": "src/App.tsx",
|
|
7
|
+
"target": "src/context/AuthContext",
|
|
8
|
+
"type": "import"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"source": "src/App.tsx",
|
|
12
|
+
"target": "src/pages/LoginPage",
|
|
13
|
+
"type": "import"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"source": "src/App.tsx",
|
|
17
|
+
"target": "src/pages/DashboardPage",
|
|
18
|
+
"type": "import"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"source": "src/App.tsx",
|
|
22
|
+
"target": "src/pages/UsersPage",
|
|
23
|
+
"type": "import"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"source": "src/App.tsx",
|
|
27
|
+
"target": "src/context/AuthContext",
|
|
28
|
+
"type": "import"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"source": "src/App.tsx",
|
|
32
|
+
"target": "src/pages/LoginPage",
|
|
33
|
+
"type": "import"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"source": "src/App.tsx",
|
|
37
|
+
"target": "src/pages/DashboardPage",
|
|
38
|
+
"type": "import"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"source": "src/App.tsx",
|
|
42
|
+
"target": "src/pages/UsersPage",
|
|
43
|
+
"type": "import"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"source": "src/hooks/useAuth.ts",
|
|
47
|
+
"target": "src/context/AuthContext",
|
|
48
|
+
"type": "import"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"source": "src/hooks/useAuth.ts",
|
|
52
|
+
"target": "src/context/AuthContext",
|
|
53
|
+
"type": "import"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"source": "src/main.tsx",
|
|
57
|
+
"target": "src/App",
|
|
58
|
+
"type": "import"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"source": "src/main.tsx",
|
|
62
|
+
"target": "src/App",
|
|
63
|
+
"type": "import"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"source": "src/pages/DashboardPage.tsx",
|
|
67
|
+
"target": "src/hooks/useAuth",
|
|
68
|
+
"type": "import"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"source": "src/pages/DashboardPage.tsx",
|
|
72
|
+
"target": "src/hooks/useAuth",
|
|
73
|
+
"type": "import"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"source": "src/pages/LoginPage.tsx",
|
|
77
|
+
"target": "src/hooks/useAuth",
|
|
78
|
+
"type": "import"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"source": "src/pages/LoginPage.tsx",
|
|
82
|
+
"target": "src/hooks/useAuth",
|
|
83
|
+
"type": "import"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"source": "src/pages/UsersPage.tsx",
|
|
87
|
+
"target": "src/services/userService",
|
|
88
|
+
"type": "import"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"source": "src/pages/UsersPage.tsx",
|
|
92
|
+
"target": "src/services/userService",
|
|
93
|
+
"type": "import"
|
|
94
|
+
}
|
|
95
|
+
],
|
|
96
|
+
"byFile": {
|
|
97
|
+
"src/App.tsx": [
|
|
98
|
+
"src/context/AuthContext",
|
|
99
|
+
"src/pages/LoginPage",
|
|
100
|
+
"src/pages/DashboardPage",
|
|
101
|
+
"src/pages/UsersPage",
|
|
102
|
+
"src/context/AuthContext",
|
|
103
|
+
"src/pages/LoginPage",
|
|
104
|
+
"src/pages/DashboardPage",
|
|
105
|
+
"src/pages/UsersPage"
|
|
106
|
+
],
|
|
107
|
+
"src/hooks/useAuth.ts": [
|
|
108
|
+
"src/context/AuthContext",
|
|
109
|
+
"src/context/AuthContext"
|
|
110
|
+
],
|
|
111
|
+
"src/main.tsx": [
|
|
112
|
+
"src/App",
|
|
113
|
+
"src/App"
|
|
114
|
+
],
|
|
115
|
+
"src/pages/DashboardPage.tsx": [
|
|
116
|
+
"src/hooks/useAuth",
|
|
117
|
+
"src/hooks/useAuth"
|
|
118
|
+
],
|
|
119
|
+
"src/pages/LoginPage.tsx": [
|
|
120
|
+
"src/hooks/useAuth",
|
|
121
|
+
"src/hooks/useAuth"
|
|
122
|
+
],
|
|
123
|
+
"src/pages/UsersPage.tsx": [
|
|
124
|
+
"src/services/userService",
|
|
125
|
+
"src/services/userService"
|
|
126
|
+
]
|
|
127
|
+
}
|
|
128
|
+
}
|