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,9 @@
|
|
|
1
|
+
import { NestFactory } from '@nestjs/core';
|
|
2
|
+
import { AppModule } from './app.module';
|
|
3
|
+
|
|
4
|
+
async function bootstrap() {
|
|
5
|
+
const app = await NestFactory.create(AppModule);
|
|
6
|
+
await app.listen(3000);
|
|
7
|
+
console.log('Application is running on: http://localhost:3000');
|
|
8
|
+
}
|
|
9
|
+
bootstrap();
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Controller, Get, Post, Put, Delete, Body, Param } from '@nestjs/common';
|
|
2
|
+
import { UsersService } from './users.service';
|
|
3
|
+
|
|
4
|
+
@Controller('users')
|
|
5
|
+
export class UsersController {
|
|
6
|
+
constructor(private readonly usersService: UsersService) {}
|
|
7
|
+
|
|
8
|
+
@Get()
|
|
9
|
+
findAll() {
|
|
10
|
+
return this.usersService.findAll();
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
@Get(':id')
|
|
14
|
+
findOne(@Param('id') id: string) {
|
|
15
|
+
return this.usersService.findOne(id);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@Post()
|
|
19
|
+
create(@Body() body: { email: string; name: string }) {
|
|
20
|
+
return this.usersService.create(body);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@Put(':id')
|
|
24
|
+
update(@Param('id') id: string, @Body() body: any) {
|
|
25
|
+
return this.usersService.update(id, body);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@Delete(':id')
|
|
29
|
+
remove(@Param('id') id: string) {
|
|
30
|
+
return this.usersService.remove(id);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Module } from '@nestjs/common';
|
|
2
|
+
import { UsersController } from './users.controller';
|
|
3
|
+
import { UsersService } from './users.service';
|
|
4
|
+
|
|
5
|
+
@Module({
|
|
6
|
+
controllers: [UsersController],
|
|
7
|
+
providers: [UsersService],
|
|
8
|
+
exports: [UsersService],
|
|
9
|
+
})
|
|
10
|
+
export class UsersModule {}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Injectable, NotFoundException } from '@nestjs/common';
|
|
2
|
+
|
|
3
|
+
interface User {
|
|
4
|
+
id: string;
|
|
5
|
+
email: string;
|
|
6
|
+
name: string;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
@Injectable()
|
|
10
|
+
export class UsersService {
|
|
11
|
+
private users: User[] = [
|
|
12
|
+
{ id: '1', email: 'test@test.com', name: 'Test User' }
|
|
13
|
+
];
|
|
14
|
+
|
|
15
|
+
findAll(): User[] {
|
|
16
|
+
return this.users;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
findOne(id: string): User {
|
|
20
|
+
const user = this.users.find(u => u.id === id);
|
|
21
|
+
if (!user) throw new NotFoundException('User not found');
|
|
22
|
+
return user;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
create(data: { email: string; name: string }): User {
|
|
26
|
+
const user = { id: String(this.users.length + 1), ...data };
|
|
27
|
+
this.users.push(user);
|
|
28
|
+
return user;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
update(id: string, data: Partial<User>): User {
|
|
32
|
+
const index = this.users.findIndex(u => u.id === id);
|
|
33
|
+
if (index === -1) throw new NotFoundException('User not found');
|
|
34
|
+
this.users[index] = { ...this.users[index], ...data };
|
|
35
|
+
return this.users[index];
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
remove(id: string): void {
|
|
39
|
+
const index = this.users.findIndex(u => u.id === id);
|
|
40
|
+
if (index !== -1) this.users.splice(index, 1);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"module": "commonjs",
|
|
4
|
+
"declaration": true,
|
|
5
|
+
"removeComments": true,
|
|
6
|
+
"emitDecoratorMetadata": true,
|
|
7
|
+
"experimentalDecorators": true,
|
|
8
|
+
"allowSyntheticDefaultImports": true,
|
|
9
|
+
"target": "ES2021",
|
|
10
|
+
"sourceMap": true,
|
|
11
|
+
"outDir": "./dist",
|
|
12
|
+
"baseUrl": "./",
|
|
13
|
+
"incremental": true,
|
|
14
|
+
"skipLibCheck": true,
|
|
15
|
+
"strictNullChecks": false,
|
|
16
|
+
"noImplicitAny": false,
|
|
17
|
+
"strictBindCallApply": false,
|
|
18
|
+
"forceConsistentCasingInFileNames": false,
|
|
19
|
+
"noFallthroughCasesInSwitch": false
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# CLI tool to manage tasks
|
|
@@ -0,0 +1,94 @@
|
|
|
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**: MVC (Model-View-Controller)
|
|
10
|
+
- **Languages**: Python
|
|
11
|
+
- **Frameworks**: None
|
|
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**: Python
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Architecture
|
|
34
|
+
|
|
35
|
+
## Architectural Pattern
|
|
36
|
+
**Primary**: MVC (Model-View-Controller)
|
|
37
|
+
**Secondary**: CLI Application
|
|
38
|
+
|
|
39
|
+
## Layers Identified
|
|
40
|
+
- Domain
|
|
41
|
+
|
|
42
|
+
## Key Modules
|
|
43
|
+
| Module | Responsibility |
|
|
44
|
+
|--------|----------------|
|
|
45
|
+
| `__init__.py` | Contains 0 files |
|
|
46
|
+
| `cli` | Contains 4 files |
|
|
47
|
+
| `main.py` | Contains 0 files |
|
|
48
|
+
| `models` | Data models and entities |
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Key Entrypoints
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Code Conventions
|
|
58
|
+
|
|
59
|
+
## Naming Conventions
|
|
60
|
+
- **Files**: kebab-case or snake_case
|
|
61
|
+
|
|
62
|
+
## Project Structure
|
|
63
|
+
|
|
64
|
+
## Code Style
|
|
65
|
+
- **Semicolons**: Required
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## AI Rules
|
|
71
|
+
|
|
72
|
+
- Language: Use Python
|
|
73
|
+
- Architecture: Follow MVC (Model-View-Controller) pattern
|
|
74
|
+
- File naming: kebab-case or snake_case
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Repository Map
|
|
79
|
+
|
|
80
|
+
See repo_map.md for the full structure.
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Notes for AI Assistants
|
|
85
|
+
|
|
86
|
+
1. Follow the established naming conventions (see conventions.md)
|
|
87
|
+
2. Use the detected frameworks and libraries
|
|
88
|
+
3. Target the correct entrypoints for modifications
|
|
89
|
+
4. Maintain the detected architecture patterns
|
|
90
|
+
5. Follow AI rules in ai_rules.md
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
*Generated by ai-first*
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# AI Rules
|
|
2
|
+
|
|
3
|
+
> Guidelines for AI assistants working on this project
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Guidelines
|
|
8
|
+
|
|
9
|
+
- Language: Use Python
|
|
10
|
+
- Architecture: Follow MVC (Model-View-Controller) pattern
|
|
11
|
+
- File naming: kebab-case or snake_case
|
|
12
|
+
|
|
13
|
+
## Patterns
|
|
14
|
+
|
|
15
|
+
- Layer structure: domain
|
|
16
|
+
|
|
17
|
+
## Constraints
|
|
18
|
+
|
|
19
|
+
- Always use semicolons
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Quick Reference
|
|
24
|
+
|
|
25
|
+
| Category | Value |
|
|
26
|
+
|----------|-------|
|
|
27
|
+
| Language | Python |
|
|
28
|
+
| Framework | N/A |
|
|
29
|
+
| Architecture | MVC (Model-View-Controller) |
|
|
30
|
+
| Naming | kebab-case or snake_case |
|
|
31
|
+
| Indentation | unknown |
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Best Practices
|
|
36
|
+
|
|
37
|
+
1. Follow the established naming conventions
|
|
38
|
+
2. Keep functions small and focused
|
|
39
|
+
3. Write tests for new features
|
|
40
|
+
4. Use descriptive variable names
|
|
41
|
+
5. Keep the architecture consistent
|
|
42
|
+
6. Document complex logic
|
|
43
|
+
7. Review code before committing
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
*Generated by ai-first*
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Architecture
|
|
2
|
+
|
|
3
|
+
## Architectural Pattern
|
|
4
|
+
**Primary**: MVC (Model-View-Controller)
|
|
5
|
+
**Secondary**: CLI Application
|
|
6
|
+
|
|
7
|
+
## Layers Identified
|
|
8
|
+
- Domain
|
|
9
|
+
|
|
10
|
+
## Key Modules
|
|
11
|
+
| Module | Responsibility |
|
|
12
|
+
|--------|----------------|
|
|
13
|
+
| `__init__.py` | Contains 0 files |
|
|
14
|
+
| `cli` | Contains 4 files |
|
|
15
|
+
| `main.py` | Contains 0 files |
|
|
16
|
+
| `models` | Data models and entities |
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
## Module Details
|
|
20
|
+
|
|
21
|
+
### __init__.py
|
|
22
|
+
- **Path**: `__init__.py`
|
|
23
|
+
- **Responsibility**: Contains 0 files
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### cli
|
|
27
|
+
- **Path**: `cli`
|
|
28
|
+
- **Responsibility**: Contains 4 files
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
### main.py
|
|
32
|
+
- **Path**: `main.py`
|
|
33
|
+
- **Responsibility**: Contains 0 files
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
### models
|
|
37
|
+
- **Path**: `models`
|
|
38
|
+
- **Responsibility**: Data models and entities
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
## Recommendations
|
|
43
|
+
|
|
44
|
+
- Keep the architecture consistent as the project grows
|
|
45
|
+
- Follow the established layer structure
|
|
46
|
+
- Use dependency injection to manage module relationships
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
*Generated by ai-first*
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
{
|
|
2
|
+
"files": {
|
|
3
|
+
"__init__.py": {
|
|
4
|
+
"hash": "b8e919564af9b6e38c79d449bb77a7b5",
|
|
5
|
+
"mtime": 1773777152897.4336
|
|
6
|
+
},
|
|
7
|
+
"ai/ai_context.md": {
|
|
8
|
+
"hash": "ed58b5050b4b428a2dc5ddde0d8f0784",
|
|
9
|
+
"mtime": 1773796492511.405
|
|
10
|
+
},
|
|
11
|
+
"ai/ai_rules.md": {
|
|
12
|
+
"hash": "497d2aaa36fc25e1a1d43ad93a5e3631",
|
|
13
|
+
"mtime": 1773796492510.405
|
|
14
|
+
},
|
|
15
|
+
"ai/architecture.md": {
|
|
16
|
+
"hash": "96f6c50d3d91f5ac670473220a4aa87e",
|
|
17
|
+
"mtime": 1773796492506.4048
|
|
18
|
+
},
|
|
19
|
+
"ai/context/features/cli.json": {
|
|
20
|
+
"hash": "db233eedf90a4de1cbb42f260b4ec159",
|
|
21
|
+
"mtime": 1773796492512.405
|
|
22
|
+
},
|
|
23
|
+
"ai/context/flows/add_.json": {
|
|
24
|
+
"hash": "8fd1b0ccd628661384b1982917527e10",
|
|
25
|
+
"mtime": 1773796492512.405
|
|
26
|
+
},
|
|
27
|
+
"ai/context/flows/list_.json": {
|
|
28
|
+
"hash": "2307454625174d3b69e727acf6e10261",
|
|
29
|
+
"mtime": 1773796492512.405
|
|
30
|
+
},
|
|
31
|
+
"ai/context/flows/remove_.json": {
|
|
32
|
+
"hash": "12bece7cdabce999d2430fee0b316b3b",
|
|
33
|
+
"mtime": 1773796492512.405
|
|
34
|
+
},
|
|
35
|
+
"ai/conventions.md": {
|
|
36
|
+
"hash": "9c37d280c1cab6899447a58aa03b0f44",
|
|
37
|
+
"mtime": 1773796492508.4048
|
|
38
|
+
},
|
|
39
|
+
"ai/dependencies.json": {
|
|
40
|
+
"hash": "b1333fe58b2dddfa6ecb8c53292f442f",
|
|
41
|
+
"mtime": 1773796492509.405
|
|
42
|
+
},
|
|
43
|
+
"ai/entrypoints.md": {
|
|
44
|
+
"hash": "34c8965a66697d9f1d428bb0904f5d8d",
|
|
45
|
+
"mtime": 1773796492507.4048
|
|
46
|
+
},
|
|
47
|
+
"ai/files.json": {
|
|
48
|
+
"hash": "c82d9d1331bd255fc43be845aa368725",
|
|
49
|
+
"mtime": 1773796517554.7957
|
|
50
|
+
},
|
|
51
|
+
"ai/graph/module-graph.json": {
|
|
52
|
+
"hash": "54539a6536c57542d107b5e587852d21",
|
|
53
|
+
"mtime": 1773796517549.7954
|
|
54
|
+
},
|
|
55
|
+
"ai/modules.json": {
|
|
56
|
+
"hash": "366ccb4be2fcb4b7098548e68cee7a06",
|
|
57
|
+
"mtime": 1773796517540.7954
|
|
58
|
+
},
|
|
59
|
+
"ai/project.json": {
|
|
60
|
+
"hash": "0511f31fdb8944b75813100c96738f88",
|
|
61
|
+
"mtime": 1773796492513.405
|
|
62
|
+
},
|
|
63
|
+
"ai/repo-map.json": {
|
|
64
|
+
"hash": "a2b87275ea77eb88a7ce50f6874d52d8",
|
|
65
|
+
"mtime": 1773796517541.7954
|
|
66
|
+
},
|
|
67
|
+
"ai/repo_map.json": {
|
|
68
|
+
"hash": "aa9b5cffb4fea856e640d50ae2f843be",
|
|
69
|
+
"mtime": 1773796492505.4048
|
|
70
|
+
},
|
|
71
|
+
"ai/repo_map.md": {
|
|
72
|
+
"hash": "ef0d7f67520571d71a944a89aed09b85",
|
|
73
|
+
"mtime": 1773796492504.4048
|
|
74
|
+
},
|
|
75
|
+
"ai/schema.json": {
|
|
76
|
+
"hash": "5f906385bbf15f468465b9b3b4e4cabb",
|
|
77
|
+
"mtime": 1773796492512.405
|
|
78
|
+
},
|
|
79
|
+
"ai/summary.md": {
|
|
80
|
+
"hash": "ce45f19fa9b88934464c679faa8bb5e1",
|
|
81
|
+
"mtime": 1773796492505.4048
|
|
82
|
+
},
|
|
83
|
+
"ai/symbols.json": {
|
|
84
|
+
"hash": "cd04c4c359d5fdffb6f49d080ee81749",
|
|
85
|
+
"mtime": 1773796492509.405
|
|
86
|
+
},
|
|
87
|
+
"ai/tech_stack.md": {
|
|
88
|
+
"hash": "549e166f1ac035b5c54f522a1962321e",
|
|
89
|
+
"mtime": 1773796492507.4048
|
|
90
|
+
},
|
|
91
|
+
"ai/tools.json": {
|
|
92
|
+
"hash": "b1356e52c74e9b3b6a0d397b790a4968",
|
|
93
|
+
"mtime": 1773796492513.405
|
|
94
|
+
},
|
|
95
|
+
"cli/__init__.py": {
|
|
96
|
+
"hash": "a3b6d5054e9628836636cf4d6927e33a",
|
|
97
|
+
"mtime": 1773777227193.3157
|
|
98
|
+
},
|
|
99
|
+
"cli/add_command.py": {
|
|
100
|
+
"hash": "d9b48d790c714aebf7b29db0f8aa3464",
|
|
101
|
+
"mtime": 1773777196493.9478
|
|
102
|
+
},
|
|
103
|
+
"cli/list_command.py": {
|
|
104
|
+
"hash": "fd7ca8830013f013e16afd191e6c5c75",
|
|
105
|
+
"mtime": 1773777202889.024
|
|
106
|
+
},
|
|
107
|
+
"cli/remove_command.py": {
|
|
108
|
+
"hash": "1209f465970ad86ef87ed6c0409cef50",
|
|
109
|
+
"mtime": 1773777208836.0952
|
|
110
|
+
},
|
|
111
|
+
"main.py": {
|
|
112
|
+
"hash": "8e7d98c3b644a2b27f760c017100e886",
|
|
113
|
+
"mtime": 1773777186036.8235
|
|
114
|
+
},
|
|
115
|
+
"models/__init__.py": {
|
|
116
|
+
"hash": "a99db8f336d72b5c5700545705baf7de",
|
|
117
|
+
"mtime": 1773777266541.7935
|
|
118
|
+
},
|
|
119
|
+
"models/task.py": {
|
|
120
|
+
"hash": "95274739cbb686a2f8c661836623c692",
|
|
121
|
+
"mtime": 1773777234068.3987
|
|
122
|
+
},
|
|
123
|
+
"models/task_repository.py": {
|
|
124
|
+
"hash": "68215671f3b74e5dbd6fdc06671b08b1",
|
|
125
|
+
"mtime": 1773777261367.7302
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
"lastIndexed": "2026-03-18T01:15:17.555Z"
|
|
129
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "cli",
|
|
3
|
+
"path": "cli",
|
|
4
|
+
"files": [
|
|
5
|
+
"cli/__init__.py",
|
|
6
|
+
"cli/add_command.py",
|
|
7
|
+
"cli/list_command.py",
|
|
8
|
+
"cli/remove_command.py"
|
|
9
|
+
],
|
|
10
|
+
"entrypoints": [
|
|
11
|
+
"cli/add_command.py",
|
|
12
|
+
"cli/list_command.py",
|
|
13
|
+
"cli/remove_command.py"
|
|
14
|
+
],
|
|
15
|
+
"dependencies": []
|
|
16
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Code Conventions
|
|
2
|
+
|
|
3
|
+
## Naming Conventions
|
|
4
|
+
- **Files**: kebab-case or snake_case
|
|
5
|
+
|
|
6
|
+
## Project Structure
|
|
7
|
+
|
|
8
|
+
## Code Style
|
|
9
|
+
- **Semicolons**: Required
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## Naming Conventions
|
|
13
|
+
|
|
14
|
+
| Element | Convention |
|
|
15
|
+
|---------|------------|
|
|
16
|
+
| Files | kebab-case or snake_case |
|
|
17
|
+
| Components | unknown |
|
|
18
|
+
| Test Files | unknown |
|
|
19
|
+
| Directories | unknown |
|
|
20
|
+
|
|
21
|
+
## Project Structure
|
|
22
|
+
|
|
23
|
+
| Directory | Location |
|
|
24
|
+
|-----------|----------|
|
|
25
|
+
| Source | unknown |
|
|
26
|
+
| Tests | unknown |
|
|
27
|
+
| Config | unknown |
|
|
28
|
+
|
|
29
|
+
## Code Style
|
|
30
|
+
|
|
31
|
+
| Style Element | Value |
|
|
32
|
+
|---------------|-------|
|
|
33
|
+
| Indentation | unknown |
|
|
34
|
+
| Semicolons | Required |
|
|
35
|
+
|
|
36
|
+
## Testing
|
|
37
|
+
|
|
38
|
+
| Aspect | Value |
|
|
39
|
+
|--------|-------|
|
|
40
|
+
| Framework | unknown |
|
|
41
|
+
| Test Pattern | unknown |
|
|
42
|
+
|
|
43
|
+
## Git
|
|
44
|
+
|
|
45
|
+
| Aspect | Value |
|
|
46
|
+
|--------|-------|
|
|
47
|
+
| Branch Strategy | Trunk-based (main/master) |
|
|
48
|
+
| Commit Format | unknown |
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
*Generated by ai-first*
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"totalDependencies": 8,
|
|
3
|
+
"totalModules": 5,
|
|
4
|
+
"dependencies": [
|
|
5
|
+
{
|
|
6
|
+
"source": "cli/__init__.py",
|
|
7
|
+
"target": "/.py",
|
|
8
|
+
"type": "from"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"source": "main.py",
|
|
12
|
+
"target": "cli/commands.py",
|
|
13
|
+
"type": "from"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"source": "main.py",
|
|
17
|
+
"target": "argparse.py",
|
|
18
|
+
"type": "import"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"source": "models/__init__.py",
|
|
22
|
+
"target": "/task.py",
|
|
23
|
+
"type": "from"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"source": "models/__init__.py",
|
|
27
|
+
"target": "/task_repository.py",
|
|
28
|
+
"type": "from"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"source": "models/task.py",
|
|
32
|
+
"target": "datetime.py",
|
|
33
|
+
"type": "from"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"source": "models/task_repository.py",
|
|
37
|
+
"target": "models/task.py",
|
|
38
|
+
"type": "from"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"source": "models/task_repository.py",
|
|
42
|
+
"target": "datetime.py",
|
|
43
|
+
"type": "from"
|
|
44
|
+
}
|
|
45
|
+
],
|
|
46
|
+
"byFile": {
|
|
47
|
+
"cli/__init__.py": [
|
|
48
|
+
"/.py"
|
|
49
|
+
],
|
|
50
|
+
"main.py": [
|
|
51
|
+
"cli/commands.py",
|
|
52
|
+
"argparse.py"
|
|
53
|
+
],
|
|
54
|
+
"models/__init__.py": [
|
|
55
|
+
"/task.py",
|
|
56
|
+
"/task_repository.py"
|
|
57
|
+
],
|
|
58
|
+
"models/task.py": [
|
|
59
|
+
"datetime.py"
|
|
60
|
+
],
|
|
61
|
+
"models/task_repository.py": [
|
|
62
|
+
"models/task.py",
|
|
63
|
+
"datetime.py"
|
|
64
|
+
]
|
|
65
|
+
}
|
|
66
|
+
}
|