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
@@ -1,177 +0,0 @@
1
- """Database models."""
2
-
3
- from datetime import datetime
4
- from werkzeug.security import generate_password_hash, check_password_hash
5
- from flask_login import UserMixin
6
- from app import db, login_manager
7
-
8
-
9
- class User(UserMixin, db.Model):
10
- """User model."""
11
-
12
- __tablename__ = "users"
13
-
14
- id = db.Column(db.Integer, primary_key=True)
15
- username = db.Column(db.String(80), unique=True, nullable=False, index=True)
16
- email = db.Column(db.String(120), unique=True, nullable=False, index=True)
17
- password_hash = db.Column(db.String(255))
18
- full_name = db.Column(db.String(100))
19
- bio = db.Column(db.Text)
20
- avatar = db.Column(db.String(200))
21
- website = db.Column(db.String(200))
22
- location = db.Column(db.String(100))
23
- is_active = db.Column(db.Boolean, default=True)
24
- is_admin = db.Column(db.Boolean, default=False)
25
- created_at = db.Column(db.DateTime, default=datetime.utcnow)
26
- last_seen = db.Column(db.DateTime, default=datetime.utcnow)
27
-
28
- # Relationships
29
- posts = db.relationship(
30
- "Post", backref="author", lazy="dynamic", cascade="all, delete-orphan"
31
- )
32
- comments = db.relationship(
33
- "Comment", backref="author", lazy="dynamic", cascade="all, delete-orphan"
34
- )
35
-
36
- def set_password(self, password):
37
- """Hash and set user password."""
38
- self.password_hash = generate_password_hash(password)
39
-
40
- def check_password(self, password):
41
- """Check if password matches."""
42
- return check_password_hash(self.password_hash, password)
43
-
44
- def update_last_seen(self):
45
- """Update last seen timestamp."""
46
- self.last_seen = datetime.utcnow()
47
- db.session.commit()
48
-
49
- def __repr__(self):
50
- return f"<User {self.username}>"
51
-
52
-
53
- class Post(db.Model):
54
- """Blog post model."""
55
-
56
- __tablename__ = "posts"
57
-
58
- id = db.Column(db.Integer, primary_key=True)
59
- title = db.Column(db.String(200), nullable=False)
60
- slug = db.Column(db.String(200), unique=True, nullable=False, index=True)
61
- content = db.Column(db.Text, nullable=False)
62
- summary = db.Column(db.String(500))
63
- is_published = db.Column(db.Boolean, default=False)
64
- published_at = db.Column(db.DateTime)
65
- view_count = db.Column(db.Integer, default=0)
66
- created_at = db.Column(db.DateTime, default=datetime.utcnow)
67
- updated_at = db.Column(
68
- db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow
69
- )
70
-
71
- # Foreign keys
72
- user_id = db.Column(db.Integer, db.ForeignKey("users.id"), nullable=False)
73
- category_id = db.Column(db.Integer, db.ForeignKey("categories.id"))
74
-
75
- # Relationships
76
- comments = db.relationship(
77
- "Comment", backref="post", lazy="dynamic", cascade="all, delete-orphan"
78
- )
79
- tags = db.relationship(
80
- "Tag", secondary="post_tags", backref="posts", lazy="dynamic"
81
- )
82
-
83
- def __repr__(self):
84
- return f"<Post {self.title}>"
85
-
86
- def publish(self):
87
- """Publish the post."""
88
- self.is_published = True
89
- self.published_at = datetime.utcnow()
90
- db.session.commit()
91
-
92
- def unpublish(self):
93
- """Unpublish the post."""
94
- self.is_published = False
95
- self.published_at = None
96
- db.session.commit()
97
-
98
- def increment_view(self):
99
- """Increment view count."""
100
- self.view_count += 1
101
- db.session.commit()
102
-
103
-
104
- class Comment(db.Model):
105
- """Comment model."""
106
-
107
- __tablename__ = "comments"
108
-
109
- id = db.Column(db.Integer, primary_key=True)
110
- content = db.Column(db.Text, nullable=False)
111
- is_approved = db.Column(db.Boolean, default=False)
112
- created_at = db.Column(db.DateTime, default=datetime.utcnow)
113
- updated_at = db.Column(
114
- db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow
115
- )
116
-
117
- # Foreign keys
118
- post_id = db.Column(db.Integer, db.ForeignKey("posts.id"), nullable=False)
119
- user_id = db.Column(db.Integer, db.ForeignKey("users.id"), nullable=False)
120
- parent_id = db.Column(db.Integer, db.ForeignKey("comments.id"))
121
-
122
- # Relationships
123
- replies = db.relationship(
124
- "Comment",
125
- backref=db.backref("parent", remote_side=[id]),
126
- lazy="dynamic",
127
- cascade="all, delete-orphan",
128
- )
129
-
130
- def __repr__(self):
131
- return f"<Comment {self.id}>"
132
-
133
-
134
- class Category(db.Model):
135
- """Category model."""
136
-
137
- __tablename__ = "categories"
138
-
139
- id = db.Column(db.Integer, primary_key=True)
140
- name = db.Column(db.String(100), unique=True, nullable=False)
141
- slug = db.Column(db.String(100), unique=True, nullable=False, index=True)
142
- description = db.Column(db.Text)
143
- created_at = db.Column(db.DateTime, default=datetime.utcnow)
144
-
145
- # Relationships
146
- posts = db.relationship("Post", backref="category", lazy="dynamic")
147
-
148
- def __repr__(self):
149
- return f"<Category {self.name}>"
150
-
151
-
152
- class Tag(db.Model):
153
- """Tag model."""
154
-
155
- __tablename__ = "tags"
156
-
157
- id = db.Column(db.Integer, primary_key=True)
158
- name = db.Column(db.String(50), unique=True, nullable=False)
159
- slug = db.Column(db.String(50), unique=True, nullable=False, index=True)
160
- created_at = db.Column(db.DateTime, default=datetime.utcnow)
161
-
162
- def __repr__(self):
163
- return f"<Tag {self.name}>"
164
-
165
-
166
- # Association table for many-to-many relationship
167
- post_tags = db.Table(
168
- "post_tags",
169
- db.Column("post_id", db.Integer, db.ForeignKey("posts.id"), primary_key=True),
170
- db.Column("tag_id", db.Integer, db.ForeignKey("tags.id"), primary_key=True),
171
- )
172
-
173
-
174
- @login_manager.user_loader
175
- def load_user(user_id):
176
- """Load user for Flask-Login."""
177
- return User.query.get(int(user_id))
@@ -1,64 +0,0 @@
1
- """Flask configuration."""
2
-
3
- import os
4
- from dotenv import load_dotenv
5
-
6
- basedir = os.path.abspath(os.path.dirname(__file__))
7
- load_dotenv(os.path.join(basedir, ".env"))
8
-
9
-
10
- class Config:
11
- """Base configuration."""
12
-
13
- SECRET_KEY = os.environ.get("SECRET_KEY") or "dev-secret-key-change-in-production"
14
- SQLALCHEMY_DATABASE_URI = os.environ.get(
15
- "DATABASE_URL"
16
- ) or "sqlite:///" + os.path.join(basedir, "app.db")
17
- SQLALCHEMY_TRACK_MODIFICATIONS = False
18
-
19
- # Mail settings
20
- MAIL_SERVER = os.environ.get("MAIL_SERVER")
21
- MAIL_PORT = int(os.environ.get("MAIL_PORT") or 25)
22
- MAIL_USE_TLS = os.environ.get("MAIL_USE_TLS", "false").lower() in [
23
- "true",
24
- "on",
25
- "1",
26
- ]
27
- MAIL_USERNAME = os.environ.get("MAIL_USERNAME")
28
- MAIL_PASSWORD = os.environ.get("MAIL_PASSWORD")
29
-
30
- # Pagination
31
- POSTS_PER_PAGE = 10
32
-
33
- @staticmethod
34
- def init_app(app):
35
- """Initialize application."""
36
- pass
37
-
38
-
39
- class DevelopmentConfig(Config):
40
- """Development configuration."""
41
-
42
- DEBUG = True
43
-
44
-
45
- class TestingConfig(Config):
46
- """Testing configuration."""
47
-
48
- TESTING = True
49
- SQLALCHEMY_DATABASE_URI = "sqlite://"
50
- WTF_CSRF_ENABLED = False
51
-
52
-
53
- class ProductionConfig(Config):
54
- """Production configuration."""
55
-
56
- DEBUG = False
57
-
58
-
59
- config = {
60
- "development": DevelopmentConfig,
61
- "testing": TestingConfig,
62
- "production": ProductionConfig,
63
- "default": DevelopmentConfig,
64
- }
@@ -1,10 +0,0 @@
1
- Flask>=3.0.0
2
- Flask-SQLAlchemy>=3.1.0
3
- Flask-Migrate>=4.0.0
4
- Flask-Login>=0.6.3
5
- Flask-WTF>=1.2.0
6
- WTForms>=3.1.0
7
- Flask-Mail>=0.9.1
8
- python-dotenv>=1.0.0
9
- Werkzeug>=3.0.0
10
- pytest>=7.4.0
@@ -1,97 +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, PHP
11
- - **Frameworks**: None
12
- - **Total Files**: 39
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, PHP
30
-
31
- **Package Managers**: Composer
32
-
33
- ---
34
-
35
- ## Architecture
36
-
37
- ## Architectural Pattern
38
- **Primary**: Flat / Simple Structure
39
-
40
- ## Layers Identified
41
- - Application
42
-
43
- ## Key Modules
44
- | Module | Responsibility |
45
- |--------|----------------|
46
- | `README.md` | Contains 0 files |
47
- | `ai` | Contains 27 files |
48
- | `app` | Contains 8 files |
49
- | `bootstrap` | Contains 1 files |
50
- | `composer.json` | Contains 0 files |
51
- | `routes` | API endpoints and request handling |
52
-
53
-
54
- ---
55
-
56
- ## Key Entrypoints
57
-
58
- ---
59
-
60
- ## Code Conventions
61
-
62
- ## Naming Conventions
63
- - **Files**: PascalCase
64
-
65
- ## Project Structure
66
-
67
- ## Code Style
68
- - **Semicolons**: Required
69
-
70
-
71
- ---
72
-
73
- ## AI Rules
74
-
75
- - Language: Use Markdown, JSON, PHP
76
- - Architecture: Follow Flat / Simple Structure pattern
77
- - File naming: PascalCase
78
-
79
- ---
80
-
81
- ## Repository Map
82
-
83
- See repo_map.md for the full structure.
84
-
85
- ---
86
-
87
- ## Notes for AI Assistants
88
-
89
- 1. Follow the established naming conventions (see conventions.md)
90
- 2. Use the detected frameworks and libraries
91
- 3. Target the correct entrypoints for modifications
92
- 4. Maintain the detected architecture patterns
93
- 5. Follow AI rules in ai_rules.md
94
-
95
- ---
96
-
97
- *Generated by ai-first*
@@ -1,47 +0,0 @@
1
- # AI Rules
2
-
3
- > Guidelines for AI assistants working on this project
4
-
5
- ---
6
-
7
- ## Guidelines
8
-
9
- - Language: Use Markdown, JSON, PHP
10
- - Architecture: Follow Flat / Simple Structure pattern
11
- - File naming: PascalCase
12
-
13
- ## Patterns
14
-
15
- - Layer structure: application
16
-
17
- ## Constraints
18
-
19
- - Always use semicolons
20
-
21
- ---
22
-
23
- ## Quick Reference
24
-
25
- | Category | Value |
26
- |----------|-------|
27
- | Language | Markdown, JSON, PHP |
28
- | Framework | N/A |
29
- | Architecture | Flat / Simple Structure |
30
- | Naming | PascalCase |
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*
@@ -1,60 +0,0 @@
1
- # Architecture
2
-
3
- ## Architectural Pattern
4
- **Primary**: Flat / Simple Structure
5
-
6
- ## Layers Identified
7
- - Application
8
-
9
- ## Key Modules
10
- | Module | Responsibility |
11
- |--------|----------------|
12
- | `README.md` | Contains 0 files |
13
- | `ai` | Contains 27 files |
14
- | `app` | Contains 8 files |
15
- | `bootstrap` | Contains 1 files |
16
- | `composer.json` | Contains 0 files |
17
- | `routes` | API endpoints and request handling |
18
-
19
-
20
- ## Module Details
21
-
22
- ### README.md
23
- - **Path**: `README.md`
24
- - **Responsibility**: Contains 0 files
25
-
26
-
27
- ### ai
28
- - **Path**: `ai`
29
- - **Responsibility**: Contains 27 files
30
-
31
-
32
- ### app
33
- - **Path**: `app`
34
- - **Responsibility**: Contains 8 files
35
-
36
-
37
- ### bootstrap
38
- - **Path**: `bootstrap`
39
- - **Responsibility**: Contains 1 files
40
-
41
-
42
- ### composer.json
43
- - **Path**: `composer.json`
44
- - **Responsibility**: Contains 0 files
45
-
46
-
47
- ### routes
48
- - **Path**: `routes`
49
- - **Responsibility**: API endpoints and request handling
50
-
51
-
52
-
53
- ## Recommendations
54
-
55
- - Keep the architecture consistent as the project grows
56
- - Follow the established layer structure
57
- - Use dependency injection to manage module relationships
58
-
59
- ---
60
- *Generated by ai-first*
@@ -1,161 +0,0 @@
1
- {
2
- "files": {
3
- "README.md": {
4
- "hash": "63be1b116847a4eacdb95be2aeab72c2",
5
- "mtime": 1773847786371.1416
6
- },
7
- "ai/ai_context.md": {
8
- "hash": "d86085a2b3eef3cc32c82e7ce97a97f0",
9
- "mtime": 1773861711501.377
10
- },
11
- "ai/ai_rules.md": {
12
- "hash": "5af221d928c5336c36d50512370227e3",
13
- "mtime": 1773861711501.377
14
- },
15
- "ai/architecture.md": {
16
- "hash": "975b4cc2773637c327c10fb1c7c488b1",
17
- "mtime": 1773861711496.377
18
- },
19
- "ai/cache.json": {
20
- "hash": "b753a30235e999795838c0d5cb154c66",
21
- "mtime": 1773854929730.0337
22
- },
23
- "ai/context/features/app.json": {
24
- "hash": "48ed0274a6a81b1c50955d402b3c2695",
25
- "mtime": 1773861711503.377
26
- },
27
- "ai/context/flows/category.json": {
28
- "hash": "437bcbd406d6d1288bd16213b6be4767",
29
- "mtime": 1773861711503.377
30
- },
31
- "ai/context/flows/comment.json": {
32
- "hash": "c2ebad5e63035bae2fde39e9f863e9cb",
33
- "mtime": 1773861711503.377
34
- },
35
- "ai/context/flows/post.json": {
36
- "hash": "f704d1cdb7823ec237964b578e9935b7",
37
- "mtime": 1773861711503.377
38
- },
39
- "ai/context/flows/unnamed.json": {
40
- "hash": "0d3ba6968f125bdddd28f7b908d4c9e0",
41
- "mtime": 1773854736911.5452
42
- },
43
- "ai/conventions.md": {
44
- "hash": "d11ac646a8916e3c6cc376f610368317",
45
- "mtime": 1773861711498.377
46
- },
47
- "ai/dependencies.json": {
48
- "hash": "038f80a99cbcc45991786b645398758e",
49
- "mtime": 1773861711500.377
50
- },
51
- "ai/entrypoints.md": {
52
- "hash": "34c8965a66697d9f1d428bb0904f5d8d",
53
- "mtime": 1773861711497.377
54
- },
55
- "ai/files.json": {
56
- "hash": "99914b932bd37a50b983c5e7c90ae93b",
57
- "mtime": 1773861711587.3784
58
- },
59
- "ai/graph/module-graph.json": {
60
- "hash": "08886f9cf775a3e58668f9c166b6f1ae",
61
- "mtime": 1773861711581.3782
62
- },
63
- "ai/graph/symbol-graph.json": {
64
- "hash": "79a11e66d1c9ebdbec716c31b9eb11db",
65
- "mtime": 1773861711587.3784
66
- },
67
- "ai/graph/symbol-references.json": {
68
- "hash": "99914b932bd37a50b983c5e7c90ae93b",
69
- "mtime": 1773861711587.3784
70
- },
71
- "ai/index-state.json": {
72
- "hash": "e7da95c458fbcbf04c7d84fc58575b42",
73
- "mtime": 1773854929730.0337
74
- },
75
- "ai/modules.json": {
76
- "hash": "2a7554702c3a5bcd823e4c634f012bb7",
77
- "mtime": 1773861711572.3782
78
- },
79
- "ai/project.json": {
80
- "hash": "be6566712acac8596c31c67859b10b67",
81
- "mtime": 1773861711504.377
82
- },
83
- "ai/repo-map.json": {
84
- "hash": "51544ee73ec58dc7f97b3a744757c4b6",
85
- "mtime": 1773861711573.3782
86
- },
87
- "ai/repo_map.json": {
88
- "hash": "f47a48aa19e41f4511993fad9befd33a",
89
- "mtime": 1773861711494.377
90
- },
91
- "ai/repo_map.md": {
92
- "hash": "3eb00bcd4302149b347a5007060b9929",
93
- "mtime": 1773861711494.377
94
- },
95
- "ai/schema.json": {
96
- "hash": "9b5cbdb447d61923413f6a64d7be0935",
97
- "mtime": 1773861711503.377
98
- },
99
- "ai/summary.md": {
100
- "hash": "af28a79156d8952da4b7c3970375a4db",
101
- "mtime": 1773861711495.377
102
- },
103
- "ai/symbols.json": {
104
- "hash": "6edde050dc3089a9e15bf3934226a7c4",
105
- "mtime": 1773861711499.377
106
- },
107
- "ai/tech_stack.md": {
108
- "hash": "698c9093c45a5cd2a2d6433067ee212a",
109
- "mtime": 1773861711497.377
110
- },
111
- "ai/tools.json": {
112
- "hash": "b1356e52c74e9b3b6a0d397b790a4968",
113
- "mtime": 1773861711504.377
114
- },
115
- "app/Http/Controllers/Api/CategoryController.php": {
116
- "hash": "eae63919c19317d673da75fae862ac1b",
117
- "mtime": 1773847799280.3206
118
- },
119
- "app/Http/Controllers/Api/CommentController.php": {
120
- "hash": "6dac8cef07f04ac0b0f20d76f4ca8348",
121
- "mtime": 1773847807128.4294
122
- },
123
- "app/Http/Controllers/Api/PostController.php": {
124
- "hash": "105dfc4a6f054cd19e4e1b14453c02ac",
125
- "mtime": 1773847736086.444
126
- },
127
- "app/Http/Controllers/Controller.php": {
128
- "hash": "42517d7dc7e3d0d3045b06ed842b565e",
129
- "mtime": 1773847748755.6199
130
- },
131
- "app/Models/Category.php": {
132
- "hash": "8982d52ddaad742bd03abfe7ee89cf5c",
133
- "mtime": 1773847700804.955
134
- },
135
- "app/Models/Comment.php": {
136
- "hash": "9efa05310b8bc1ca407c4db0aaf191f5",
137
- "mtime": 1773847664829.4568
138
- },
139
- "app/Models/Post.php": {
140
- "hash": "235a49b0fb8acb6d27ad0a76f9e67e46",
141
- "mtime": 1773847648272.2275
142
- },
143
- "app/Models/User.php": {
144
- "hash": "20cc08b187ba186031da18582a03c9a9",
145
- "mtime": 1773847685326.7407
146
- },
147
- "bootstrap/app.php": {
148
- "hash": "9ce9c023ef044aa0246244f18202bd9e",
149
- "mtime": 1773847620203.8389
150
- },
151
- "composer.json": {
152
- "hash": "1fd162ecf419a1aa7a24e660429335ee",
153
- "mtime": 1773847763470.8237
154
- },
155
- "routes/api.php": {
156
- "hash": "2ce87617f3fee458e3e5fda64a536495",
157
- "mtime": 1773847757081.7354
158
- }
159
- },
160
- "lastIndexed": "2026-03-18T19:21:51.588Z"
161
- }
@@ -1,21 +0,0 @@
1
- {
2
- "name": "app",
3
- "path": "app",
4
- "files": [
5
- "app/Http/Controllers/Api/CategoryController.php",
6
- "app/Http/Controllers/Api/CommentController.php",
7
- "app/Http/Controllers/Api/PostController.php",
8
- "app/Http/Controllers/Controller.php",
9
- "app/Models/Category.php",
10
- "app/Models/Comment.php",
11
- "app/Models/Post.php",
12
- "app/Models/User.php"
13
- ],
14
- "entrypoints": [
15
- "app/Http/Controllers/Api/CategoryController.php",
16
- "app/Http/Controllers/Api/CommentController.php",
17
- "app/Http/Controllers/Api/PostController.php",
18
- "app/Http/Controllers/Controller.php"
19
- ],
20
- "dependencies": []
21
- }
@@ -1,9 +0,0 @@
1
- {
2
- "name": "",
3
- "entrypoint": "app/Http/Controllers/Controller.php",
4
- "files": [
5
- "app/Http/Controllers/Controller.php"
6
- ],
7
- "depth": 0,
8
- "layers": []
9
- }
@@ -1,12 +0,0 @@
1
- {
2
- "name": "category",
3
- "entrypoint": "app/Http/Controllers/Api/CategoryController.php",
4
- "files": [
5
- "app/Http/Controllers/Api/CategoryController.php",
6
- "app/Models/Category.php"
7
- ],
8
- "depth": 1,
9
- "layers": [
10
- "api"
11
- ]
12
- }
@@ -1,12 +0,0 @@
1
- {
2
- "name": "comment",
3
- "entrypoint": "app/Http/Controllers/Api/CommentController.php",
4
- "files": [
5
- "app/Http/Controllers/Api/CommentController.php",
6
- "app/Models/Comment.php"
7
- ],
8
- "depth": 1,
9
- "layers": [
10
- "api"
11
- ]
12
- }
@@ -1,12 +0,0 @@
1
- {
2
- "name": "post",
3
- "entrypoint": "app/Http/Controllers/Api/PostController.php",
4
- "files": [
5
- "app/Http/Controllers/Api/PostController.php",
6
- "app/Models/Post.php"
7
- ],
8
- "depth": 1,
9
- "layers": [
10
- "api"
11
- ]
12
- }