ai-first-cli 1.3.0 → 1.3.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 (527) hide show
  1. package/.ai-dev/index.db +0 -0
  2. package/.github/workflows/publish.yml +4 -1
  3. package/BETA_EVALUATION_REPORT.md +151 -0
  4. package/CHANGELOG.md +178 -0
  5. package/PHASE1_USER_SIMULATION.md +56 -0
  6. package/PHASE2_USER_SIMULATION.md +81 -0
  7. package/PHASE3_USER_SIMULATION.md +176 -0
  8. package/README.es.md +18 -0
  9. package/README.md +80 -1
  10. package/ai/graph/knowledge-graph.json +10 -0
  11. package/ai-context/ai_context.md +130 -0
  12. package/{test-projects/react-app/.ai-dev → ai-context}/ai_rules.md +10 -5
  13. package/ai-context/architecture.md +136 -0
  14. package/ai-context/context/features/src.json +69 -0
  15. package/ai-context/context/features/test-projects.json +69 -0
  16. package/ai-context/context/flows/App.json +17 -0
  17. package/ai-context/context/flows/DashboardPage.json +14 -0
  18. package/ai-context/context/flows/LoginPage.json +14 -0
  19. package/ai-context/context/flows/admin.json +10 -0
  20. package/ai-context/context/flows/ai-first.json +9 -0
  21. package/ai-context/context/flows/androidresources.json +11 -0
  22. package/ai-context/context/flows/auth.json +13 -0
  23. package/ai-context/context/flows/authController.json +14 -0
  24. package/ai-context/context/flows/doctor.json +9 -0
  25. package/ai-context/context/flows/entrypoints.json +9 -0
  26. package/ai-context/context/flows/explore.json +9 -0
  27. package/ai-context/context/flows/fastapiAdapter.json +14 -0
  28. package/ai-context/context/flows/fastapiadapter.json +11 -0
  29. package/ai-context/context/flows/index.json +19 -0
  30. package/ai-context/context/flows/indexer.json +9 -0
  31. package/ai-context/context/flows/indexstate.json +9 -0
  32. package/ai-context/context/flows/init.json +22 -0
  33. package/ai-context/context/flows/main.json +18 -0
  34. package/ai-context/context/flows/mainactivity.json +9 -0
  35. package/ai-context/context/flows/models.json +15 -0
  36. package/ai-context/context/flows/posts.json +15 -0
  37. package/ai-context/context/flows/repoMapper.json +20 -0
  38. package/ai-context/context/flows/repomapper.json +11 -0
  39. package/ai-context/context/flows/routes.json +15 -0
  40. package/ai-context/context/flows/serializers.json +10 -0
  41. package/ai-context/context/flows/user.json +23 -0
  42. package/ai-context/context/flows/views.json +12 -0
  43. package/{test-projects/react-app/.ai-dev → ai-context}/conventions.md +3 -2
  44. package/ai-context/dependencies.json +3360 -0
  45. package/ai-context/entrypoints.md +45 -0
  46. package/ai-context/index-state.json +196 -0
  47. package/ai-context/modules.json +901 -0
  48. package/ai-context/project.json +33 -0
  49. package/ai-context/repo_map.json +8857 -0
  50. package/ai-context/repo_map.md +2002 -0
  51. package/{test-projects/flask-app/.ai-dev → ai-context}/schema.json +1 -1
  52. package/ai-context/summary.md +46 -0
  53. package/ai-context/symbols.json +82467 -0
  54. package/{test-projects/react-app/.ai-dev → ai-context}/tech_stack.md +15 -7
  55. package/ai-context-evaluation-report-1774223059505.md +206 -0
  56. package/dist/analyzers/architecture.d.ts.map +1 -1
  57. package/dist/analyzers/architecture.js +6 -0
  58. package/dist/analyzers/architecture.js.map +1 -1
  59. package/dist/analyzers/entrypoints.d.ts.map +1 -1
  60. package/dist/analyzers/entrypoints.js +105 -0
  61. package/dist/analyzers/entrypoints.js.map +1 -1
  62. package/dist/analyzers/symbols.d.ts.map +1 -1
  63. package/dist/analyzers/symbols.js +72 -1
  64. package/dist/analyzers/symbols.js.map +1 -1
  65. package/dist/analyzers/techStack.d.ts +8 -0
  66. package/dist/analyzers/techStack.d.ts.map +1 -1
  67. package/dist/analyzers/techStack.js +75 -0
  68. package/dist/analyzers/techStack.js.map +1 -1
  69. package/dist/scripts/ai-context-evaluator.js +367 -0
  70. package/package.json +1 -1
  71. package/quick-evaluation-report-1774396002305.md +64 -0
  72. package/quick-evaluator.ts +200 -0
  73. package/scripts/ai-context-evaluator.ts +440 -0
  74. package/src/analyzers/architecture.ts +8 -0
  75. package/src/analyzers/entrypoints.ts +115 -0
  76. package/src/analyzers/symbols.ts +77 -1
  77. package/src/analyzers/techStack.ts +93 -0
  78. package/test_adapters.mjs +11 -11
  79. package/tests/apex-parser.test.ts +193 -0
  80. package/tests/cli-commands-batch1.test.ts +808 -0
  81. package/tests/cli-commands-batch2.test.ts +1113 -0
  82. package/tests/cli-commands-batch3.test.ts +1128 -0
  83. package/tests/cli-index.test.ts +1007 -0
  84. package/tests/cli-init.test.ts +761 -0
  85. package/tests/salesforce-apex-classes.test.ts +713 -0
  86. package/tests/salesforce-apex-triggers.test.ts +871 -0
  87. package/tests/salesforce-custom-objects.test.ts +918 -0
  88. package/tests/salesforce-flows.test.ts +710 -0
  89. package/tests/salesforce-lwc.test.ts +963 -0
  90. package/tests/salesforce-sfdx-integration.test.ts +1125 -0
  91. package/CONTRIBUTING.md +0 -89
  92. package/FLOW.md +0 -129
  93. package/install.sh +0 -188
  94. package/run-all-tests.sh +0 -184
  95. package/test-projects/django-app/.ai-dev/ai_context.md +0 -92
  96. package/test-projects/django-app/.ai-dev/ai_rules.md +0 -47
  97. package/test-projects/django-app/.ai-dev/architecture.md +0 -57
  98. package/test-projects/django-app/.ai-dev/cache.json +0 -169
  99. package/test-projects/django-app/.ai-dev/context/flows/views.json +0 -10
  100. package/test-projects/django-app/.ai-dev/conventions.md +0 -51
  101. package/test-projects/django-app/.ai-dev/dependencies.json +0 -312
  102. package/test-projects/django-app/.ai-dev/entrypoints.md +0 -4
  103. package/test-projects/django-app/.ai-dev/files.json +0 -209
  104. package/test-projects/django-app/.ai-dev/graph/knowledge-graph.json +0 -36
  105. package/test-projects/django-app/.ai-dev/graph/module-graph.json +0 -145
  106. package/test-projects/django-app/.ai-dev/graph/symbol-graph.json +0 -1488
  107. package/test-projects/django-app/.ai-dev/graph/symbol-references.json +0 -1
  108. package/test-projects/django-app/.ai-dev/index-state.json +0 -294
  109. package/test-projects/django-app/.ai-dev/modules.json +0 -35
  110. package/test-projects/django-app/.ai-dev/project.json +0 -11
  111. package/test-projects/django-app/.ai-dev/repo_map.json +0 -412
  112. package/test-projects/django-app/.ai-dev/repo_map.md +0 -105
  113. package/test-projects/django-app/.ai-dev/schema.json +0 -5
  114. package/test-projects/django-app/.ai-dev/summary.md +0 -15
  115. package/test-projects/django-app/.ai-dev/symbols.json +0 -1
  116. package/test-projects/django-app/.ai-dev/tech_stack.md +0 -32
  117. package/test-projects/django-app/README.md +0 -91
  118. package/test-projects/django-app/blog/__init__.py +0 -0
  119. package/test-projects/django-app/blog/admin.py +0 -31
  120. package/test-projects/django-app/blog/models.py +0 -55
  121. package/test-projects/django-app/blog/serializers.py +0 -69
  122. package/test-projects/django-app/blog/urls.py +0 -14
  123. package/test-projects/django-app/blog/views.py +0 -96
  124. package/test-projects/django-app/django_app/__init__.py +0 -0
  125. package/test-projects/django-app/django_app/settings.py +0 -90
  126. package/test-projects/django-app/django_app/urls.py +0 -11
  127. package/test-projects/django-app/django_app/wsgi.py +0 -9
  128. package/test-projects/django-app/manage.py +0 -23
  129. package/test-projects/django-app/requirements.txt +0 -3
  130. package/test-projects/django-app/users/__init__.py +0 -0
  131. package/test-projects/django-app/users/admin.py +0 -42
  132. package/test-projects/django-app/users/models.py +0 -54
  133. package/test-projects/django-app/users/serializers.py +0 -113
  134. package/test-projects/django-app/users/urls.py +0 -13
  135. package/test-projects/django-app/users/views.py +0 -135
  136. package/test-projects/express-api/.ai-dev/ai_context.md +0 -112
  137. package/test-projects/express-api/.ai-dev/ai_rules.md +0 -50
  138. package/test-projects/express-api/.ai-dev/architecture.md +0 -62
  139. package/test-projects/express-api/.ai-dev/context/features/controllers.json +0 -13
  140. package/test-projects/express-api/.ai-dev/context/features/services.json +0 -13
  141. package/test-projects/express-api/.ai-dev/context/flows/auth.json +0 -12
  142. package/test-projects/express-api/.ai-dev/context/flows/user.json +0 -13
  143. package/test-projects/express-api/.ai-dev/conventions.md +0 -51
  144. package/test-projects/express-api/.ai-dev/dependencies.json +0 -54
  145. package/test-projects/express-api/.ai-dev/entrypoints.md +0 -17
  146. package/test-projects/express-api/.ai-dev/modules.json +0 -30
  147. package/test-projects/express-api/.ai-dev/project.json +0 -15
  148. package/test-projects/express-api/.ai-dev/repo_map.json +0 -100
  149. package/test-projects/express-api/.ai-dev/repo_map.md +0 -36
  150. package/test-projects/express-api/.ai-dev/schema.json +0 -5
  151. package/test-projects/express-api/.ai-dev/summary.md +0 -14
  152. package/test-projects/express-api/.ai-dev/symbols.json +0 -7
  153. package/test-projects/express-api/.ai-dev/tech_stack.md +0 -38
  154. package/test-projects/express-api/.ai-dev/tools.json +0 -10
  155. package/test-projects/express-api/controllers/authController.js +0 -32
  156. package/test-projects/express-api/controllers/userController.js +0 -51
  157. package/test-projects/express-api/index.js +0 -30
  158. package/test-projects/express-api/middleware/authMiddleware.js +0 -30
  159. package/test-projects/express-api/models/userRepository.js +0 -25
  160. package/test-projects/express-api/package.json +0 -18
  161. package/test-projects/express-api/services/authService.js +0 -17
  162. package/test-projects/express-api/services/userService.js +0 -28
  163. package/test-projects/fastapi-app/.ai-dev/ai_context.md +0 -89
  164. package/test-projects/fastapi-app/.ai-dev/ai_rules.md +0 -47
  165. package/test-projects/fastapi-app/.ai-dev/architecture.md +0 -39
  166. package/test-projects/fastapi-app/.ai-dev/cache.json +0 -125
  167. package/test-projects/fastapi-app/.ai-dev/conventions.md +0 -51
  168. package/test-projects/fastapi-app/.ai-dev/dependencies.json +0 -244
  169. package/test-projects/fastapi-app/.ai-dev/entrypoints.md +0 -4
  170. package/test-projects/fastapi-app/.ai-dev/files.json +0 -154
  171. package/test-projects/fastapi-app/.ai-dev/graph/knowledge-graph.json +0 -15
  172. package/test-projects/fastapi-app/.ai-dev/graph/module-graph.json +0 -78
  173. package/test-projects/fastapi-app/.ai-dev/graph/symbol-graph.json +0 -1724
  174. package/test-projects/fastapi-app/.ai-dev/graph/symbol-references.json +0 -51
  175. package/test-projects/fastapi-app/.ai-dev/index-state.json +0 -217
  176. package/test-projects/fastapi-app/.ai-dev/modules.json +0 -16
  177. package/test-projects/fastapi-app/.ai-dev/project.json +0 -9
  178. package/test-projects/fastapi-app/.ai-dev/repo_map.json +0 -298
  179. package/test-projects/fastapi-app/.ai-dev/repo_map.md +0 -74
  180. package/test-projects/fastapi-app/.ai-dev/schema.json +0 -5
  181. package/test-projects/fastapi-app/.ai-dev/summary.md +0 -12
  182. package/test-projects/fastapi-app/.ai-dev/symbols.json +0 -1
  183. package/test-projects/fastapi-app/.ai-dev/tech_stack.md +0 -32
  184. package/test-projects/fastapi-app/.ai-dev/tools.json +0 -10
  185. package/test-projects/fastapi-app/README.md +0 -118
  186. package/test-projects/fastapi-app/app/database.py +0 -21
  187. package/test-projects/fastapi-app/app/dependencies.py +0 -107
  188. package/test-projects/fastapi-app/app/main.py +0 -47
  189. package/test-projects/fastapi-app/app/models.py +0 -149
  190. package/test-projects/fastapi-app/app/routers/auth.py +0 -117
  191. package/test-projects/fastapi-app/app/routers/posts.py +0 -272
  192. package/test-projects/fastapi-app/app/schemas.py +0 -191
  193. package/test-projects/fastapi-app/requirements.txt +0 -10
  194. package/test-projects/flask-app/.ai-dev/ai_context.md +0 -94
  195. package/test-projects/flask-app/.ai-dev/ai_rules.md +0 -47
  196. package/test-projects/flask-app/.ai-dev/architecture.md +0 -49
  197. package/test-projects/flask-app/.ai-dev/cache.json +0 -157
  198. package/test-projects/flask-app/.ai-dev/context/features/app.json +0 -25
  199. package/test-projects/flask-app/.ai-dev/context/flows/routes.json +0 -14
  200. package/test-projects/flask-app/.ai-dev/conventions.md +0 -51
  201. package/test-projects/flask-app/.ai-dev/dependencies.json +0 -298
  202. package/test-projects/flask-app/.ai-dev/entrypoints.md +0 -4
  203. package/test-projects/flask-app/.ai-dev/files.json +0 -194
  204. package/test-projects/flask-app/.ai-dev/graph/knowledge-graph.json +0 -60
  205. package/test-projects/flask-app/.ai-dev/graph/module-graph.json +0 -95
  206. package/test-projects/flask-app/.ai-dev/graph/symbol-graph.json +0 -1448
  207. package/test-projects/flask-app/.ai-dev/graph/symbol-references.json +0 -45
  208. package/test-projects/flask-app/.ai-dev/index-state.json +0 -273
  209. package/test-projects/flask-app/.ai-dev/modules.json +0 -21
  210. package/test-projects/flask-app/.ai-dev/project.json +0 -13
  211. package/test-projects/flask-app/.ai-dev/repo_map.json +0 -400
  212. package/test-projects/flask-app/.ai-dev/repo_map.md +0 -98
  213. package/test-projects/flask-app/.ai-dev/summary.md +0 -13
  214. package/test-projects/flask-app/.ai-dev/symbols.json +0 -1
  215. package/test-projects/flask-app/.ai-dev/tech_stack.md +0 -32
  216. package/test-projects/flask-app/.ai-dev/tools.json +0 -10
  217. package/test-projects/flask-app/README.md +0 -129
  218. package/test-projects/flask-app/app/__init__.py +0 -46
  219. package/test-projects/flask-app/app/api/__init__.py +0 -7
  220. package/test-projects/flask-app/app/api/routes.py +0 -122
  221. package/test-projects/flask-app/app/auth/__init__.py +0 -7
  222. package/test-projects/flask-app/app/auth/forms.py +0 -52
  223. package/test-projects/flask-app/app/auth/routes.py +0 -68
  224. package/test-projects/flask-app/app/blog/__init__.py +0 -7
  225. package/test-projects/flask-app/app/blog/forms.py +0 -35
  226. package/test-projects/flask-app/app/blog/routes.py +0 -140
  227. package/test-projects/flask-app/app/main/__init__.py +0 -7
  228. package/test-projects/flask-app/app/main/routes.py +0 -88
  229. package/test-projects/flask-app/app/models.py +0 -177
  230. package/test-projects/flask-app/config.py +0 -64
  231. package/test-projects/flask-app/requirements.txt +0 -10
  232. package/test-projects/laravel-app/.ai-dev/ai_context.md +0 -97
  233. package/test-projects/laravel-app/.ai-dev/ai_rules.md +0 -47
  234. package/test-projects/laravel-app/.ai-dev/architecture.md +0 -60
  235. package/test-projects/laravel-app/.ai-dev/cache.json +0 -161
  236. package/test-projects/laravel-app/.ai-dev/context/features/app.json +0 -21
  237. package/test-projects/laravel-app/.ai-dev/context/flows/.json +0 -9
  238. package/test-projects/laravel-app/.ai-dev/context/flows/category.json +0 -12
  239. package/test-projects/laravel-app/.ai-dev/context/flows/comment.json +0 -12
  240. package/test-projects/laravel-app/.ai-dev/context/flows/post.json +0 -12
  241. package/test-projects/laravel-app/.ai-dev/context/flows/unnamed.json +0 -9
  242. package/test-projects/laravel-app/.ai-dev/conventions.md +0 -51
  243. package/test-projects/laravel-app/.ai-dev/dependencies.json +0 -6
  244. package/test-projects/laravel-app/.ai-dev/entrypoints.md +0 -4
  245. package/test-projects/laravel-app/.ai-dev/files.json +0 -199
  246. package/test-projects/laravel-app/.ai-dev/graph/knowledge-graph.json +0 -98
  247. package/test-projects/laravel-app/.ai-dev/graph/module-graph.json +0 -30
  248. package/test-projects/laravel-app/.ai-dev/graph/symbol-graph.json +0 -5
  249. package/test-projects/laravel-app/.ai-dev/graph/symbol-references.json +0 -1
  250. package/test-projects/laravel-app/.ai-dev/index-state.json +0 -280
  251. package/test-projects/laravel-app/.ai-dev/modules.json +0 -29
  252. package/test-projects/laravel-app/.ai-dev/project.json +0 -17
  253. package/test-projects/laravel-app/.ai-dev/repo_map.json +0 -419
  254. package/test-projects/laravel-app/.ai-dev/repo_map.md +0 -106
  255. package/test-projects/laravel-app/.ai-dev/schema.json +0 -5
  256. package/test-projects/laravel-app/.ai-dev/summary.md +0 -15
  257. package/test-projects/laravel-app/.ai-dev/symbols.json +0 -1
  258. package/test-projects/laravel-app/.ai-dev/tech_stack.md +0 -34
  259. package/test-projects/laravel-app/.ai-dev/tools.json +0 -10
  260. package/test-projects/laravel-app/README.md +0 -107
  261. package/test-projects/laravel-app/app/Http/Controllers/Api/CategoryController.php +0 -88
  262. package/test-projects/laravel-app/app/Http/Controllers/Api/CommentController.php +0 -56
  263. package/test-projects/laravel-app/app/Http/Controllers/Api/PostController.php +0 -174
  264. package/test-projects/laravel-app/app/Http/Controllers/Controller.php +0 -12
  265. package/test-projects/laravel-app/app/Models/Category.php +0 -34
  266. package/test-projects/laravel-app/app/Models/Comment.php +0 -51
  267. package/test-projects/laravel-app/app/Models/Post.php +0 -108
  268. package/test-projects/laravel-app/app/Models/User.php +0 -85
  269. package/test-projects/laravel-app/bootstrap/app.php +0 -25
  270. package/test-projects/laravel-app/composer.json +0 -35
  271. package/test-projects/laravel-app/routes/api.php +0 -40
  272. package/test-projects/nestjs-backend/.ai-dev/ai_context.md +0 -111
  273. package/test-projects/nestjs-backend/.ai-dev/ai_rules.md +0 -52
  274. package/test-projects/nestjs-backend/.ai-dev/architecture.md +0 -49
  275. package/test-projects/nestjs-backend/.ai-dev/cache.json +0 -169
  276. package/test-projects/nestjs-backend/.ai-dev/context/features/src.json +0 -23
  277. package/test-projects/nestjs-backend/.ai-dev/context/flows/auth.controller.json +0 -14
  278. package/test-projects/nestjs-backend/.ai-dev/context/flows/auth.json +0 -10
  279. package/test-projects/nestjs-backend/.ai-dev/context/flows/users..json +0 -10
  280. package/test-projects/nestjs-backend/.ai-dev/context/flows/users.controller.json +0 -14
  281. package/test-projects/nestjs-backend/.ai-dev/context/flows/users.json +0 -10
  282. package/test-projects/nestjs-backend/.ai-dev/conventions.md +0 -52
  283. package/test-projects/nestjs-backend/.ai-dev/dependencies.json +0 -152
  284. package/test-projects/nestjs-backend/.ai-dev/entrypoints.md +0 -18
  285. package/test-projects/nestjs-backend/.ai-dev/files.json +0 -209
  286. package/test-projects/nestjs-backend/.ai-dev/graph/knowledge-graph.json +0 -132
  287. package/test-projects/nestjs-backend/.ai-dev/graph/module-graph.json +0 -29
  288. package/test-projects/nestjs-backend/.ai-dev/graph/symbol-graph.json +0 -304
  289. package/test-projects/nestjs-backend/.ai-dev/graph/symbol-references.json +0 -5
  290. package/test-projects/nestjs-backend/.ai-dev/index-state.json +0 -294
  291. package/test-projects/nestjs-backend/.ai-dev/modules.json +0 -19
  292. package/test-projects/nestjs-backend/.ai-dev/project.json +0 -18
  293. package/test-projects/nestjs-backend/.ai-dev/repo_map.json +0 -427
  294. package/test-projects/nestjs-backend/.ai-dev/repo_map.md +0 -104
  295. package/test-projects/nestjs-backend/.ai-dev/schema.json +0 -5
  296. package/test-projects/nestjs-backend/.ai-dev/summary.md +0 -13
  297. package/test-projects/nestjs-backend/.ai-dev/symbols.json +0 -1
  298. package/test-projects/nestjs-backend/.ai-dev/tech_stack.md +0 -38
  299. package/test-projects/nestjs-backend/.ai-dev/tools.json +0 -10
  300. package/test-projects/nestjs-backend/package.json +0 -22
  301. package/test-projects/nestjs-backend/src/app.module.ts +0 -8
  302. package/test-projects/nestjs-backend/src/auth/auth.controller.ts +0 -22
  303. package/test-projects/nestjs-backend/src/auth/auth.module.ts +0 -11
  304. package/test-projects/nestjs-backend/src/auth/auth.service.ts +0 -28
  305. package/test-projects/nestjs-backend/src/auth/dto/login.dto.ts +0 -4
  306. package/test-projects/nestjs-backend/src/auth/strategies/jwt.strategy.ts +0 -18
  307. package/test-projects/nestjs-backend/src/main.ts +0 -9
  308. package/test-projects/nestjs-backend/src/users/users.controller.ts +0 -32
  309. package/test-projects/nestjs-backend/src/users/users.module.ts +0 -10
  310. package/test-projects/nestjs-backend/src/users/users.service.ts +0 -42
  311. package/test-projects/nestjs-backend/tsconfig.json +0 -21
  312. package/test-projects/python-cli/.ai-dev/ai_context.md +0 -95
  313. package/test-projects/python-cli/.ai-dev/ai_rules.md +0 -47
  314. package/test-projects/python-cli/.ai-dev/architecture.md +0 -55
  315. package/test-projects/python-cli/.ai-dev/cache.json +0 -149
  316. package/test-projects/python-cli/.ai-dev/context/features/cli.json +0 -16
  317. package/test-projects/python-cli/.ai-dev/context/flows/list_.json +0 -9
  318. package/test-projects/python-cli/.ai-dev/context/flows/remove_.json +0 -9
  319. package/test-projects/python-cli/.ai-dev/conventions.md +0 -51
  320. package/test-projects/python-cli/.ai-dev/dependencies.json +0 -66
  321. package/test-projects/python-cli/.ai-dev/entrypoints.md +0 -4
  322. package/test-projects/python-cli/.ai-dev/files.json +0 -184
  323. package/test-projects/python-cli/.ai-dev/graph/knowledge-graph.json +0 -83
  324. package/test-projects/python-cli/.ai-dev/graph/module-graph.json +0 -31
  325. package/test-projects/python-cli/.ai-dev/graph/symbol-graph.json +0 -358
  326. package/test-projects/python-cli/.ai-dev/graph/symbol-references.json +0 -11
  327. package/test-projects/python-cli/.ai-dev/index-state.json +0 -259
  328. package/test-projects/python-cli/.ai-dev/modules.json +0 -21
  329. package/test-projects/python-cli/.ai-dev/project.json +0 -15
  330. package/test-projects/python-cli/.ai-dev/repo_map.json +0 -367
  331. package/test-projects/python-cli/.ai-dev/repo_map.md +0 -93
  332. package/test-projects/python-cli/.ai-dev/schema.json +0 -5
  333. package/test-projects/python-cli/.ai-dev/summary.md +0 -14
  334. package/test-projects/python-cli/.ai-dev/symbols.json +0 -1
  335. package/test-projects/python-cli/.ai-dev/tech_stack.md +0 -32
  336. package/test-projects/python-cli/.ai-dev/tools.json +0 -10
  337. package/test-projects/python-cli/__init__.py +0 -1
  338. package/test-projects/python-cli/cli/__init__.py +0 -1
  339. package/test-projects/python-cli/cli/add_command.py +0 -6
  340. package/test-projects/python-cli/cli/list_command.py +0 -7
  341. package/test-projects/python-cli/cli/remove_command.py +0 -6
  342. package/test-projects/python-cli/main.py +0 -34
  343. package/test-projects/python-cli/models/__init__.py +0 -2
  344. package/test-projects/python-cli/models/task.py +0 -19
  345. package/test-projects/python-cli/models/task_repository.py +0 -44
  346. package/test-projects/rails-app/.ai-dev/ai_context.md +0 -94
  347. package/test-projects/rails-app/.ai-dev/ai_rules.md +0 -47
  348. package/test-projects/rails-app/.ai-dev/architecture.md +0 -49
  349. package/test-projects/rails-app/.ai-dev/cache.json +0 -193
  350. package/test-projects/rails-app/.ai-dev/context/features/app.json +0 -24
  351. package/test-projects/rails-app/.ai-dev/context/features/config.json +0 -13
  352. package/test-projects/rails-app/.ai-dev/context/flows/application.json +0 -9
  353. package/test-projects/rails-app/.ai-dev/context/flows/application_.json +0 -9
  354. package/test-projects/rails-app/.ai-dev/context/flows/comments.json +0 -11
  355. package/test-projects/rails-app/.ai-dev/context/flows/comments_.json +0 -11
  356. package/test-projects/rails-app/.ai-dev/context/flows/posts.json +0 -11
  357. package/test-projects/rails-app/.ai-dev/context/flows/posts_.json +0 -11
  358. package/test-projects/rails-app/.ai-dev/context/flows/routes.json +0 -9
  359. package/test-projects/rails-app/.ai-dev/context/flows/users.json +0 -11
  360. package/test-projects/rails-app/.ai-dev/context/flows/users_.json +0 -11
  361. package/test-projects/rails-app/.ai-dev/conventions.md +0 -51
  362. package/test-projects/rails-app/.ai-dev/dependencies.json +0 -6
  363. package/test-projects/rails-app/.ai-dev/entrypoints.md +0 -4
  364. package/test-projects/rails-app/.ai-dev/files.json +0 -239
  365. package/test-projects/rails-app/.ai-dev/graph/knowledge-graph.json +0 -130
  366. package/test-projects/rails-app/.ai-dev/graph/module-graph.json +0 -27
  367. package/test-projects/rails-app/.ai-dev/graph/symbol-graph.json +0 -5
  368. package/test-projects/rails-app/.ai-dev/graph/symbol-references.json +0 -1
  369. package/test-projects/rails-app/.ai-dev/index-state.json +0 -336
  370. package/test-projects/rails-app/.ai-dev/modules.json +0 -26
  371. package/test-projects/rails-app/.ai-dev/project.json +0 -22
  372. package/test-projects/rails-app/.ai-dev/repo_map.json +0 -486
  373. package/test-projects/rails-app/.ai-dev/repo_map.md +0 -117
  374. package/test-projects/rails-app/.ai-dev/schema.json +0 -5
  375. package/test-projects/rails-app/.ai-dev/summary.md +0 -13
  376. package/test-projects/rails-app/.ai-dev/symbols.json +0 -1
  377. package/test-projects/rails-app/.ai-dev/tech_stack.md +0 -32
  378. package/test-projects/rails-app/.ai-dev/tools.json +0 -10
  379. package/test-projects/rails-app/Gemfile +0 -38
  380. package/test-projects/rails-app/README.md +0 -140
  381. package/test-projects/rails-app/Rakefile +0 -8
  382. package/test-projects/rails-app/app/controllers/api/comments_controller.rb +0 -75
  383. package/test-projects/rails-app/app/controllers/api/posts_controller.rb +0 -68
  384. package/test-projects/rails-app/app/controllers/api/users_controller.rb +0 -54
  385. package/test-projects/rails-app/app/controllers/application_controller.rb +0 -31
  386. package/test-projects/rails-app/app/models/comment.rb +0 -34
  387. package/test-projects/rails-app/app/models/post.rb +0 -36
  388. package/test-projects/rails-app/app/models/user.rb +0 -28
  389. package/test-projects/rails-app/app/services/post_service.rb +0 -92
  390. package/test-projects/rails-app/app/services/user_service.rb +0 -76
  391. package/test-projects/rails-app/config/application.rb +0 -27
  392. package/test-projects/rails-app/config/environment.rb +0 -7
  393. package/test-projects/rails-app/config/routes.rb +0 -15
  394. package/test-projects/react-app/.ai-dev/ai_context.md +0 -96
  395. package/test-projects/react-app/.ai-dev/architecture.md +0 -39
  396. package/test-projects/react-app/.ai-dev/cache.json +0 -153
  397. package/test-projects/react-app/.ai-dev/context/features/src.json +0 -18
  398. package/test-projects/react-app/.ai-dev/context/flows/UsersPage.json +0 -14
  399. package/test-projects/react-app/.ai-dev/context/flows/dashboard.json +0 -9
  400. package/test-projects/react-app/.ai-dev/context/flows/login.json +0 -9
  401. package/test-projects/react-app/.ai-dev/context/flows/users.json +0 -9
  402. package/test-projects/react-app/.ai-dev/dependencies.json +0 -128
  403. package/test-projects/react-app/.ai-dev/entrypoints.md +0 -4
  404. package/test-projects/react-app/.ai-dev/files.json +0 -189
  405. package/test-projects/react-app/.ai-dev/graph/knowledge-graph.json +0 -112
  406. package/test-projects/react-app/.ai-dev/graph/module-graph.json +0 -31
  407. package/test-projects/react-app/.ai-dev/graph/symbol-graph.json +0 -868
  408. package/test-projects/react-app/.ai-dev/graph/symbol-references.json +0 -31
  409. package/test-projects/react-app/.ai-dev/index-state.json +0 -266
  410. package/test-projects/react-app/.ai-dev/modules.json +0 -17
  411. package/test-projects/react-app/.ai-dev/project.json +0 -16
  412. package/test-projects/react-app/.ai-dev/repo_map.json +0 -391
  413. package/test-projects/react-app/.ai-dev/repo_map.md +0 -94
  414. package/test-projects/react-app/.ai-dev/schema.json +0 -5
  415. package/test-projects/react-app/.ai-dev/summary.md +0 -13
  416. package/test-projects/react-app/.ai-dev/symbols.json +0 -1
  417. package/test-projects/react-app/.ai-dev/tools.json +0 -10
  418. package/test-projects/react-app/package.json +0 -16
  419. package/test-projects/react-app/src/App.tsx +0 -21
  420. package/test-projects/react-app/src/context/AuthContext.tsx +0 -41
  421. package/test-projects/react-app/src/hooks/useAuth.ts +0 -10
  422. package/test-projects/react-app/src/main.tsx +0 -10
  423. package/test-projects/react-app/src/pages/DashboardPage.tsx +0 -17
  424. package/test-projects/react-app/src/pages/LoginPage.tsx +0 -41
  425. package/test-projects/react-app/src/pages/UsersPage.tsx +0 -36
  426. package/test-projects/react-app/src/services/userService.ts +0 -37
  427. package/test-projects/salesforce-cli/.ai-dev/ai_context.md +0 -89
  428. package/test-projects/salesforce-cli/.ai-dev/ai_rules.md +0 -47
  429. package/test-projects/salesforce-cli/.ai-dev/architecture.md +0 -39
  430. package/test-projects/salesforce-cli/.ai-dev/cache.json +0 -125
  431. package/test-projects/salesforce-cli/.ai-dev/context/features/force-app.json +0 -14
  432. package/test-projects/salesforce-cli/.ai-dev/context/flows/account.json +0 -9
  433. package/test-projects/salesforce-cli/.ai-dev/context/flows/opportunity.json +0 -9
  434. package/test-projects/salesforce-cli/.ai-dev/conventions.md +0 -51
  435. package/test-projects/salesforce-cli/.ai-dev/dependencies.json +0 -6
  436. package/test-projects/salesforce-cli/.ai-dev/entrypoints.md +0 -4
  437. package/test-projects/salesforce-cli/.ai-dev/files.json +0 -154
  438. package/test-projects/salesforce-cli/.ai-dev/graph/knowledge-graph.json +0 -64
  439. package/test-projects/salesforce-cli/.ai-dev/graph/module-graph.json +0 -13
  440. package/test-projects/salesforce-cli/.ai-dev/graph/symbol-graph.json +0 -148
  441. package/test-projects/salesforce-cli/.ai-dev/graph/symbol-references.json +0 -1
  442. package/test-projects/salesforce-cli/.ai-dev/index-state.json +0 -217
  443. package/test-projects/salesforce-cli/.ai-dev/modules.json +0 -12
  444. package/test-projects/salesforce-cli/.ai-dev/project.json +0 -14
  445. package/test-projects/salesforce-cli/.ai-dev/repo_map.json +0 -328
  446. package/test-projects/salesforce-cli/.ai-dev/repo_map.md +0 -80
  447. package/test-projects/salesforce-cli/.ai-dev/schema.json +0 -5
  448. package/test-projects/salesforce-cli/.ai-dev/summary.md +0 -13
  449. package/test-projects/salesforce-cli/.ai-dev/symbols.json +0 -1
  450. package/test-projects/salesforce-cli/.ai-dev/tech_stack.md +0 -31
  451. package/test-projects/salesforce-cli/.ai-dev/tools.json +0 -10
  452. package/test-projects/salesforce-cli/.forceignore +0 -27
  453. package/test-projects/salesforce-cli/force-app/main/default/classes/AccountController.cls +0 -24
  454. package/test-projects/salesforce-cli/force-app/main/default/classes/OpportunityController.cls +0 -25
  455. package/test-projects/salesforce-cli/force-app/main/default/objects/Project__c.object.xml +0 -45
  456. package/test-projects/salesforce-cli/force-app/main/default/triggers/AccountTrigger.trigger +0 -33
  457. package/test-projects/salesforce-cli/sfdx-project.json +0 -11
  458. package/test-projects/spring-boot-app/.ai-dev/ai_context.md +0 -91
  459. package/test-projects/spring-boot-app/.ai-dev/ai_rules.md +0 -48
  460. package/test-projects/spring-boot-app/.ai-dev/architecture.md +0 -39
  461. package/test-projects/spring-boot-app/.ai-dev/cache.json +0 -173
  462. package/test-projects/spring-boot-app/.ai-dev/context/features/src.json +0 -26
  463. package/test-projects/spring-boot-app/.ai-dev/context/flows/PostController.json +0 -19
  464. package/test-projects/spring-boot-app/.ai-dev/context/flows/UserController.json +0 -19
  465. package/test-projects/spring-boot-app/.ai-dev/context/flows/comment.json +0 -11
  466. package/test-projects/spring-boot-app/.ai-dev/context/flows/post.json +0 -14
  467. package/test-projects/spring-boot-app/.ai-dev/context/flows/user.json +0 -14
  468. package/test-projects/spring-boot-app/.ai-dev/conventions.md +0 -52
  469. package/test-projects/spring-boot-app/.ai-dev/dependencies.json +0 -326
  470. package/test-projects/spring-boot-app/.ai-dev/entrypoints.md +0 -4
  471. package/test-projects/spring-boot-app/.ai-dev/files.json +0 -214
  472. package/test-projects/spring-boot-app/.ai-dev/graph/knowledge-graph.json +0 -231
  473. package/test-projects/spring-boot-app/.ai-dev/graph/module-graph.json +0 -22
  474. package/test-projects/spring-boot-app/.ai-dev/graph/symbol-graph.json +0 -794
  475. package/test-projects/spring-boot-app/.ai-dev/graph/symbol-references.json +0 -70
  476. package/test-projects/spring-boot-app/.ai-dev/index-state.json +0 -301
  477. package/test-projects/spring-boot-app/.ai-dev/modules.json +0 -21
  478. package/test-projects/spring-boot-app/.ai-dev/project.json +0 -17
  479. package/test-projects/spring-boot-app/.ai-dev/repo_map.json +0 -461
  480. package/test-projects/spring-boot-app/.ai-dev/repo_map.md +0 -109
  481. package/test-projects/spring-boot-app/.ai-dev/schema.json +0 -5
  482. package/test-projects/spring-boot-app/.ai-dev/summary.md +0 -12
  483. package/test-projects/spring-boot-app/.ai-dev/symbols.json +0 -1
  484. package/test-projects/spring-boot-app/.ai-dev/tech_stack.md +0 -32
  485. package/test-projects/spring-boot-app/.ai-dev/tools.json +0 -10
  486. package/test-projects/spring-boot-app/.classpath +0 -57
  487. package/test-projects/spring-boot-app/.factorypath +0 -69
  488. package/test-projects/spring-boot-app/.project +0 -34
  489. package/test-projects/spring-boot-app/.settings/org.eclipse.core.resources.prefs +0 -4
  490. package/test-projects/spring-boot-app/.settings/org.eclipse.jdt.apt.core.prefs +0 -4
  491. package/test-projects/spring-boot-app/.settings/org.eclipse.jdt.core.prefs +0 -10
  492. package/test-projects/spring-boot-app/.settings/org.eclipse.m2e.core.prefs +0 -4
  493. package/test-projects/spring-boot-app/README.md +0 -122
  494. package/test-projects/spring-boot-app/pom.xml +0 -79
  495. package/test-projects/spring-boot-app/src/main/java/com/example/demo/DemoApplication.java +0 -12
  496. package/test-projects/spring-boot-app/src/main/java/com/example/demo/controllers/CommentController.java +0 -89
  497. package/test-projects/spring-boot-app/src/main/java/com/example/demo/controllers/PostController.java +0 -92
  498. package/test-projects/spring-boot-app/src/main/java/com/example/demo/controllers/UserController.java +0 -84
  499. package/test-projects/spring-boot-app/src/main/java/com/example/demo/models/Comment.java +0 -38
  500. package/test-projects/spring-boot-app/src/main/java/com/example/demo/models/Post.java +0 -56
  501. package/test-projects/spring-boot-app/src/main/java/com/example/demo/models/User.java +0 -44
  502. package/test-projects/spring-boot-app/src/main/java/com/example/demo/repositories/CommentRepository.java +0 -21
  503. package/test-projects/spring-boot-app/src/main/java/com/example/demo/repositories/PostRepository.java +0 -18
  504. package/test-projects/spring-boot-app/src/main/java/com/example/demo/repositories/UserRepository.java +0 -15
  505. package/test-projects/spring-boot-app/src/main/java/com/example/demo/services/PostService.java +0 -83
  506. package/test-projects/spring-boot-app/src/main/java/com/example/demo/services/UserService.java +0 -62
  507. package/test-projects/spring-boot-app/src/main/resources/application.properties +0 -22
  508. package/test-projects/spring-boot-app/target/classes/com/example/demo/DemoApplication.class +0 -0
  509. package/test-projects/spring-boot-app/target/classes/com/example/demo/controllers/CommentController$CommentCreateRequest.class +0 -0
  510. package/test-projects/spring-boot-app/target/classes/com/example/demo/controllers/CommentController$CommentUpdateRequest.class +0 -0
  511. package/test-projects/spring-boot-app/target/classes/com/example/demo/controllers/CommentController.class +0 -0
  512. package/test-projects/spring-boot-app/target/classes/com/example/demo/controllers/PostController$PostCreateRequest.class +0 -0
  513. package/test-projects/spring-boot-app/target/classes/com/example/demo/controllers/PostController$PostUpdateRequest.class +0 -0
  514. package/test-projects/spring-boot-app/target/classes/com/example/demo/controllers/PostController.class +0 -0
  515. package/test-projects/spring-boot-app/target/classes/com/example/demo/controllers/UserController$UserCreateRequest.class +0 -0
  516. package/test-projects/spring-boot-app/target/classes/com/example/demo/controllers/UserController$UserUpdateRequest.class +0 -0
  517. package/test-projects/spring-boot-app/target/classes/com/example/demo/controllers/UserController.class +0 -0
  518. package/test-projects/spring-boot-app/target/classes/com/example/demo/models/Comment.class +0 -0
  519. package/test-projects/spring-boot-app/target/classes/com/example/demo/models/Post.class +0 -0
  520. package/test-projects/spring-boot-app/target/classes/com/example/demo/models/User.class +0 -0
  521. package/test-projects/spring-boot-app/target/classes/com/example/demo/repositories/CommentRepository.class +0 -0
  522. package/test-projects/spring-boot-app/target/classes/com/example/demo/repositories/PostRepository.class +0 -0
  523. package/test-projects/spring-boot-app/target/classes/com/example/demo/repositories/UserRepository.class +0 -0
  524. package/test-projects/spring-boot-app/target/classes/com/example/demo/services/PostService.class +0 -0
  525. package/test-projects/spring-boot-app/target/classes/com/example/demo/services/UserService.class +0 -0
  526. package/tests/e2e/run-e2e.sh +0 -88
  527. /package/{test-projects/django-app/.ai-dev → ai-context}/tools.json +0 -0
package/CONTRIBUTING.md DELETED
@@ -1,89 +0,0 @@
1
- # Contributing to ai-first
2
-
3
- Thank you for your interest in contributing!
4
-
5
- ## Development Setup
6
-
7
- ```bash
8
- # Clone the repository
9
- git clone https://github.com/julianperezpesce/ai-first.git
10
- cd ai-first
11
-
12
- # Install dependencies
13
- npm install
14
-
15
- # Build
16
- npm run build
17
-
18
- # Run
19
- npm run run
20
- # or
21
- node dist/commands/ai-first.js
22
- ```
23
-
24
- ## Project Structure
25
-
26
- ```
27
- ai-first/
28
- ├── src/
29
- │ ├── analyzers/ # Analysis modules
30
- │ │ ├── architecture.ts
31
- │ │ ├── conventions.ts
32
- │ │ ├── entrypoints.ts
33
- │ │ └── techStack.ts
34
- │ ├── commands/ # CLI commands
35
- │ │ └── ai-first.ts
36
- │ ├── core/ # Core functionality
37
- │ │ ├── repoMapper.ts
38
- │ │ └── repoScanner.ts
39
- │ └── utils/ # Utilities
40
- │ └── fileUtils.ts
41
- ├── dist/ # Compiled JavaScript
42
- ├── package.json
43
- └── tsconfig.json
44
- ```
45
-
46
- ## Adding New Analyzers
47
-
48
- To add a new analyzer:
49
-
50
- 1. Create a new file in `src/analyzers/`
51
- 2. Export functions for detection and file generation
52
- 3. Import and use in `src/commands/ai-first.ts`
53
-
54
- Example:
55
- ```typescript
56
- // src/analyzers/myAnalyzer.ts
57
- import { FileInfo } from "../core/repoScanner.js";
58
-
59
- export interface MyAnalysis {
60
- // Define your output type
61
- }
62
-
63
- export function analyzeMyFeature(files: FileInfo[]): MyAnalysis {
64
- // Your analysis logic
65
- return { /* ... */ };
66
- }
67
-
68
- export function generateMyFeatureFile(analysis: MyAnalysis): string {
69
- return "# My Analysis\n" + /* ... */;
70
- }
71
- ```
72
-
73
- ## Running Tests
74
-
75
- Currently there are no tests. Contributions with tests are welcome!
76
-
77
- ## Publishing to npm
78
-
79
- ```bash
80
- # Update version in package.json
81
- npm version patch
82
-
83
- # Publish
84
- npm publish
85
- ```
86
-
87
- ## License
88
-
89
- MIT
package/FLOW.md DELETED
@@ -1,129 +0,0 @@
1
- # Flow Diagram
2
-
3
- ```
4
- ┌─────────────────────────────────────────────────────────────┐
5
- │ ai-first CLI │
6
- └─────────────────────────────────────────────────────────────┘
7
-
8
-
9
- ┌─────────────────────────────────────────────────────────────┐
10
- │ 1. scanRepo(rootDir) │
11
- │ - Recursively scan directory │
12
- │ - Filter by includeExtensions │
13
- │ - Return: FileInfo[] │
14
- └─────────────────────────────────────────────────────────────┘
15
-
16
-
17
- ┌─────────────────────────────────────────────────────────────┐
18
- │ 2. Create output directory (default: ./ai) │
19
- └─────────────────────────────────────────────────────────────┘
20
-
21
- ┌───────────────┼───────────────┐
22
- ▼ ▼ ▼
23
- ┌─────────────────┐ ┌───────────┐ ┌─────────────┐
24
- │ 3a. repoMapper │ │3b. techStack│ │3c. architecture│
25
- │ - repo_map.md │ │ - tech_stack│ │ - architecture│
26
- │ - repo_map.json │ │ .md │ │ .md │
27
- │ - summary.md │ │ │ │ │
28
- └─────────────────┘ └─────────────┘ └─────────────┘
29
- │ │ │
30
- └───────────────┼───────────────┘
31
-
32
- ┌─────────────────────────────────────────────────────────┐
33
- │ 4. Analyzers Pipeline │
34
- │ ┌──────────────┐ ┌──────────────┐ ┌──────────────────┐ │
35
- │ │entrypoints │ │conventions │ │symbols (NEW) │ │
36
- │ │.md │ │.md │ │.json (NEW) │ │
37
- └──────────────┘ └──────────────┘ └──────────────────┘ │
38
- ┌──────────────────┐ ┌──────────────┐ │
39
- │dependencies (NEW)│ │ai_rules (NEW)│ │
40
- │.json │ │.md │ │
41
- └──────────────────┘ └──────────────┘ │
42
-
43
-
44
- ┌─────────────────────────────────────────────────────────┐
45
- │ 5. generateUnifiedContext() │
46
- │ - Combines all analysis into ai_context.md │
47
- └─────────────────────────────────────────────────────────┘
48
-
49
-
50
- ┌─────────────────────────────────────────────────────────┐
51
- │ 6. Output Files │
52
- │ ai/ │
53
- │ ├── ai_context.md ← UNIFIED (most important!) │
54
- │ ├── repo_map.md │
55
- │ ├── repo_map.json ← NEW │
56
- │ ├── summary.md │
57
- │ ├── architecture.md │
58
- │ ├── tech_stack.md │
59
- │ ├── entrypoints.md │
60
- │ ├── conventions.md │
61
- │ ├── symbols.json ← NEW │
62
- │ ├── dependencies.json ← NEW │
63
- │ └── ai_rules.md ← NEW │
64
- └─────────────────────────────────────────────────────────┘
65
- ```
66
-
67
- ---
68
-
69
- ## Execution Flow
70
-
71
- ```
72
- User runs: ai-first init
73
-
74
-
75
-
76
- ┌────────────────────────────────────┐
77
- │ CLI Entry Point │
78
- │ - Parse args (--root, --output) │
79
- │ - Handle 'init' command │
80
- └────────────────────────────────────┘
81
-
82
-
83
- ┌────────────────────────────────────┐
84
- │ runAIFirst(options) │
85
- │ - rootDir: process.cwd() │
86
- │ - outputDir: ./ai │
87
- └────────────────────────────────────┘
88
-
89
-
90
- ┌────────────────────────────────────┐
91
- │ scanRepo(rootDir) │
92
- │ Returns: { files: FileInfo[] } │
93
- └────────────────────────────────────┘
94
-
95
-
96
- ┌────────────────────────────────────┐
97
- │ For each analyzer: │
98
- │ 1. analyze(files, rootDir) │
99
- │ 2. generateXxxFile(result) │
100
- │ 3. writeFile(outputPath, content) │
101
- └────────────────────────────────────┘
102
-
103
-
104
- ┌────────────────────────────────────┐
105
- │ generateUnifiedContext() │
106
- │ - Combines all results │
107
- │ - Creates ai_context.md │
108
- └────────────────────────────────────┘
109
-
110
-
111
- ┌────────────────────────────────────┐
112
- │ Return: { success, filesCreated } │
113
- └────────────────────────────────────┘
114
- ```
115
-
116
- ---
117
-
118
- ## Analyzer Details
119
-
120
- | Analyzer | Output | Description |
121
- |----------|--------|-------------|
122
- | `repoMapper` | repo_map.md, repo_map.json, summary.md | Directory tree & file stats |
123
- | `techStack` | tech_stack.md | Languages, frameworks, package managers |
124
- | `architecture` | architecture.md | MVC, Clean Architecture, Hexagonal, etc. |
125
- | `entrypoints` | entrypoints.md | CLI, API, server entry points |
126
- | `conventions` | conventions.md | Naming, testing, linting conventions |
127
- | `symbols` | symbols.json | Functions, classes, interfaces (NEW) |
128
- | `dependencies` | dependencies.json | Import graph (NEW) |
129
- | `aiRules` | ai_rules.md | Guidelines for AI (NEW) |
package/install.sh DELETED
@@ -1,188 +0,0 @@
1
- #!/usr/bin/env bash
2
- # af (AI-First) Installer
3
- # Usage: curl -fsSL https://raw.githubusercontent.com/julianperezpesce/ai-first/master/install.sh | bash
4
- set -e
5
-
6
- AF_VERSION="${AF_VERSION:-1.2.2}"
7
-
8
- RED='\033[0;31m'
9
- GREEN='\033[0;32m'
10
- YELLOW='\033[1;33m'
11
- BLUE='\033[0;34m'
12
- NC='\033[0m'
13
-
14
- log_info() { echo -e "${GREEN}✓${NC} $1"; }
15
- log_warn() { echo -e "${YELLOW}⚠${NC} $1"; }
16
- log_error() { echo -e "${RED}✗${NC} $1"; }
17
- log_step() { echo -e "${BLUE}→${NC} $1"; }
18
-
19
- # Detect npm's global bin directory
20
- get_npm_global_bin() {
21
- npm config get prefix --global 2>/dev/null
22
- }
23
-
24
- # Try to create symlink in a PATH directory
25
- setup_symlink() {
26
- local src="$1"
27
- local name="af"
28
-
29
- # Try /usr/local/bin first (standard)
30
- if [ -w /usr/local/bin ] 2>/dev/null; then
31
- ln -sf "$src" /usr/local/bin/$name
32
- echo "/usr/local/bin/$name"
33
- return 0
34
- fi
35
-
36
- # Try ~/.local/bin (Freedesktop standard)
37
- if [ -w "$HOME/.local/bin" ] 2>/dev/null || mkdir -p "$HOME/.local/bin" 2>/dev/null; then
38
- ln -sf "$src" "$HOME/.local/bin/$name"
39
- echo "$HOME/.local/bin/$name"
40
- return 0
41
- fi
42
-
43
- # Try ~/bin (legacy)
44
- if [ -w "$HOME/bin" ] 2>/dev/null || mkdir -p "$HOME/bin" 2>/dev/null; then
45
- ln -sf "$src" "$HOME/bin/$name"
46
- echo "$HOME/bin/$name"
47
- return 0
48
- fi
49
-
50
- return 1
51
- }
52
-
53
- # Add directory to PATH in shell RC if not already present
54
- ensure_path() {
55
- local dir="$1"
56
- local rcfile=""
57
-
58
- # Find the active shell RC file
59
- if [ -n "$ZSH_VERSION" ]; then
60
- rcfile="$HOME/.zshrc"
61
- elif [ -n "$BASH_VERSION" ]; then
62
- rcfile="$HOME/.bashrc"
63
- else
64
- rcfile="$HOME/.profile"
65
- fi
66
-
67
- # Check if dir is already in PATH
68
- if echo "$PATH" | tr ':' '\n' | grep -qx "$dir"; then
69
- return 0
70
- fi
71
-
72
- # Check if already added in RC
73
- if [ -f "$rcfile" ] && grep -q "$dir" "$rcfile" 2>/dev/null; then
74
- return 0
75
- fi
76
-
77
- # Add to RC
78
- echo "" >> "$rcfile"
79
- echo "# Added by ai-first-cli installer" >> "$rcfile"
80
- echo "export PATH=\"$dir:\$PATH\"" >> "$rcfile"
81
-
82
- log_warn "Added $dir to PATH in $rcfile"
83
- log_warn "Run: source $rcfile"
84
- }
85
-
86
- check_node() {
87
- if ! command -v node &> /dev/null; then
88
- log_error "Node.js not installed. Install Node.js 18+ first: https://nodejs.org"
89
- exit 1
90
- fi
91
- NODE_VERSION=$(node -v | cut -d'v' -f2 | cut -d'.' -f1)
92
- if [ "$NODE_VERSION" -lt 18 ]; then
93
- log_error "Node.js 18+ required. Current: $(node -v)"
94
- exit 1
95
- fi
96
- log_info "Node.js $(node -v) detected"
97
- }
98
-
99
- install_af() {
100
- log_step "Installing af@${AF_VERSION}..."
101
- npm install -g "ai-first-cli@${AF_VERSION}" 2>&1
102
- log_info "npm install completed"
103
- }
104
-
105
- find_af_binary() {
106
- # Find the af binary in npm's global bin directory
107
- local prefix
108
- prefix=$(npm config get prefix --global 2>/dev/null || npm config get prefix 2>/dev/null)
109
-
110
- if [ -n "$prefix" ] && [ -f "$prefix/bin/af" ]; then
111
- echo "$prefix/bin/af"
112
- return 0
113
- fi
114
-
115
- if [ -n "$prefix" ] && [ -f "$prefix/bin/ai-first" ]; then
116
- echo "$prefix/bin/ai-first"
117
- return 0
118
- fi
119
-
120
- # Try common locations
121
- for dir in "$prefix/bin" "$HOME/.npm-global/bin" "/usr/local/bin" "$HOME/.local/bin" "$HOME/bin"; do
122
- if [ -f "$dir/af" ]; then
123
- echo "$dir/af"
124
- return 0
125
- fi
126
- if [ -f "$dir/ai-first" ]; then
127
- echo "$dir/ai-first"
128
- return 0
129
- fi
130
- done
131
-
132
- return 1
133
- }
134
-
135
- verify_install() {
136
- log_step "Verifying installation..."
137
-
138
- local af_path
139
- af_path=$(find_af_binary) || {
140
- log_error "Could not find af binary after installation"
141
- log_error "npm prefix: $(npm config get prefix 2>/dev/null)"
142
- exit 1
143
- }
144
-
145
- log_info "Found af at: $af_path"
146
-
147
- # Try to create symlink in PATH
148
- local symlink
149
- if symlink=$(setup_symlink "$af_path"); then
150
- log_info "Created symlink: $symlink"
151
- else
152
- log_warn "Could not create symlink in standard PATH location"
153
- # Try adding the binary's directory to PATH
154
- local bindir
155
- bindir=$(dirname "$af_path")
156
- ensure_path "$bindir"
157
- fi
158
-
159
- echo ""
160
- echo " ╔══════════════════════════════════════╗"
161
- echo " ║ af installation complete! ║"
162
- echo " ╚══════════════════════════════════════╝"
163
- echo ""
164
- echo " Commands:"
165
- echo " af init Initialize AI context"
166
- echo " af index Generate SQLite index"
167
- echo " af doctor Check repository health"
168
- echo " af --help Show all commands"
169
- echo ""
170
- echo " Quick start:"
171
- echo " af init # Generate context files"
172
- echo " af doctor # Check repository health"
173
- echo ""
174
- }
175
-
176
- echo ""
177
- echo " ██╗ ██╗ ██████╗ ████████╗███████╗"
178
- echo " ██║ ██║██╔═══██╗╚══██╔══╝██╔════╝"
179
- echo " ███████║██║ ██║ ██║ █████╗ "
180
- echo " ██╔══██║██║ ██║ ██║ ██╔══╝ "
181
- echo " ██║ ██║╚██████╔╝ ██║ ███████╗"
182
- echo " ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚══════╝"
183
- echo " AI-First CLI Installer v${AF_VERSION}"
184
- echo ""
185
-
186
- check_node
187
- install_af
188
- verify_install
package/run-all-tests.sh DELETED
@@ -1,184 +0,0 @@
1
- #!/bin/bash
2
- #
3
- # MASTER TEST SCRIPT - ai-first-cli
4
- # Ejecuta TODOS los tests: unitarios + funcionales + integracion
5
- #
6
-
7
- set -e
8
-
9
- PROJECT_ROOT="$(cd "$(dirname "$0")" && pwd)"
10
- DIST_DIR="$PROJECT_ROOT/dist"
11
- CLI="$DIST_DIR/commands/ai-first.js"
12
-
13
- # Colors
14
- RED='\033[0;31m'
15
- GREEN='\033[0;32m'
16
- YELLOW='\033[1;33m'
17
- BLUE='\033[0;34m'
18
- NC='\033[0m'
19
-
20
- TESTS_PASSED=0
21
- TESTS_FAILED=0
22
-
23
- log_info() {
24
- echo -e "${BLUE}[INFO]${NC} $1"
25
- }
26
-
27
- log_success() {
28
- echo -e "${GREEN}[PASS]${NC} $1"
29
- ((TESTS_PASSED++))
30
- }
31
-
32
- log_error() {
33
- echo -e "${RED}[FAIL]${NC} $1"
34
- ((TESTS_FAILED++))
35
- }
36
-
37
- # ============================================
38
- # PHASE 1: BUILD
39
- # ============================================
40
- echo ""
41
- echo "==================================================="
42
- echo "PHASE 1: BUILD"
43
- echo "==================================================="
44
- echo ""
45
-
46
- log_info "Building TypeScript..."
47
- if npm run build > /dev/null 2>&1; then
48
- log_success "TypeScript build"
49
- else
50
- log_error "TypeScript build FAILED"
51
- exit 1
52
- fi
53
-
54
- # ============================================
55
- # PHASE 2: UNIT TESTS (Vitest)
56
- # ============================================
57
- echo ""
58
- echo "==================================================="
59
- echo "PHASE 2: UNIT TESTS (Vitest)"
60
- echo "==================================================="
61
- echo ""
62
-
63
- log_info "Running vitest..."
64
- if npx vitest run 2>&1 | grep -q "passed"; then
65
- # Extract test count
66
- VITEST_OUTPUT=$(npx vitest run 2>&1)
67
- TEST_COUNT=$(echo "$VITEST_OUTPUT" | grep -oE '[0-9]+ passed' | head -1 | grep -oE '[0-9]+')
68
- log_success "Unit tests: $TEST_COUNT passed"
69
- else
70
- log_error "Unit tests FAILED"
71
- fi
72
-
73
- # ============================================
74
- # PHASE 3: FUNCTIONAL TESTS
75
- # ============================================
76
- echo ""
77
- echo "==================================================="
78
- echo "PHASE 3: FUNCTIONAL TESTS (11 Adapters)"
79
- echo "==================================================="
80
- echo ""
81
-
82
- ADAPTERS="django-app laravel-app fastapi-app flask-app rails-app spring-boot-app nestjs-backend express-api react-app salesforce-cli python-cli"
83
- SYMBOLS_OK=0
84
-
85
- log_info "Testing symbol extraction..."
86
- for adapter in $ADAPTERS; do
87
- PROJECT_DIR="$PROJECT_ROOT/test-projects/$adapter"
88
- if [ -f "$PROJECT_DIR/ai-context/symbols.json" ]; then
89
- SYMBOL_COUNT=$(cat "$PROJECT_DIR/ai-context/symbols.json" | grep -o '"id"' | wc -l)
90
- if [ "$SYMBOL_COUNT" -gt 0 ]; then
91
- ((SYMBOLS_OK++))
92
- log_success "$adapter: $SYMBOL_COUNT symbols"
93
- else
94
- log_error "$adapter: 0 symbols"
95
- fi
96
- else
97
- log_error "$adapter: symbols.json not found"
98
- fi
99
- done
100
-
101
- if [ "$SYMBOLS_OK" -eq 11 ]; then
102
- log_success "All 11 adapters have symbols > 0"
103
- else
104
- log_error "Only $SYMBOLS_OK/11 adapters have symbols"
105
- fi
106
-
107
- # ============================================
108
- # PHASE 4: INTEGRATION TESTS
109
- # ============================================
110
- echo ""
111
- echo "==================================================="
112
- echo "PHASE 4: INTEGRATION TESTS"
113
- echo "==================================================="
114
- echo ""
115
-
116
- COMMANDS="init map index doctor"
117
- TOTAL_TESTS=0
118
- PASSED_TESTS=0
119
-
120
- for adapter in $ADAPTERS; do
121
- PROJECT_DIR="$PROJECT_ROOT/test-projects/$adapter"
122
-
123
- for cmd in $COMMANDS; do
124
- ((TOTAL_TESTS++))
125
-
126
- case $cmd in
127
- "init")
128
- if [ -d "$PROJECT_DIR/ai-context" ] && [ -f "$PROJECT_DIR/ai-context/symbols.json" ]; then
129
- ((PASSED_TESTS++))
130
- else
131
- log_error "$adapter: init failed"
132
- fi
133
- ;;
134
- "map")
135
- if [ -f "$PROJECT_DIR/ai-context/graph/module-graph.json" ]; then
136
- ((PASSED_TESTS++))
137
- else
138
- log_error "$adapter: map failed"
139
- fi
140
- ;;
141
- "index")
142
- if [ -f "$PROJECT_DIR/ai-context/index.db" ]; then
143
- ((PASSED_TESTS++))
144
- else
145
- log_error "$adapter: index failed"
146
- fi
147
- ;;
148
- "doctor")
149
- if [ -f "$PROJECT_DIR/ai-context/repo_map.json" ]; then
150
- ((PASSED_TESTS++))
151
- else
152
- log_error "$adapter: doctor failed"
153
- fi
154
- ;;
155
- esac
156
- done
157
- done
158
-
159
- log_info "Integration tests: $PASSED_TESTS/$TOTAL_TESTS passed"
160
- if [ "$PASSED_TESTS" -eq "$TOTAL_TESTS" ]; then
161
- log_success "All integration tests passed"
162
- else
163
- log_error "Some integration tests failed"
164
- fi
165
-
166
- # ============================================
167
- # FINAL SUMMARY
168
- # ============================================
169
- echo ""
170
- echo "==================================================="
171
- echo "FINAL SUMMARY"
172
- echo "==================================================="
173
- echo ""
174
- echo "Tests Passed: $TESTS_PASSED"
175
- echo "Tests Failed: $TESTS_FAILED"
176
- echo ""
177
-
178
- if [ "$TESTS_FAILED" -eq 0 ]; then
179
- echo -e "${GREEN}ALL TESTS PASSED!${NC}"
180
- exit 0
181
- else
182
- echo -e "${RED}SOME TESTS FAILED!${NC}"
183
- exit 1
184
- fi
@@ -1,92 +0,0 @@
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**: Markdown, JSON, Python
11
- - **Frameworks**: None
12
- - **Total Files**: 41
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**: Markdown, JSON, Python
30
-
31
- ---
32
-
33
- ## Architecture
34
-
35
- ## Architectural Pattern
36
- **Primary**: Flat / Simple Structure
37
-
38
- ## Key Modules
39
- | Module | Responsibility |
40
- |--------|----------------|
41
- | `README.md` | Contains 0 files |
42
- | `ai` | Contains 23 files |
43
- | `blog` | Contains 6 files |
44
- | `django_app` | Contains 4 files |
45
- | `manage.py` | Contains 0 files |
46
- | `users` | Contains 6 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
-
62
- ## Code Style
63
- - **Semicolons**: Required
64
-
65
-
66
- ---
67
-
68
- ## AI Rules
69
-
70
- - Language: Use Markdown, JSON, Python
71
- - Architecture: Follow Flat / Simple Structure pattern
72
- - File naming: PascalCase
73
-
74
- ---
75
-
76
- ## Repository Map
77
-
78
- See repo_map.md for the full structure.
79
-
80
- ---
81
-
82
- ## Notes for AI Assistants
83
-
84
- 1. Follow the established naming conventions (see conventions.md)
85
- 2. Use the detected frameworks and libraries
86
- 3. Target the correct entrypoints for modifications
87
- 4. Maintain the detected architecture patterns
88
- 5. Follow AI rules in ai_rules.md
89
-
90
- ---
91
-
92
- *Generated by ai-first*