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.
Files changed (264) hide show
  1. package/ANALISIS_MEJORAS.md +327 -0
  2. package/BUGS.md +455 -0
  3. package/CHANGELOG.md +100 -225
  4. package/TEST_RESULTS.md +198 -0
  5. package/TEST_RESULTS_COMPARATIVE.md +159 -0
  6. package/TEST_RESULTS_COMPLETE.md +127 -0
  7. package/TEST_RESULTS_COMPREHENSIVE.md +208 -0
  8. package/ai/ai_context.md +17 -10
  9. package/ai/ai_rules.md +5 -3
  10. package/ai/architecture.md +28 -7
  11. package/ai/cache.json +832 -52
  12. package/ai/context/features/commands.json +18 -0
  13. package/ai/context/features/src.json +61 -0
  14. package/ai/context/features/test-projects.json +56 -0
  15. package/ai/context/flows/account.json +9 -0
  16. package/ai/context/flows/add_.json +9 -0
  17. package/ai/context/flows/ai-first.json +9 -0
  18. package/ai/context/flows/auth..json +10 -0
  19. package/ai/context/flows/auth.json +12 -0
  20. package/ai/context/flows/dashboard.json +9 -0
  21. package/ai/context/flows/doctor.json +9 -0
  22. package/ai/context/flows/explore.json +9 -0
  23. package/ai/context/flows/list_.json +9 -0
  24. package/ai/context/flows/login.json +9 -0
  25. package/ai/context/flows/opportunity.json +9 -0
  26. package/ai/context/flows/remove_.json +9 -0
  27. package/ai/context/flows/user.json +14 -0
  28. package/ai/context/flows/users..json +10 -0
  29. package/ai/context/flows/users.json +9 -0
  30. package/ai/conventions.md +3 -2
  31. package/ai/dependencies.json +429 -251
  32. package/ai/entrypoints.md +10 -0
  33. package/ai/files.json +822 -46
  34. package/ai/git/commit-activity.json +126 -39
  35. package/ai/git/recent-features.json +3 -1
  36. package/ai/git/recent-files.json +6 -6
  37. package/ai/git/recent-flows.json +3 -1
  38. package/ai/graph/knowledge-graph.json +954 -182
  39. package/ai/graph/module-graph.json +270 -0
  40. package/ai/graph/symbol-graph.json +48991 -16523
  41. package/ai/graph/symbol-references.json +953 -56
  42. package/ai/hierarchy.json +3 -24
  43. package/ai/index-state.json +1261 -253
  44. package/ai/index.db +0 -0
  45. package/ai/modules.json +226 -0
  46. package/ai/project.json +29 -0
  47. package/ai/repo-map.json +2284 -250
  48. package/ai/repo_map.json +2731 -231
  49. package/ai/repo_map.md +559 -2
  50. package/ai/schema.json +5 -0
  51. package/ai/summary.md +16 -7
  52. package/ai/tech_stack.md +4 -1
  53. package/ai/tools.json +10 -0
  54. package/dist/analyzers/dependencies.d.ts.map +1 -1
  55. package/dist/analyzers/dependencies.js +8 -16
  56. package/dist/analyzers/dependencies.js.map +1 -1
  57. package/dist/analyzers/symbols.d.ts.map +1 -1
  58. package/dist/analyzers/symbols.js +60 -0
  59. package/dist/analyzers/symbols.js.map +1 -1
  60. package/dist/commands/ai-first.d.ts +1 -0
  61. package/dist/commands/ai-first.d.ts.map +1 -1
  62. package/dist/commands/ai-first.js +29 -6
  63. package/dist/commands/ai-first.js.map +1 -1
  64. package/dist/core/semanticContexts.d.ts.map +1 -1
  65. package/dist/core/semanticContexts.js +48 -26
  66. package/dist/core/semanticContexts.js.map +1 -1
  67. package/dist/core/symbolGraph.d.ts.map +1 -1
  68. package/dist/core/symbolGraph.js +14 -2
  69. package/dist/core/symbolGraph.js.map +1 -1
  70. package/dist/utils/fileUtils.d.ts.map +1 -1
  71. package/dist/utils/fileUtils.js +5 -0
  72. package/dist/utils/fileUtils.js.map +1 -1
  73. package/package.json +2 -2
  74. package/src/analyzers/dependencies.ts +10 -20
  75. package/src/analyzers/symbols.ts +64 -0
  76. package/src/commands/ai-first.ts +32 -8
  77. package/src/core/semanticContexts.ts +54 -29
  78. package/src/core/symbolGraph.ts +16 -2
  79. package/src/utils/fileUtils.ts +5 -0
  80. package/test-projects/express-api/ai/ai_context.md +112 -0
  81. package/test-projects/express-api/ai/ai_rules.md +50 -0
  82. package/test-projects/express-api/ai/architecture.md +62 -0
  83. package/test-projects/express-api/ai/cache.json +125 -0
  84. package/test-projects/express-api/ai/context/features/controllers.json +13 -0
  85. package/test-projects/express-api/ai/context/features/services.json +13 -0
  86. package/test-projects/express-api/ai/context/flows/auth.json +12 -0
  87. package/test-projects/express-api/ai/context/flows/user.json +13 -0
  88. package/test-projects/express-api/ai/conventions.md +51 -0
  89. package/test-projects/express-api/ai/dependencies.json +54 -0
  90. package/test-projects/express-api/ai/entrypoints.md +17 -0
  91. package/test-projects/express-api/ai/files.json +169 -0
  92. package/test-projects/express-api/ai/graph/knowledge-graph.json +98 -0
  93. package/test-projects/express-api/ai/graph/module-graph.json +44 -0
  94. package/test-projects/express-api/ai/graph/symbol-graph.json +882 -0
  95. package/test-projects/express-api/ai/graph/symbol-references.json +51 -0
  96. package/test-projects/express-api/ai/index-state.json +238 -0
  97. package/test-projects/express-api/ai/index.db +0 -0
  98. package/test-projects/express-api/ai/modules.json +30 -0
  99. package/test-projects/express-api/ai/project.json +15 -0
  100. package/test-projects/express-api/ai/repo-map.json +291 -0
  101. package/test-projects/express-api/ai/repo_map.json +100 -0
  102. package/test-projects/express-api/ai/repo_map.md +36 -0
  103. package/test-projects/express-api/ai/schema.json +5 -0
  104. package/test-projects/express-api/ai/summary.md +14 -0
  105. package/test-projects/express-api/ai/symbols.json +1174 -0
  106. package/test-projects/express-api/ai/tech_stack.md +38 -0
  107. package/test-projects/express-api/ai/tools.json +10 -0
  108. package/test-projects/express-api/controllers/authController.js +32 -0
  109. package/test-projects/express-api/controllers/userController.js +51 -0
  110. package/test-projects/express-api/index.js +21 -0
  111. package/test-projects/express-api/middleware/authMiddleware.js +30 -0
  112. package/test-projects/express-api/models/userRepository.js +25 -0
  113. package/test-projects/express-api/package.json +18 -0
  114. package/test-projects/express-api/services/authService.js +17 -0
  115. package/test-projects/express-api/services/userService.js +28 -0
  116. package/test-projects/nestjs-backend/ai/ai_context.md +110 -0
  117. package/test-projects/nestjs-backend/ai/ai_rules.md +52 -0
  118. package/test-projects/nestjs-backend/ai/architecture.md +43 -0
  119. package/test-projects/nestjs-backend/ai/cache.json +137 -0
  120. package/test-projects/nestjs-backend/ai/context/features/src.json +23 -0
  121. package/test-projects/nestjs-backend/ai/context/flows/auth..json +10 -0
  122. package/test-projects/nestjs-backend/ai/context/flows/users..json +10 -0
  123. package/test-projects/nestjs-backend/ai/conventions.md +52 -0
  124. package/test-projects/nestjs-backend/ai/dependencies.json +152 -0
  125. package/test-projects/nestjs-backend/ai/entrypoints.md +18 -0
  126. package/test-projects/nestjs-backend/ai/files.json +184 -0
  127. package/test-projects/nestjs-backend/ai/graph/knowledge-graph.json +74 -0
  128. package/test-projects/nestjs-backend/ai/graph/module-graph.json +29 -0
  129. package/test-projects/nestjs-backend/ai/graph/symbol-graph.json +304 -0
  130. package/test-projects/nestjs-backend/ai/graph/symbol-references.json +5 -0
  131. package/test-projects/nestjs-backend/ai/index-state.json +259 -0
  132. package/test-projects/nestjs-backend/ai/index.db +0 -0
  133. package/test-projects/nestjs-backend/ai/modules.json +19 -0
  134. package/test-projects/nestjs-backend/ai/project.json +14 -0
  135. package/test-projects/nestjs-backend/ai/repo-map.json +323 -0
  136. package/test-projects/nestjs-backend/ai/repo_map.json +141 -0
  137. package/test-projects/nestjs-backend/ai/repo_map.md +39 -0
  138. package/test-projects/nestjs-backend/ai/schema.json +5 -0
  139. package/test-projects/nestjs-backend/ai/summary.md +11 -0
  140. package/test-projects/nestjs-backend/ai/symbols.json +527 -0
  141. package/test-projects/nestjs-backend/ai/tech_stack.md +37 -0
  142. package/test-projects/nestjs-backend/ai/tools.json +10 -0
  143. package/test-projects/nestjs-backend/package.json +22 -0
  144. package/test-projects/nestjs-backend/src/app.module.ts +8 -0
  145. package/test-projects/nestjs-backend/src/auth/auth.controller.ts +22 -0
  146. package/test-projects/nestjs-backend/src/auth/auth.module.ts +11 -0
  147. package/test-projects/nestjs-backend/src/auth/auth.service.ts +28 -0
  148. package/test-projects/nestjs-backend/src/auth/dto/login.dto.ts +4 -0
  149. package/test-projects/nestjs-backend/src/auth/strategies/jwt.strategy.ts +18 -0
  150. package/test-projects/nestjs-backend/src/main.ts +9 -0
  151. package/test-projects/nestjs-backend/src/users/users.controller.ts +32 -0
  152. package/test-projects/nestjs-backend/src/users/users.module.ts +10 -0
  153. package/test-projects/nestjs-backend/src/users/users.service.ts +42 -0
  154. package/test-projects/nestjs-backend/tsconfig.json +21 -0
  155. package/test-projects/python-cli/__init__.py +1 -0
  156. package/test-projects/python-cli/ai/ai_context.md +94 -0
  157. package/test-projects/python-cli/ai/ai_rules.md +47 -0
  158. package/test-projects/python-cli/ai/architecture.md +49 -0
  159. package/test-projects/python-cli/ai/cache.json +129 -0
  160. package/test-projects/python-cli/ai/context/features/cli.json +16 -0
  161. package/test-projects/python-cli/ai/context/flows/add_.json +9 -0
  162. package/test-projects/python-cli/ai/context/flows/list_.json +9 -0
  163. package/test-projects/python-cli/ai/context/flows/remove_.json +9 -0
  164. package/test-projects/python-cli/ai/conventions.md +51 -0
  165. package/test-projects/python-cli/ai/dependencies.json +66 -0
  166. package/test-projects/python-cli/ai/entrypoints.md +4 -0
  167. package/test-projects/python-cli/ai/files.json +174 -0
  168. package/test-projects/python-cli/ai/graph/knowledge-graph.json +83 -0
  169. package/test-projects/python-cli/ai/graph/module-graph.json +31 -0
  170. package/test-projects/python-cli/ai/graph/symbol-graph.json +358 -0
  171. package/test-projects/python-cli/ai/graph/symbol-references.json +11 -0
  172. package/test-projects/python-cli/ai/index-state.json +245 -0
  173. package/test-projects/python-cli/ai/index.db +0 -0
  174. package/test-projects/python-cli/ai/modules.json +21 -0
  175. package/test-projects/python-cli/ai/project.json +15 -0
  176. package/test-projects/python-cli/ai/repo-map.json +290 -0
  177. package/test-projects/python-cli/ai/repo_map.json +99 -0
  178. package/test-projects/python-cli/ai/repo_map.md +32 -0
  179. package/test-projects/python-cli/ai/schema.json +5 -0
  180. package/test-projects/python-cli/ai/summary.md +11 -0
  181. package/test-projects/python-cli/ai/symbols.json +475 -0
  182. package/test-projects/python-cli/ai/tech_stack.md +30 -0
  183. package/test-projects/python-cli/ai/tools.json +10 -0
  184. package/test-projects/python-cli/cli/__init__.py +1 -0
  185. package/test-projects/python-cli/cli/add_command.py +6 -0
  186. package/test-projects/python-cli/cli/list_command.py +7 -0
  187. package/test-projects/python-cli/cli/remove_command.py +6 -0
  188. package/test-projects/python-cli/main.py +34 -0
  189. package/test-projects/python-cli/models/__init__.py +2 -0
  190. package/test-projects/python-cli/models/task.py +19 -0
  191. package/test-projects/python-cli/models/task_repository.py +44 -0
  192. package/test-projects/react-app/ai/ai_context.md +95 -0
  193. package/test-projects/react-app/ai/ai_rules.md +49 -0
  194. package/test-projects/react-app/ai/architecture.md +33 -0
  195. package/test-projects/react-app/ai/cache.json +129 -0
  196. package/test-projects/react-app/ai/context/features/src.json +18 -0
  197. package/test-projects/react-app/ai/context/flows/dashboard.json +9 -0
  198. package/test-projects/react-app/ai/context/flows/login.json +9 -0
  199. package/test-projects/react-app/ai/context/flows/users.json +9 -0
  200. package/test-projects/react-app/ai/conventions.md +52 -0
  201. package/test-projects/react-app/ai/dependencies.json +128 -0
  202. package/test-projects/react-app/ai/entrypoints.md +4 -0
  203. package/test-projects/react-app/ai/files.json +174 -0
  204. package/test-projects/react-app/ai/graph/knowledge-graph.json +83 -0
  205. package/test-projects/react-app/ai/graph/module-graph.json +31 -0
  206. package/test-projects/react-app/ai/graph/symbol-graph.json +868 -0
  207. package/test-projects/react-app/ai/graph/symbol-references.json +31 -0
  208. package/test-projects/react-app/ai/index-state.json +245 -0
  209. package/test-projects/react-app/ai/index.db +0 -0
  210. package/test-projects/react-app/ai/modules.json +17 -0
  211. package/test-projects/react-app/ai/project.json +15 -0
  212. package/test-projects/react-app/ai/repo-map.json +305 -0
  213. package/test-projects/react-app/ai/repo_map.json +114 -0
  214. package/test-projects/react-app/ai/repo_map.md +31 -0
  215. package/test-projects/react-app/ai/schema.json +5 -0
  216. package/test-projects/react-app/ai/summary.md +11 -0
  217. package/test-projects/react-app/ai/symbols.json +985 -0
  218. package/test-projects/react-app/ai/tech_stack.md +38 -0
  219. package/test-projects/react-app/ai/tools.json +10 -0
  220. package/test-projects/react-app/package.json +16 -0
  221. package/test-projects/react-app/src/App.tsx +21 -0
  222. package/test-projects/react-app/src/context/AuthContext.tsx +41 -0
  223. package/test-projects/react-app/src/hooks/useAuth.ts +10 -0
  224. package/test-projects/react-app/src/main.tsx +10 -0
  225. package/test-projects/react-app/src/pages/DashboardPage.tsx +17 -0
  226. package/test-projects/react-app/src/pages/LoginPage.tsx +41 -0
  227. package/test-projects/react-app/src/pages/UsersPage.tsx +36 -0
  228. package/test-projects/react-app/src/services/userService.ts +37 -0
  229. package/test-projects/salesforce-cli/.forceignore +27 -0
  230. package/test-projects/salesforce-cli/ai/ai_context.md +88 -0
  231. package/test-projects/salesforce-cli/ai/ai_rules.md +47 -0
  232. package/test-projects/salesforce-cli/ai/architecture.md +33 -0
  233. package/test-projects/salesforce-cli/ai/cache.json +105 -0
  234. package/test-projects/salesforce-cli/ai/context/features/force-app.json +14 -0
  235. package/test-projects/salesforce-cli/ai/context/flows/account.json +9 -0
  236. package/test-projects/salesforce-cli/ai/context/flows/opportunity.json +9 -0
  237. package/test-projects/salesforce-cli/ai/conventions.md +51 -0
  238. package/test-projects/salesforce-cli/ai/dependencies.json +6 -0
  239. package/test-projects/salesforce-cli/ai/entrypoints.md +4 -0
  240. package/test-projects/salesforce-cli/ai/files.json +144 -0
  241. package/test-projects/salesforce-cli/ai/graph/knowledge-graph.json +64 -0
  242. package/test-projects/salesforce-cli/ai/graph/module-graph.json +13 -0
  243. package/test-projects/salesforce-cli/ai/graph/symbol-graph.json +148 -0
  244. package/test-projects/salesforce-cli/ai/graph/symbol-references.json +1 -0
  245. package/test-projects/salesforce-cli/ai/index-state.json +203 -0
  246. package/test-projects/salesforce-cli/ai/index.db +0 -0
  247. package/test-projects/salesforce-cli/ai/modules.json +12 -0
  248. package/test-projects/salesforce-cli/ai/project.json +14 -0
  249. package/test-projects/salesforce-cli/ai/repo-map.json +251 -0
  250. package/test-projects/salesforce-cli/ai/repo_map.json +69 -0
  251. package/test-projects/salesforce-cli/ai/repo_map.md +21 -0
  252. package/test-projects/salesforce-cli/ai/schema.json +5 -0
  253. package/test-projects/salesforce-cli/ai/summary.md +11 -0
  254. package/test-projects/salesforce-cli/ai/symbols.json +245 -0
  255. package/test-projects/salesforce-cli/ai/tech_stack.md +30 -0
  256. package/test-projects/salesforce-cli/ai/tools.json +10 -0
  257. package/test-projects/salesforce-cli/force-app/main/default/classes/AccountController.cls +24 -0
  258. package/test-projects/salesforce-cli/force-app/main/default/classes/OpportunityController.cls +25 -0
  259. package/test-projects/salesforce-cli/force-app/main/default/objects/Project__c.object.xml +45 -0
  260. package/test-projects/salesforce-cli/force-app/main/default/triggers/AccountTrigger.trigger +33 -0
  261. package/test-projects/salesforce-cli/sfdx-project.json +11 -0
  262. package/tests/e2e/README.md +85 -0
  263. package/tests/e2e/run-e2e.sh +88 -0
  264. 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,9 @@
1
+ {
2
+ "name": "add_",
3
+ "entrypoint": "cli/add_command.py",
4
+ "files": [
5
+ "cli/add_command.py"
6
+ ],
7
+ "depth": 0,
8
+ "layers": []
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "list_",
3
+ "entrypoint": "cli/list_command.py",
4
+ "files": [
5
+ "cli/list_command.py"
6
+ ],
7
+ "depth": 0,
8
+ "layers": []
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "remove_",
3
+ "entrypoint": "cli/remove_command.py",
4
+ "files": [
5
+ "cli/remove_command.py"
6
+ ],
7
+ "depth": 0,
8
+ "layers": []
9
+ }
@@ -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
+ }
@@ -0,0 +1,4 @@
1
+ # Entrypoints
2
+
3
+ ---
4
+ *Generated by ai-first*