atabey 0.0.1

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 (558) hide show
  1. package/ATABEY.md +258 -0
  2. package/LICENSE +21 -0
  3. package/README.md +190 -0
  4. package/bin/cli.js +26 -0
  5. package/bin/validate-agent-army.js +145 -0
  6. package/dist/framework-mcp/src/constants.d.ts +47 -0
  7. package/dist/framework-mcp/src/constants.js +65 -0
  8. package/dist/framework-mcp/src/constants.js.map +1 -0
  9. package/dist/framework-mcp/src/index.d.ts +1 -0
  10. package/dist/framework-mcp/src/index.js +120 -0
  11. package/dist/framework-mcp/src/index.js.map +1 -0
  12. package/dist/framework-mcp/src/tools/control_plane/locking.d.ts +9 -0
  13. package/dist/framework-mcp/src/tools/control_plane/locking.js +83 -0
  14. package/dist/framework-mcp/src/tools/control_plane/locking.js.map +1 -0
  15. package/dist/framework-mcp/src/tools/control_plane/registry.d.ts +6 -0
  16. package/dist/framework-mcp/src/tools/control_plane/registry.js +35 -0
  17. package/dist/framework-mcp/src/tools/control_plane/registry.js.map +1 -0
  18. package/dist/framework-mcp/src/tools/definitions.d.ts +2 -0
  19. package/dist/framework-mcp/src/tools/definitions.js +291 -0
  20. package/dist/framework-mcp/src/tools/definitions.js.map +1 -0
  21. package/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.d.ts +5 -0
  22. package/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js +60 -0
  23. package/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js.map +1 -0
  24. package/dist/framework-mcp/src/tools/file_system/patch_file.d.ts +2 -0
  25. package/dist/framework-mcp/src/tools/file_system/patch_file.js +26 -0
  26. package/dist/framework-mcp/src/tools/file_system/patch_file.js.map +1 -0
  27. package/dist/framework-mcp/src/tools/file_system/read_file.d.ts +2 -0
  28. package/dist/framework-mcp/src/tools/file_system/read_file.js +52 -0
  29. package/dist/framework-mcp/src/tools/file_system/read_file.js.map +1 -0
  30. package/dist/framework-mcp/src/tools/file_system/replace_text.d.ts +2 -0
  31. package/dist/framework-mcp/src/tools/file_system/replace_text.js +46 -0
  32. package/dist/framework-mcp/src/tools/file_system/replace_text.js.map +1 -0
  33. package/dist/framework-mcp/src/tools/file_system/write_file.d.ts +2 -0
  34. package/dist/framework-mcp/src/tools/file_system/write_file.js +39 -0
  35. package/dist/framework-mcp/src/tools/file_system/write_file.js.map +1 -0
  36. package/dist/framework-mcp/src/tools/framework/audit_deps.d.ts +6 -0
  37. package/dist/framework-mcp/src/tools/framework/audit_deps.js +42 -0
  38. package/dist/framework-mcp/src/tools/framework/audit_deps.js.map +1 -0
  39. package/dist/framework-mcp/src/tools/framework/get_status.d.ts +2 -0
  40. package/dist/framework-mcp/src/tools/framework/get_status.js +6 -0
  41. package/dist/framework-mcp/src/tools/framework/get_status.js.map +1 -0
  42. package/dist/framework-mcp/src/tools/framework/orchestrate.d.ts +2 -0
  43. package/dist/framework-mcp/src/tools/framework/orchestrate.js +6 -0
  44. package/dist/framework-mcp/src/tools/framework/orchestrate.js.map +1 -0
  45. package/dist/framework-mcp/src/tools/framework/run_tests.d.ts +5 -0
  46. package/dist/framework-mcp/src/tools/framework/run_tests.js +26 -0
  47. package/dist/framework-mcp/src/tools/framework/run_tests.js.map +1 -0
  48. package/dist/framework-mcp/src/tools/framework/update_contract_hash.d.ts +2 -0
  49. package/dist/framework-mcp/src/tools/framework/update_contract_hash.js +6 -0
  50. package/dist/framework-mcp/src/tools/framework/update_contract_hash.js.map +1 -0
  51. package/dist/framework-mcp/src/tools/framework/update_memory.d.ts +2 -0
  52. package/dist/framework-mcp/src/tools/framework/update_memory.js +9 -0
  53. package/dist/framework-mcp/src/tools/framework/update_memory.js.map +1 -0
  54. package/dist/framework-mcp/src/tools/index.d.ts +4 -0
  55. package/dist/framework-mcp/src/tools/index.js +61 -0
  56. package/dist/framework-mcp/src/tools/index.js.map +1 -0
  57. package/dist/framework-mcp/src/tools/memory/get_insights.d.ts +6 -0
  58. package/dist/framework-mcp/src/tools/memory/get_insights.js +35 -0
  59. package/dist/framework-mcp/src/tools/memory/get_insights.js.map +1 -0
  60. package/dist/framework-mcp/src/tools/memory/read_memory.d.ts +6 -0
  61. package/dist/framework-mcp/src/tools/memory/read_memory.js +29 -0
  62. package/dist/framework-mcp/src/tools/memory/read_memory.js.map +1 -0
  63. package/dist/framework-mcp/src/tools/messaging/log_action.d.ts +2 -0
  64. package/dist/framework-mcp/src/tools/messaging/log_action.js +23 -0
  65. package/dist/framework-mcp/src/tools/messaging/log_action.js.map +1 -0
  66. package/dist/framework-mcp/src/tools/messaging/send_message.d.ts +2 -0
  67. package/dist/framework-mcp/src/tools/messaging/send_message.js +95 -0
  68. package/dist/framework-mcp/src/tools/messaging/send_message.js.map +1 -0
  69. package/dist/framework-mcp/src/tools/observability/check_ports.d.ts +5 -0
  70. package/dist/framework-mcp/src/tools/observability/check_ports.js +27 -0
  71. package/dist/framework-mcp/src/tools/observability/check_ports.js.map +1 -0
  72. package/dist/framework-mcp/src/tools/observability/get_health.d.ts +5 -0
  73. package/dist/framework-mcp/src/tools/observability/get_health.js +20 -0
  74. package/dist/framework-mcp/src/tools/observability/get_health.js.map +1 -0
  75. package/dist/framework-mcp/src/tools/quality/check_lint.d.ts +5 -0
  76. package/dist/framework-mcp/src/tools/quality/check_lint.js +29 -0
  77. package/dist/framework-mcp/src/tools/quality/check_lint.js.map +1 -0
  78. package/dist/framework-mcp/src/tools/search/get_gaps.d.ts +6 -0
  79. package/dist/framework-mcp/src/tools/search/get_gaps.js +49 -0
  80. package/dist/framework-mcp/src/tools/search/get_gaps.js.map +1 -0
  81. package/dist/framework-mcp/src/tools/search/get_map.d.ts +6 -0
  82. package/dist/framework-mcp/src/tools/search/get_map.js +44 -0
  83. package/dist/framework-mcp/src/tools/search/get_map.js.map +1 -0
  84. package/dist/framework-mcp/src/tools/search/grep_search.d.ts +5 -0
  85. package/dist/framework-mcp/src/tools/search/grep_search.js +76 -0
  86. package/dist/framework-mcp/src/tools/search/grep_search.js.map +1 -0
  87. package/dist/framework-mcp/src/tools/search/list_dir.d.ts +5 -0
  88. package/dist/framework-mcp/src/tools/search/list_dir.js +29 -0
  89. package/dist/framework-mcp/src/tools/search/list_dir.js.map +1 -0
  90. package/dist/framework-mcp/src/tools/shell/run_command.d.ts +2 -0
  91. package/dist/framework-mcp/src/tools/shell/run_command.js +47 -0
  92. package/dist/framework-mcp/src/tools/shell/run_command.js.map +1 -0
  93. package/dist/framework-mcp/src/tools/types.d.ts +120 -0
  94. package/dist/framework-mcp/src/tools/types.js +2 -0
  95. package/dist/framework-mcp/src/tools/types.js.map +1 -0
  96. package/dist/framework-mcp/src/utils/cli.d.ts +5 -0
  97. package/dist/framework-mcp/src/utils/cli.js +21 -0
  98. package/dist/framework-mcp/src/utils/cli.js.map +1 -0
  99. package/dist/framework-mcp/src/utils/compliance.d.ts +5 -0
  100. package/dist/framework-mcp/src/utils/compliance.js +79 -0
  101. package/dist/framework-mcp/src/utils/compliance.js.map +1 -0
  102. package/dist/framework-mcp/src/utils/fs.d.ts +16 -0
  103. package/dist/framework-mcp/src/utils/fs.js +45 -0
  104. package/dist/framework-mcp/src/utils/fs.js.map +1 -0
  105. package/dist/framework-mcp/src/utils/metrics.d.ts +30 -0
  106. package/dist/framework-mcp/src/utils/metrics.js +57 -0
  107. package/dist/framework-mcp/src/utils/metrics.js.map +1 -0
  108. package/dist/framework-mcp/src/utils/security.d.ts +10 -0
  109. package/dist/framework-mcp/src/utils/security.js +61 -0
  110. package/dist/framework-mcp/src/utils/security.js.map +1 -0
  111. package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.d.ts +1 -0
  112. package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js +192 -0
  113. package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js.map +1 -0
  114. package/dist/framework-mcp/tests/tools/messaging/send_message.test.d.ts +1 -0
  115. package/dist/framework-mcp/tests/tools/messaging/send_message.test.js +115 -0
  116. package/dist/framework-mcp/tests/tools/messaging/send_message.test.js.map +1 -0
  117. package/dist/framework-mcp/tests/tools/quality/check_lint.test.d.ts +1 -0
  118. package/dist/framework-mcp/tests/tools/quality/check_lint.test.js +36 -0
  119. package/dist/framework-mcp/tests/tools/quality/check_lint.test.js.map +1 -0
  120. package/dist/framework-mcp/tests/tools/shell/run_command.test.d.ts +1 -0
  121. package/dist/framework-mcp/tests/tools/shell/run_command.test.js +43 -0
  122. package/dist/framework-mcp/tests/tools/shell/run_command.test.js.map +1 -0
  123. package/dist/src/cli/adapters/core.d.ts +12 -0
  124. package/dist/src/cli/adapters/core.js +55 -0
  125. package/dist/src/cli/adapters/core.js.map +1 -0
  126. package/dist/src/cli/adapters/index.d.ts +5 -0
  127. package/dist/src/cli/adapters/index.js +6 -0
  128. package/dist/src/cli/adapters/index.js.map +1 -0
  129. package/dist/src/cli/adapters/paths.d.ts +15 -0
  130. package/dist/src/cli/adapters/paths.js +102 -0
  131. package/dist/src/cli/adapters/paths.js.map +1 -0
  132. package/dist/src/cli/adapters/scaffold.d.ts +2 -0
  133. package/dist/src/cli/adapters/scaffold.js +72 -0
  134. package/dist/src/cli/adapters/scaffold.js.map +1 -0
  135. package/dist/src/cli/adapters/utils.d.ts +4 -0
  136. package/dist/src/cli/adapters/utils.js +76 -0
  137. package/dist/src/cli/adapters/utils.js.map +1 -0
  138. package/dist/src/cli/commands/approve.d.ts +1 -0
  139. package/dist/src/cli/commands/approve.js +64 -0
  140. package/dist/src/cli/commands/approve.js.map +1 -0
  141. package/dist/src/cli/commands/check.d.ts +1 -0
  142. package/dist/src/cli/commands/check.js +180 -0
  143. package/dist/src/cli/commands/check.js.map +1 -0
  144. package/dist/src/cli/commands/compliance.d.ts +1 -0
  145. package/dist/src/cli/commands/compliance.js +51 -0
  146. package/dist/src/cli/commands/compliance.js.map +1 -0
  147. package/dist/src/cli/commands/contract.d.ts +10 -0
  148. package/dist/src/cli/commands/contract.js +51 -0
  149. package/dist/src/cli/commands/contract.js.map +1 -0
  150. package/dist/src/cli/commands/explorer.d.ts +2 -0
  151. package/dist/src/cli/commands/explorer.js +43 -0
  152. package/dist/src/cli/commands/explorer.js.map +1 -0
  153. package/dist/src/cli/commands/git.d.ts +2 -0
  154. package/dist/src/cli/commands/git.js +41 -0
  155. package/dist/src/cli/commands/git.js.map +1 -0
  156. package/dist/src/cli/commands/init/scaffold-core.d.ts +7 -0
  157. package/dist/src/cli/commands/init/scaffold-core.js +102 -0
  158. package/dist/src/cli/commands/init/scaffold-core.js.map +1 -0
  159. package/dist/src/cli/commands/init/scaffold-ops.d.ts +1 -0
  160. package/dist/src/cli/commands/init/scaffold-ops.js +81 -0
  161. package/dist/src/cli/commands/init/scaffold-ops.js.map +1 -0
  162. package/dist/src/cli/commands/init/scaffold-standards.d.ts +2 -0
  163. package/dist/src/cli/commands/init/scaffold-standards.js +66 -0
  164. package/dist/src/cli/commands/init/scaffold-standards.js.map +1 -0
  165. package/dist/src/cli/commands/init.d.ts +5 -0
  166. package/dist/src/cli/commands/init.js +128 -0
  167. package/dist/src/cli/commands/init.js.map +1 -0
  168. package/dist/src/cli/commands/knowledge.d.ts +2 -0
  169. package/dist/src/cli/commands/knowledge.js +43 -0
  170. package/dist/src/cli/commands/knowledge.js.map +1 -0
  171. package/dist/src/cli/commands/lint.d.ts +4 -0
  172. package/dist/src/cli/commands/lint.js +23 -0
  173. package/dist/src/cli/commands/lint.js.map +1 -0
  174. package/dist/src/cli/commands/log.d.ts +10 -0
  175. package/dist/src/cli/commands/log.js +33 -0
  176. package/dist/src/cli/commands/log.js.map +1 -0
  177. package/dist/src/cli/commands/memory.d.ts +1 -0
  178. package/dist/src/cli/commands/memory.js +5 -0
  179. package/dist/src/cli/commands/memory.js.map +1 -0
  180. package/dist/src/cli/commands/orchestrate.d.ts +67 -0
  181. package/dist/src/cli/commands/orchestrate.js +414 -0
  182. package/dist/src/cli/commands/orchestrate.js.map +1 -0
  183. package/dist/src/cli/commands/plan.d.ts +6 -0
  184. package/dist/src/cli/commands/plan.js +97 -0
  185. package/dist/src/cli/commands/plan.js.map +1 -0
  186. package/dist/src/cli/commands/script.d.ts +1 -0
  187. package/dist/src/cli/commands/script.js +20 -0
  188. package/dist/src/cli/commands/script.js.map +1 -0
  189. package/dist/src/cli/commands/security.d.ts +1 -0
  190. package/dist/src/cli/commands/security.js +37 -0
  191. package/dist/src/cli/commands/security.js.map +1 -0
  192. package/dist/src/cli/commands/status.d.ts +4 -0
  193. package/dist/src/cli/commands/status.js +41 -0
  194. package/dist/src/cli/commands/status.js.map +1 -0
  195. package/dist/src/cli/commands/trace.d.ts +4 -0
  196. package/dist/src/cli/commands/trace.js +29 -0
  197. package/dist/src/cli/commands/trace.js.map +1 -0
  198. package/dist/src/cli/index.d.ts +2 -0
  199. package/dist/src/cli/index.js +289 -0
  200. package/dist/src/cli/index.js.map +1 -0
  201. package/dist/src/cli/shims.d.ts +1 -0
  202. package/dist/src/cli/shims.js +67 -0
  203. package/dist/src/cli/shims.js.map +1 -0
  204. package/dist/src/cli/utils/claude.d.ts +8 -0
  205. package/dist/src/cli/utils/claude.js +57 -0
  206. package/dist/src/cli/utils/claude.js.map +1 -0
  207. package/dist/src/cli/utils/compliance.d.ts +11 -0
  208. package/dist/src/cli/utils/compliance.js +168 -0
  209. package/dist/src/cli/utils/compliance.js.map +1 -0
  210. package/dist/src/cli/utils/config-schema.d.ts +139 -0
  211. package/dist/src/cli/utils/config-schema.js +43 -0
  212. package/dist/src/cli/utils/config-schema.js.map +1 -0
  213. package/dist/src/cli/utils/fs.d.ts +10 -0
  214. package/dist/src/cli/utils/fs.js +138 -0
  215. package/dist/src/cli/utils/fs.js.map +1 -0
  216. package/dist/src/cli/utils/memory.d.ts +30 -0
  217. package/dist/src/cli/utils/memory.js +269 -0
  218. package/dist/src/cli/utils/memory.js.map +1 -0
  219. package/dist/src/cli/utils/pkg.d.ts +43 -0
  220. package/dist/src/cli/utils/pkg.js +283 -0
  221. package/dist/src/cli/utils/pkg.js.map +1 -0
  222. package/dist/src/cli/utils/schemas.d.ts +49 -0
  223. package/dist/src/cli/utils/schemas.js +20 -0
  224. package/dist/src/cli/utils/schemas.js.map +1 -0
  225. package/dist/src/cli/utils/string.d.ts +7 -0
  226. package/dist/src/cli/utils/string.js +50 -0
  227. package/dist/src/cli/utils/string.js.map +1 -0
  228. package/dist/src/cli/utils/time.d.ts +2 -0
  229. package/dist/src/cli/utils/time.js +28 -0
  230. package/dist/src/cli/utils/time.js.map +1 -0
  231. package/dist/src/cli/utils/ui.d.ts +30 -0
  232. package/dist/src/cli/utils/ui.js +59 -0
  233. package/dist/src/cli/utils/ui.js.map +1 -0
  234. package/dist/src/contracts/index.d.ts +1 -0
  235. package/dist/src/contracts/index.js +2 -0
  236. package/dist/src/contracts/index.js.map +1 -0
  237. package/dist/src/contracts/tasks.d.ts +44 -0
  238. package/dist/src/contracts/tasks.js +21 -0
  239. package/dist/src/contracts/tasks.js.map +1 -0
  240. package/dist/src/modules/adapters/definitions.d.ts +9 -0
  241. package/dist/src/modules/adapters/definitions.js +141 -0
  242. package/dist/src/modules/adapters/definitions.js.map +1 -0
  243. package/dist/src/modules/adapters/registry.d.ts +12 -0
  244. package/dist/src/modules/adapters/registry.js +19 -0
  245. package/dist/src/modules/adapters/registry.js.map +1 -0
  246. package/dist/src/modules/adapters/shared.d.ts +1 -0
  247. package/dist/src/modules/adapters/shared.js +105 -0
  248. package/dist/src/modules/adapters/shared.js.map +1 -0
  249. package/dist/src/modules/adapters/types.d.ts +14 -0
  250. package/dist/src/modules/adapters/types.js +2 -0
  251. package/dist/src/modules/adapters/types.js.map +1 -0
  252. package/dist/src/modules/agents/definitions.d.ts +15 -0
  253. package/dist/src/modules/agents/definitions.js +401 -0
  254. package/dist/src/modules/agents/definitions.js.map +1 -0
  255. package/dist/src/modules/agents/registry/analyst.d.ts +2 -0
  256. package/dist/src/modules/agents/registry/analyst.js +40 -0
  257. package/dist/src/modules/agents/registry/analyst.js.map +1 -0
  258. package/dist/src/modules/agents/registry/architect.d.ts +2 -0
  259. package/dist/src/modules/agents/registry/architect.js +43 -0
  260. package/dist/src/modules/agents/registry/architect.js.map +1 -0
  261. package/dist/src/modules/agents/registry/backend.d.ts +2 -0
  262. package/dist/src/modules/agents/registry/backend.js +43 -0
  263. package/dist/src/modules/agents/registry/backend.js.map +1 -0
  264. package/dist/src/modules/agents/registry/database.d.ts +2 -0
  265. package/dist/src/modules/agents/registry/database.js +39 -0
  266. package/dist/src/modules/agents/registry/database.js.map +1 -0
  267. package/dist/src/modules/agents/registry/devops.d.ts +2 -0
  268. package/dist/src/modules/agents/registry/devops.js +40 -0
  269. package/dist/src/modules/agents/registry/devops.js.map +1 -0
  270. package/dist/src/modules/agents/registry/explorer.d.ts +2 -0
  271. package/dist/src/modules/agents/registry/explorer.js +37 -0
  272. package/dist/src/modules/agents/registry/explorer.js.map +1 -0
  273. package/dist/src/modules/agents/registry/frontend.d.ts +2 -0
  274. package/dist/src/modules/agents/registry/frontend.js +44 -0
  275. package/dist/src/modules/agents/registry/frontend.js.map +1 -0
  276. package/dist/src/modules/agents/registry/git.d.ts +2 -0
  277. package/dist/src/modules/agents/registry/git.js +37 -0
  278. package/dist/src/modules/agents/registry/git.js.map +1 -0
  279. package/dist/src/modules/agents/registry/manager.d.ts +2 -0
  280. package/dist/src/modules/agents/registry/manager.js +54 -0
  281. package/dist/src/modules/agents/registry/manager.js.map +1 -0
  282. package/dist/src/modules/agents/registry/mobile.d.ts +2 -0
  283. package/dist/src/modules/agents/registry/mobile.js +40 -0
  284. package/dist/src/modules/agents/registry/mobile.js.map +1 -0
  285. package/dist/src/modules/agents/registry/native.d.ts +2 -0
  286. package/dist/src/modules/agents/registry/native.js +40 -0
  287. package/dist/src/modules/agents/registry/native.js.map +1 -0
  288. package/dist/src/modules/agents/registry/quality.d.ts +2 -0
  289. package/dist/src/modules/agents/registry/quality.js +42 -0
  290. package/dist/src/modules/agents/registry/quality.js.map +1 -0
  291. package/dist/src/modules/agents/registry/security.d.ts +2 -0
  292. package/dist/src/modules/agents/registry/security.js +38 -0
  293. package/dist/src/modules/agents/registry/security.js.map +1 -0
  294. package/dist/src/modules/agents/types.d.ts +31 -0
  295. package/dist/src/modules/agents/types.js +2 -0
  296. package/dist/src/modules/agents/types.js.map +1 -0
  297. package/dist/src/modules/skills/definitions.d.ts +48 -0
  298. package/dist/src/modules/skills/definitions.js +71 -0
  299. package/dist/src/modules/skills/definitions.js.map +1 -0
  300. package/dist/src/shared/constants.d.ts +116 -0
  301. package/dist/src/shared/constants.js +184 -0
  302. package/dist/src/shared/constants.js.map +1 -0
  303. package/dist/src/shared/errors.d.ts +46 -0
  304. package/dist/src/shared/errors.js +69 -0
  305. package/dist/src/shared/errors.js.map +1 -0
  306. package/dist/src/shared/fs.d.ts +8 -0
  307. package/dist/src/shared/fs.js +48 -0
  308. package/dist/src/shared/fs.js.map +1 -0
  309. package/dist/src/shared/logger.d.ts +28 -0
  310. package/dist/src/shared/logger.js +117 -0
  311. package/dist/src/shared/logger.js.map +1 -0
  312. package/dist/src/shared/types.d.ts +19 -0
  313. package/dist/src/shared/types.js +13 -0
  314. package/dist/src/shared/types.js.map +1 -0
  315. package/dist/tests/adapter.test.d.ts +1 -0
  316. package/dist/tests/adapter.test.js +128 -0
  317. package/dist/tests/adapter.test.js.map +1 -0
  318. package/dist/tests/adapters/paths.test.d.ts +1 -0
  319. package/dist/tests/adapters/paths.test.js +63 -0
  320. package/dist/tests/adapters/paths.test.js.map +1 -0
  321. package/dist/tests/agents-definitions.test.d.ts +1 -0
  322. package/dist/tests/agents-definitions.test.js +61 -0
  323. package/dist/tests/agents-definitions.test.js.map +1 -0
  324. package/dist/tests/approve.test.d.ts +1 -0
  325. package/dist/tests/approve.test.js +52 -0
  326. package/dist/tests/approve.test.js.map +1 -0
  327. package/dist/tests/cli/init/adapter_init.test.d.ts +1 -0
  328. package/dist/tests/cli/init/adapter_init.test.js +50 -0
  329. package/dist/tests/cli/init/adapter_init.test.js.map +1 -0
  330. package/dist/tests/cli/init/unified_init.test.d.ts +1 -0
  331. package/dist/tests/cli/init/unified_init.test.js +58 -0
  332. package/dist/tests/cli/init/unified_init.test.js.map +1 -0
  333. package/dist/tests/errors.test.d.ts +1 -0
  334. package/dist/tests/errors.test.js +64 -0
  335. package/dist/tests/errors.test.js.map +1 -0
  336. package/dist/tests/fs-utils.test.d.ts +1 -0
  337. package/dist/tests/fs-utils.test.js +101 -0
  338. package/dist/tests/fs-utils.test.js.map +1 -0
  339. package/dist/tests/integration/agent_flow.test.d.ts +1 -0
  340. package/dist/tests/integration/agent_flow.test.js +55 -0
  341. package/dist/tests/integration/agent_flow.test.js.map +1 -0
  342. package/dist/tests/integration/hermes_locking.test.d.ts +1 -0
  343. package/dist/tests/integration/hermes_locking.test.js +64 -0
  344. package/dist/tests/integration/hermes_locking.test.js.map +1 -0
  345. package/dist/tests/logger.test.d.ts +1 -0
  346. package/dist/tests/logger.test.js +81 -0
  347. package/dist/tests/logger.test.js.map +1 -0
  348. package/dist/tests/memory-utils.test.d.ts +1 -0
  349. package/dist/tests/memory-utils.test.js +59 -0
  350. package/dist/tests/memory-utils.test.js.map +1 -0
  351. package/dist/tests/modules/adapters/adapters.test.d.ts +1 -0
  352. package/dist/tests/modules/adapters/adapters.test.js +30 -0
  353. package/dist/tests/modules/adapters/adapters.test.js.map +1 -0
  354. package/dist/tests/orchestrate.test.d.ts +1 -0
  355. package/dist/tests/orchestrate.test.js +67 -0
  356. package/dist/tests/orchestrate.test.js.map +1 -0
  357. package/dist/tests/shared/constants.test.d.ts +1 -0
  358. package/dist/tests/shared/constants.test.js +17 -0
  359. package/dist/tests/shared/constants.test.js.map +1 -0
  360. package/dist/tests/skills-definitions.test.d.ts +1 -0
  361. package/dist/tests/skills-definitions.test.js +34 -0
  362. package/dist/tests/skills-definitions.test.js.map +1 -0
  363. package/dist/tests/status.test.d.ts +1 -0
  364. package/dist/tests/status.test.js +49 -0
  365. package/dist/tests/status.test.js.map +1 -0
  366. package/dist/tests/string.test.d.ts +1 -0
  367. package/dist/tests/string.test.js +89 -0
  368. package/dist/tests/string.test.js.map +1 -0
  369. package/dist/tests/time.test.d.ts +1 -0
  370. package/dist/tests/time.test.js +48 -0
  371. package/dist/tests/time.test.js.map +1 -0
  372. package/dist/tests/trace.test.d.ts +1 -0
  373. package/dist/tests/trace.test.js +28 -0
  374. package/dist/tests/trace.test.js.map +1 -0
  375. package/dist/vitest.config.d.ts +2 -0
  376. package/dist/vitest.config.js +20 -0
  377. package/dist/vitest.config.js.map +1 -0
  378. package/framework-mcp/dist/constants.js +64 -0
  379. package/framework-mcp/dist/index.js +119 -0
  380. package/framework-mcp/dist/tools/control_plane/locking.js +82 -0
  381. package/framework-mcp/dist/tools/control_plane/registry.js +34 -0
  382. package/framework-mcp/dist/tools/definitions.js +290 -0
  383. package/framework-mcp/dist/tools/file_system/batch_surgical_edit.js +59 -0
  384. package/framework-mcp/dist/tools/file_system/patch_file.js +25 -0
  385. package/framework-mcp/dist/tools/file_system/read_file.js +51 -0
  386. package/framework-mcp/dist/tools/file_system/replace_text.js +45 -0
  387. package/framework-mcp/dist/tools/file_system/write_file.js +38 -0
  388. package/framework-mcp/dist/tools/framework/audit_deps.js +41 -0
  389. package/framework-mcp/dist/tools/framework/get_status.js +5 -0
  390. package/framework-mcp/dist/tools/framework/orchestrate.js +5 -0
  391. package/framework-mcp/dist/tools/framework/run_tests.js +25 -0
  392. package/framework-mcp/dist/tools/framework/update_contract_hash.js +5 -0
  393. package/framework-mcp/dist/tools/framework/update_memory.js +8 -0
  394. package/framework-mcp/dist/tools/index.js +60 -0
  395. package/framework-mcp/dist/tools/memory/get_insights.js +34 -0
  396. package/framework-mcp/dist/tools/memory/read_memory.js +28 -0
  397. package/framework-mcp/dist/tools/messaging/log_action.js +22 -0
  398. package/framework-mcp/dist/tools/messaging/send_message.js +94 -0
  399. package/framework-mcp/dist/tools/observability/check_ports.js +26 -0
  400. package/framework-mcp/dist/tools/observability/get_health.js +19 -0
  401. package/framework-mcp/dist/tools/quality/check_lint.js +28 -0
  402. package/framework-mcp/dist/tools/search/get_gaps.js +48 -0
  403. package/framework-mcp/dist/tools/search/get_map.js +43 -0
  404. package/framework-mcp/dist/tools/search/grep_search.js +75 -0
  405. package/framework-mcp/dist/tools/search/list_dir.js +28 -0
  406. package/framework-mcp/dist/tools/shell/run_command.js +46 -0
  407. package/framework-mcp/dist/tools/types.js +1 -0
  408. package/framework-mcp/dist/utils/cli.js +20 -0
  409. package/framework-mcp/dist/utils/compliance.js +78 -0
  410. package/framework-mcp/dist/utils/fs.js +44 -0
  411. package/framework-mcp/dist/utils/metrics.js +56 -0
  412. package/framework-mcp/dist/utils/security.js +60 -0
  413. package/framework-mcp/package-lock.json +1191 -0
  414. package/framework-mcp/package.json +26 -0
  415. package/framework-mcp/src/constants.ts +78 -0
  416. package/framework-mcp/src/declarations.d.ts +17 -0
  417. package/framework-mcp/src/index.ts +144 -0
  418. package/framework-mcp/src/tools/control_plane/locking.ts +89 -0
  419. package/framework-mcp/src/tools/control_plane/registry.ts +38 -0
  420. package/framework-mcp/src/tools/definitions.ts +292 -0
  421. package/framework-mcp/src/tools/file_system/batch_surgical_edit.ts +79 -0
  422. package/framework-mcp/src/tools/file_system/patch_file.ts +33 -0
  423. package/framework-mcp/src/tools/file_system/read_file.ts +58 -0
  424. package/framework-mcp/src/tools/file_system/replace_text.ts +54 -0
  425. package/framework-mcp/src/tools/file_system/write_file.ts +45 -0
  426. package/framework-mcp/src/tools/framework/audit_deps.ts +49 -0
  427. package/framework-mcp/src/tools/framework/get_status.ts +7 -0
  428. package/framework-mcp/src/tools/framework/orchestrate.ts +7 -0
  429. package/framework-mcp/src/tools/framework/run_tests.ts +28 -0
  430. package/framework-mcp/src/tools/framework/update_contract_hash.ts +7 -0
  431. package/framework-mcp/src/tools/framework/update_memory.ts +10 -0
  432. package/framework-mcp/src/tools/index.ts +64 -0
  433. package/framework-mcp/src/tools/memory/get_insights.ts +41 -0
  434. package/framework-mcp/src/tools/memory/read_memory.ts +31 -0
  435. package/framework-mcp/src/tools/messaging/log_action.ts +28 -0
  436. package/framework-mcp/src/tools/messaging/send_message.ts +97 -0
  437. package/framework-mcp/src/tools/observability/check_ports.ts +30 -0
  438. package/framework-mcp/src/tools/observability/get_health.ts +24 -0
  439. package/framework-mcp/src/tools/quality/check_lint.ts +33 -0
  440. package/framework-mcp/src/tools/search/get_gaps.ts +54 -0
  441. package/framework-mcp/src/tools/search/get_map.ts +48 -0
  442. package/framework-mcp/src/tools/search/grep_search.ts +75 -0
  443. package/framework-mcp/src/tools/search/list_dir.ts +34 -0
  444. package/framework-mcp/src/tools/shell/run_command.ts +56 -0
  445. package/framework-mcp/src/tools/types.ts +89 -0
  446. package/framework-mcp/src/utils/cli.ts +20 -0
  447. package/framework-mcp/src/utils/compliance.ts +95 -0
  448. package/framework-mcp/src/utils/fs.ts +45 -0
  449. package/framework-mcp/src/utils/metrics.ts +73 -0
  450. package/framework-mcp/src/utils/security.ts +66 -0
  451. package/framework-mcp/tests/tools/file_system/file_system_tools.test.ts +212 -0
  452. package/framework-mcp/tests/tools/messaging/send_message.test.ts +136 -0
  453. package/framework-mcp/tests/tools/quality/check_lint.test.ts +46 -0
  454. package/framework-mcp/tests/tools/shell/run_command.test.ts +55 -0
  455. package/framework-mcp/tsconfig.json +14 -0
  456. package/mcp.json +13 -0
  457. package/package.json +89 -0
  458. package/src/cli/adapters/core.ts +67 -0
  459. package/src/cli/adapters/index.ts +5 -0
  460. package/src/cli/adapters/paths.ts +135 -0
  461. package/src/cli/adapters/scaffold.ts +93 -0
  462. package/src/cli/adapters/utils.ts +87 -0
  463. package/src/cli/commands/approve.ts +73 -0
  464. package/src/cli/commands/check.ts +188 -0
  465. package/src/cli/commands/compliance.ts +55 -0
  466. package/src/cli/commands/contract.ts +68 -0
  467. package/src/cli/commands/explorer.ts +45 -0
  468. package/src/cli/commands/git.ts +39 -0
  469. package/src/cli/commands/init/scaffold-core.ts +128 -0
  470. package/src/cli/commands/init/scaffold-ops.ts +83 -0
  471. package/src/cli/commands/init/scaffold-standards.ts +67 -0
  472. package/src/cli/commands/init.ts +163 -0
  473. package/src/cli/commands/knowledge.ts +44 -0
  474. package/src/cli/commands/lint.ts +23 -0
  475. package/src/cli/commands/log.ts +37 -0
  476. package/src/cli/commands/memory.ts +6 -0
  477. package/src/cli/commands/orchestrate.ts +456 -0
  478. package/src/cli/commands/plan.ts +113 -0
  479. package/src/cli/commands/script.ts +20 -0
  480. package/src/cli/commands/security.ts +38 -0
  481. package/src/cli/commands/status.ts +44 -0
  482. package/src/cli/commands/trace.ts +31 -0
  483. package/src/cli/index.ts +322 -0
  484. package/src/cli/shims.ts +66 -0
  485. package/src/cli/utils/claude.ts +63 -0
  486. package/src/cli/utils/compliance.ts +191 -0
  487. package/src/cli/utils/config-schema.ts +48 -0
  488. package/src/cli/utils/fs.ts +170 -0
  489. package/src/cli/utils/memory.ts +303 -0
  490. package/src/cli/utils/pkg.ts +317 -0
  491. package/src/cli/utils/schemas.ts +22 -0
  492. package/src/cli/utils/string.ts +55 -0
  493. package/src/cli/utils/time.ts +27 -0
  494. package/src/cli/utils/ui.ts +66 -0
  495. package/src/contracts/index.ts +1 -0
  496. package/src/contracts/tasks.ts +26 -0
  497. package/src/modules/adapters/definitions.ts +171 -0
  498. package/src/modules/adapters/registry.ts +27 -0
  499. package/src/modules/adapters/shared.ts +120 -0
  500. package/src/modules/adapters/types.ts +16 -0
  501. package/src/modules/agents/definitions.ts +454 -0
  502. package/src/modules/agents/registry/analyst.ts +44 -0
  503. package/src/modules/agents/registry/architect.ts +47 -0
  504. package/src/modules/agents/registry/backend.ts +47 -0
  505. package/src/modules/agents/registry/database.ts +43 -0
  506. package/src/modules/agents/registry/devops.ts +44 -0
  507. package/src/modules/agents/registry/explorer.ts +41 -0
  508. package/src/modules/agents/registry/frontend.ts +48 -0
  509. package/src/modules/agents/registry/git.ts +41 -0
  510. package/src/modules/agents/registry/manager.ts +58 -0
  511. package/src/modules/agents/registry/mobile.ts +44 -0
  512. package/src/modules/agents/registry/native.ts +44 -0
  513. package/src/modules/agents/registry/quality.ts +46 -0
  514. package/src/modules/agents/registry/security.ts +42 -0
  515. package/src/modules/agents/types.ts +37 -0
  516. package/src/modules/skills/definitions.ts +71 -0
  517. package/src/schema/agent-lifecycle-schema.json +59 -0
  518. package/src/shared/constants.ts +218 -0
  519. package/src/shared/errors.ts +75 -0
  520. package/src/shared/fs.ts +50 -0
  521. package/src/shared/logger.ts +139 -0
  522. package/src/shared/types.ts +20 -0
  523. package/templates/prompts/bug-fix-recipe.md +20 -0
  524. package/templates/prompts/contract-design-recipe.md +21 -0
  525. package/templates/prompts/db-management-recipe.md +25 -0
  526. package/templates/prompts/deployment-recipe.md +23 -0
  527. package/templates/prompts/new-feature-recipe.md +19 -0
  528. package/templates/prompts/performance-optimization-recipe.md +23 -0
  529. package/templates/prompts/pull-request-template.md +21 -0
  530. package/templates/prompts/refactoring-recipe.md +21 -0
  531. package/templates/prompts/security-audit-recipe.md +20 -0
  532. package/templates/standards/architecture-standards.md +23 -0
  533. package/templates/standards/auth-standards.md +125 -0
  534. package/templates/standards/crud-governance.md +21 -0
  535. package/templates/standards/deployment-standards.md +21 -0
  536. package/templates/standards/frontend-standards.md +42 -0
  537. package/templates/standards/github-actions-standards.md +43 -0
  538. package/templates/standards/governance-standards.md +147 -0
  539. package/templates/standards/i18n-standards.md +29 -0
  540. package/templates/standards/kysely-standards.md +47 -0
  541. package/templates/standards/llm-governance.md +29 -0
  542. package/templates/standards/logging-and-secrets.md +34 -0
  543. package/templates/standards/mobile-standards.md +23 -0
  544. package/templates/standards/observability-standards.md +29 -0
  545. package/templates/standards/performance-standards.md +29 -0
  546. package/templates/standards/pino-standards.md +46 -0
  547. package/templates/standards/playwright-standards.md +54 -0
  548. package/templates/standards/quality-standards.md +32 -0
  549. package/templates/standards/react-query-standards.md +72 -0
  550. package/templates/standards/react-router-standards.md +62 -0
  551. package/templates/standards/security-audit-standards.md +33 -0
  552. package/templates/standards/security-standards.md +21 -0
  553. package/templates/standards/swagger-standards.md +50 -0
  554. package/templates/standards/tailwind-standards.md +29 -0
  555. package/templates/standards/testing-standards.md +31 -0
  556. package/templates/standards/token-economy.md +27 -0
  557. package/templates/standards/typeorm-standards.md +49 -0
  558. package/templates/standards/vitest-standards.md +110 -0
@@ -0,0 +1,21 @@
1
+ # 🛠️ Surgical Refactoring Recipe
2
+
3
+ This recipe defines how to modernize existing code without breaking other parts of the project.
4
+
5
+ ## 1. Reconnaissance
6
+ - Use `grep_search` to find all references to the function to be refactored.
7
+ - Understand the module's dependency graph with `get_project_map`.
8
+ - Verify the baseline by running existing tests (`run_tests`).
9
+
10
+ ## 2. Planning (Strategy)
11
+ - Break the change into small, atomic steps.
12
+ - Define new types and interfaces first.
13
+
14
+ ## 3. Surgical Execution
15
+ - **RULE:** Never delete a file completely. Only use `replace_text` or `batch_surgical_edit`.
16
+ - Maintain type safety (ban on `any`) at every step.
17
+ - Update `PROJECT_MEMORY.md` after every major change.
18
+
19
+ ## 4. Validation
20
+ - Ensure no regressions occurred using `run_tests`.
21
+ - Audit code quality with the `@quality` agent.
@@ -0,0 +1,20 @@
1
+ # 🛡️ Engineering Recipe: Advanced Security Audit
2
+
3
+ This recipe governs the @security agent's protocol for identifying and mitigating vulnerabilities within the Agent Atabey framework.
4
+
5
+ ## 🏁 Phase 1: Automated Reconnaissance
6
+ 1. **Secret Scan:** Run `grep_search` for keywords: `apiKey`, `secret`, `password`, `token`, `private_key`.
7
+ 2. **SQL Injection Audit:** Scan for `raw SQL` or template literals bypassing the query builder.
8
+ 3. **Auth Check:** Verify that all sensitive routes have active `auth` guards and Role-Based Access Control (RBAC).
9
+
10
+ ## 🧠 Phase 2: Contextual Analysis
11
+ 1. **Impact Mapping:** For every identified risk, read the surrounding code to determine if it's exposed to the public internet.
12
+ 2. **Configuration Check:** Verify `.env.example` contains all required keys and no real secrets are committed to Git.
13
+
14
+ ## 🛠️ Phase 3: Surgical Mitigation
15
+ 1. **Fix:** Use `replace_text` to move hardcoded secrets to `.env` or refactor raw SQL to Kysely.
16
+ 2. **Sanitization:** Apply input validation using Zod schemas for all external data.
17
+
18
+ ## ✅ Phase 4: Verification & Logging
19
+ 1. **Discipline Check:** Run `atabey check` to ensure no new violations were introduced.
20
+ 2. **Action Log:** Execute `log_agent_action` with a summary of found vs. fixed vulnerabilities.
@@ -0,0 +1,23 @@
1
+ # 📐 Corporate Architecture Standards (AL Framework)
2
+
3
+ This project is developed in accordance with the "Nizam-ı Mimari" (Architectural Order) rules defined by Agent Atabey.
4
+
5
+ ## 1. Directory Structure (Monorepo Standard)
6
+ - `apps/backend/`: Business logic, API, and database layers.
7
+ - `apps/web/`: Frontend (React/Next.js) layer.
8
+ - `packages/shared/`: Type definitions and helpers shared between Backend and Frontend.
9
+
10
+ ## 2. Layered Architecture
11
+ All business logic must follow this hierarchy:
12
+ 1. **Routes/Controllers:** API entry points and request validation.
13
+ 2. **Services:** Where business logic is coordinated.
14
+ 3. **Repositories/Models:** Database access and raw data mutations.
15
+
16
+ ## 3. Type Safety and Contracts
17
+ - The hash in the `contract.version.json` file must always match the active code.
18
+ - The use of the `any` type is strictly forbidden.
19
+ - All asynchronous operations must be wrapped in `try-catch` blocks and proper error management (ErrorHandler).
20
+
21
+ ## 4. AL (Agent Lifecycle) Phase Discipline
22
+ - Development progresses sequentially from Phase 0 to Phase 4.
23
+ - Application code (Phase 2) cannot be written before contracts are approved (Phase 1).
@@ -0,0 +1,125 @@
1
+ # Authentication & Authorization Standards
2
+
3
+ > JWT + bcrypt authentication and role-based access control for Fastify APIs.
4
+
5
+ ## Overview
6
+
7
+ Enterprise-grade authentication system using JSON Web Tokens (JWT) for stateless authentication and bcrypt for secure password hashing.
8
+
9
+ ## Setup
10
+
11
+ ```bash
12
+ # Required dependencies
13
+ npm install bcrypt jsonwebtoken
14
+ npm install -D @types/bcrypt @types/jsonwebtoken
15
+ ```
16
+
17
+ ## Token Management
18
+
19
+ ```typescript
20
+ import jwt from "jsonwebtoken";
21
+
22
+ const JWT_SECRET = process.env.JWT_SECRET || "change-me-in-production";
23
+ const JWT_EXPIRES_IN = process.env.JWT_EXPIRES_IN || "24h";
24
+
25
+ interface AuthPayload {
26
+ sub: string; // User ID
27
+ email: string; // User email
28
+ role: string; // User role (ADMIN, DEVELOPER, VIEWER)
29
+ iat?: number; // Issued at
30
+ exp?: number; // Expires at
31
+ }
32
+
33
+ export function generateToken(payload: AuthPayload): string {
34
+ return jwt.sign(payload, JWT_SECRET, { expiresIn: JWT_EXPIRES_IN });
35
+ }
36
+
37
+ export function verifyToken(token: string): AuthPayload {
38
+ return jwt.verify(token, JWT_SECRET) as AuthPayload;
39
+ }
40
+ ```
41
+
42
+ ## Middleware
43
+
44
+ ```typescript
45
+ import type { FastifyRequest, FastifyReply } from "fastify";
46
+
47
+ export async function authenticate(
48
+ request: FastifyRequest,
49
+ reply: FastifyReply,
50
+ ): Promise<void> {
51
+ const authHeader = request.headers.authorization;
52
+ if (!authHeader?.startsWith("Bearer ")) {
53
+ throw new UnauthorizedError("Missing authorization header");
54
+ }
55
+ const token = authHeader.slice(7);
56
+ const payload = verifyToken(token);
57
+ (request as any).user = payload;
58
+ }
59
+
60
+ export function requireRole(...roles: string[]) {
61
+ return async (request: FastifyRequest, reply: FastifyReply) => {
62
+ const user = (request as any).user as AuthPayload;
63
+ if (!user || !roles.includes(user.role)) {
64
+ throw new ForbiddenError("Insufficient permissions");
65
+ }
66
+ };
67
+ }
68
+ ```
69
+
70
+ ## Password Security
71
+
72
+ ```typescript
73
+ import bcrypt from "bcrypt";
74
+
75
+ const SALT_ROUNDS = 12;
76
+
77
+ // Hash password for storage
78
+ export async function hashPassword(password: string): Promise<string> {
79
+ return bcrypt.hash(password, SALT_ROUNDS);
80
+ }
81
+
82
+ // Verify password against hash
83
+ export async function verifyPassword(
84
+ password: string,
85
+ hash: string,
86
+ ): Promise<boolean> {
87
+ return bcrypt.compare(password, hash);
88
+ }
89
+ ```
90
+
91
+ ## CRUD Governance Integration
92
+
93
+ Admin-level mutations (user creation, role changes, schema modifications) **MUST** follow the CRUD Governance protocol:
94
+ - Route through `@manager` for approval
95
+ - Require human sign-off via `atabey approve <traceId>`
96
+ - Log all authorization decisions
97
+
98
+ ## API Endpoints
99
+
100
+ | Method | Path | Auth Required | Role Required | Description |
101
+ |--------|------|:------------:|:------------:|-------------|
102
+ | POST | `/api/v1/auth/register` | No | No | Create new user |
103
+ | POST | `/api/v1/auth/login` | No | No | Login & get token |
104
+ | GET | `/api/v1/auth/me` | Yes | No | Get current user |
105
+ | PUT | `/api/v1/auth/password` | Yes | No | Change password |
106
+
107
+ ## Environment Variables
108
+
109
+ ```bash
110
+ JWT_SECRET=your-secret-key-at-least-32-chars-long
111
+ JWT_EXPIRES_IN=24h
112
+ ```
113
+
114
+ ## Best Practices
115
+
116
+ 1. **Password Hashing**: Always use bcrypt with minimum 12 salt rounds
117
+ 2. **Token Expiry**: Use short-lived tokens (24h max). Implement refresh tokens for longer sessions
118
+ 3. **Secret Rotation**: Rotate JWT_SECRET periodically in production
119
+ 4. **Rate Limiting**: Apply rate limiting on login/register endpoints to prevent brute force
120
+ 5. **HTTPS Only**: Never transmit tokens over unencrypted connections
121
+ 6. **Password Strength**: Enforce minimum password requirements (8+ chars, mixed case, numbers)
122
+ 7. **Audit Logging**: Log all authentication attempts (success/failure) for security monitoring
123
+ 8. **No Plain Text**: Never log or store passwords in plain text
124
+ 9. **Token Storage**: Store tokens securely (httpOnly cookies for web, secure storage for mobile)
125
+ 10. **Role Hierarchy**: ADMIN > MANAGER > DEVELOPER > VIEWER — validate permissions at each level
@@ -0,0 +1,21 @@
1
+ # 🏛️ Corporate CRUD and Governance Standards
2
+
3
+ This document defines the strict rules applicable to data mutation and administrative operations in projects managed by the Agent Atabey army.
4
+
5
+ ## 1. High-Risk Operations
6
+ The following operations are considered "High-Risk" and cannot be performed autonomously by specialist agents (@backend, @database, etc.):
7
+ - Database schema changes (DDL).
8
+ - Bulk data deletion or purging (Bulk Delete/Purge).
9
+ - User authorization and role assignment systems.
10
+ - Payment system (Billing) integrations.
11
+ - PII (Personal Data) export.
12
+
13
+ ## 2. Approval Flow
14
+ - When a specialist agent receives a high-risk operation request, they must reject the operation and report the status to `@manager`.
15
+ - `@manager` analyzes the request and creates a task awaiting `managerApproval`.
16
+ - The operation is held until a human overseer (Human-in-the-Loop) grants approval via the `atabey approve [TraceID]` command.
17
+
18
+ ## 3. Data Discipline
19
+ - **Branded Types:** All IDs (UserID, OrderID, etc.) must strictly follow the branded types format.
20
+ - **Kysely Only:** Raw SQL queries are forbidden. Only the type-safe Kysely query builder may be used.
21
+ - **Repository Pattern:** Database operations cannot be performed directly within controllers; they must pass through the service and repository layers.
@@ -0,0 +1,21 @@
1
+ # 🚀 Deployment and Release Standards
2
+
3
+ This document outlines the protocols for deploying, updating, and rolling back services managed by Agent Atabey.
4
+
5
+ ## 1. Release Strategy
6
+ - **Version Control:** All releases must follow Semantic Versioning (SemVer) and be tagged in Git with the format `vX.Y.Z`.
7
+ - **Atomic Commits:** Each deployment must be linked to a specific Git commit, which itself must contain a `Trace ID` in the commit message.
8
+
9
+ ## 2. Deployment Workflow
10
+ - **CI/CD Integration:** Every deployment must pass the `npm run atabey:test` and `npm run atabey:check` pipeline.
11
+ - **Environment Isolation:** Deployments must use environment-specific configurations (.env.{env}) and never cross-pollinate variables.
12
+
13
+ ## 3. Rollback Procedures (The Hermes Safety Valve)
14
+ - **Immediate Rollback:** If a deployment causes an escalation alert from an agent or a production failure, a rollback must be initiated within 5 minutes.
15
+ - **Git Revert Strategy:**
16
+ - Rollbacks are executed by checking out the previous stable tag (e.g., `git checkout v1.0.9`).
17
+ - A "Fix-Forward" approach is only allowed for P0 security patches; otherwise, "Revert-First" is the law.
18
+ - **Database Safety:**
19
+ - Every Migration script must strictly include a corresponding `down()` or `revert()` path.
20
+ - Database rollbacks must be tested in the staging environment before production execution.
21
+ - **Post-Mortem Requirement:** Every rollback triggers an automatic `@manager` task to create a `docs/post-mortems/TRACE_ID.md` report.
@@ -0,0 +1,42 @@
1
+ # 🎨 Corporate Frontend and Responsive Standards
2
+
3
+ This document defines the UI/UX standards for projects managed by Agent Atabey. All interfaces must comply with "Mobile-First", "Fluid Responsive", and "Cross-Device Adaptive" principles.
4
+
5
+ ## 1. Zero UI Library Policy (Supreme Mandate)
6
+ - **NO Third-Party UI Frameworks:** Usage of `@chakra-ui`, `mui`, `@shadcn`, `antd`, or similar pre-built component libraries is **STRICTLY FORBIDDEN**.
7
+ - **Atomic Manual Construction:** Every UI component (Button, Modal, Input, etc.) must be built manually from scratch using atomic CSS principles.
8
+ - **Styling Engine:** All styles must be written with type-safe **Panda CSS** or structured **Tailwind CSS**.
9
+ - **Reasoning:** Pre-built libraries introduce massive bloat, difficult-to-override styles, and dependency lock-in. Agent Atabey enforces pure, lightweight, and 100% customizable UI code.
10
+
11
+ ## 2. Design System: Panda CSS & Tailwind Integration
12
+ - **Token Usage:** Colors, spacing, and font sizes must be managed via the `token()` function or standard CSS variables.
13
+ - **Responsive Syntax:** Object-based responsive syntax is mandatory:
14
+ ```typescript
15
+ css({
16
+ width: { base: '100%', md: '50%', lg: '33.33%' },
17
+ padding: { base: '4', md: '8' }
18
+ })
19
+ ```
20
+
21
+ ## 2. Mobile-First and Fluid Design
22
+ - **Mobile-First Approach:** Styles must always be written for the smallest screen size (`base`), then expanded to larger screens using `sm`, `md`, `lg`, `xl`, and `2xl` breakpoints.
23
+ - **Fluid Grid & Flexbox:** Layouts should not be restricted by fixed widths. `flex-wrap` and CSS Grid (`grid-template-columns: repeat(auto-fit, minmax(280px, 1fr))`) are preferred.
24
+ - **Fluid Typography:** Font sizes should scale dynamically based on screen width:
25
+ ```css
26
+ font-size: clamp(1rem, 2vw + 0.5rem, 2rem);
27
+ ```
28
+ - **Container Bounds:** The main body of the page must have responsive padding and a maximum width limit (standard of `1280px` or `1440px`).
29
+
30
+ ## 3. Viewport Safety
31
+ - **Overflow Guard:** Horizontal scrollbars are strictly forbidden. `box-sizing: border-box` must be applied to all elements, and widths must be restricted with `max-width: 100%`.
32
+ - **Dynamic Viewport Units:** To avoid issues with mobile browser address bars, use `dvh` (Dynamic Viewport Height) and `dvw` instead of `vh` and `vw`.
33
+ - **Touch Targets:** Clickable elements (buttons, links, inputs) on mobile devices must have a minimum size of `44px x 44px`.
34
+
35
+ ## 4. Component Governance
36
+ - **Atomic Design:** UI components must be collected under `apps/web/src/components/ui/`.
37
+ - **Page Isolation:** Reusable atomic components should be preferred over defining styles within page files.
38
+ - **Image Optimization:** Use the `picture` tag or `srcset` for responsive images, and support `@2x` resolutions for retina displays. SVGs must always be scalable via `viewBox`.
39
+
40
+ ## 5. Accessibility and Performance
41
+ - **WCAG AA:** All color contrasts and keyboard navigation structures must comply with WCAG AA standards.
42
+ - **Lighthouse Score:** A score of 90+ for performance, accessibility, and SEO should be targeted for all pages.
@@ -0,0 +1,43 @@
1
+ # CI/CD Pipeline Standards (GitHub Actions)
2
+
3
+ > Automated quality gates and deployment pipelines.
4
+
5
+ ## Overview
6
+
7
+ GitHub Actions CI/CD pipeline for automated testing, type-checking, and quality assurance.
8
+
9
+ ## Pipeline Structure
10
+
11
+ ```yaml
12
+ name: CI/CD Pipeline
13
+ on: [push, pull_request]
14
+
15
+ jobs:
16
+ quality:
17
+ runs-on: ubuntu-latest
18
+ steps:
19
+ - uses: actions/checkout@v4
20
+ - uses: actions/setup-node@v4
21
+ with: { node-version: '22' }
22
+ - run: npm ci
23
+ - run: npm run lint
24
+ - run: npm run typecheck
25
+ - run: npm test
26
+ ```
27
+
28
+ ## Quality Gates
29
+
30
+ 1. **TypeScript Check**: Zero type errors (`tsc --noEmit`)
31
+ 2. **Lint Check**: ESLint must pass with zero warnings
32
+ 3. **Unit Tests**: All tests must pass
33
+ 4. **Coverage**: Minimum 80% line coverage
34
+
35
+ ## Best Practices
36
+
37
+ 1. Run tests on every push and pull request
38
+ 2. Cache node_modules for faster builds
39
+ 3. Use matrix builds for multi-version testing
40
+ 4. Never deploy without passing quality gates
41
+ 5. Keep pipeline runs under 10 minutes
42
+
43
+ > **Note**: Deployment is managed by the development team, not automated by this pipeline.
@@ -0,0 +1,147 @@
1
+ # 🎖️ Agent Atabey — Governance & Nizam Standards
2
+
3
+ This document defines the supreme governance mandates of the Agent Atabey framework.
4
+ All agents **must** internalize these rules before executing any task.
5
+
6
+ ---
7
+
8
+ ## 1. Constitutional Supremacy
9
+
10
+ - The `ATABEY.md` file is the **constitution** of every project. Read it at session start.
11
+ - No agent may deviate from constitutional directives, regardless of user instructions.
12
+ - In any conflict between user request and constitutional rule → **constitution wins**.
13
+
14
+ ---
15
+
16
+ ## 2. Phase Wall Protocol (PHASE_0 → PHASE_4)
17
+
18
+ | Phase | Name | Allowed Work |
19
+ |---|---|---|
20
+ | PHASE_0 | Genesis | Init, scaffolding, memory setup |
21
+ | PHASE_1 | Contract | Type contracts, API schema, interface design only |
22
+ | PHASE_2 | Implementation | Feature code, only after Phase 1 contracts approved |
23
+ | PHASE_3 | Quality | Testing, lint, coverage — no new features |
24
+ | PHASE_4 | Release | Deployment, versioning, post-release audit |
25
+
26
+ **Phase Wall Rule:** No agent may begin Phase N+1 work until Phase N is 100% complete.
27
+ A single TODO, lint error, or unverified contract blocks the phase transition.
28
+
29
+ ---
30
+
31
+ ## 3. Hermes Self-Healing Protocol
32
+ - If an agent remains in `EXECUTING` state for >30 minutes, the orchestrator triggers **Self-Healing**.
33
+ - The agent is reset to `READY`, and the task is logged for human review or retry.
34
+ - Blocked agents should not be left abandoned; they must be recovered to keep the loop fluid.
35
+
36
+ ---
37
+
38
+ ## 4. Proportional Governance Model (Autonomy Levels)
39
+ Governance controls are mapped to agent autonomy to ensure safety and EU AI Act compliance.
40
+
41
+ | Level | Mode | Authority | Governance Focus |
42
+ |---|---|---|---|
43
+ | **L1** | Observe | Read-only access | Scoped data access, usage logging |
44
+ | **L2** | Advise | Recommendations only | Accuracy checks, bias mitigation |
45
+ | **L3** | Guided | Action with human "OK" | Meaningful human review (No rubber-stamping) |
46
+ | **L4** | Autonomous| Independent execution | **Circuit breakers**, real-time monitoring |
47
+
48
+ ---
49
+
50
+ ## 5. Circuit Breaker & Kill Switch Protocol
51
+ - **L4 Emergency Stop:** Every autonomous agent **must** support an immediate "Kill Switch" signal.
52
+ - **Recursive Failure Guard:** If an agent chain (Agent A calling Agent B) fails twice at the same node, the entire Trace ID is **Frozen** until human intervention.
53
+ - **Audit Traceability:** Every autonomous action must be attributable to a unique **Agent ID** and **Trace ID** in an immutable log.
54
+
55
+ ---
56
+
57
+ ## 6. Trace ID Discipline
58
+
59
+ - Every task chain begins with a unique Trace ID (e.g. `TRC-042`).
60
+ - All agent messages, logs, and commits **must** carry the active Trace ID.
61
+ - Losing a Trace ID is a **Nizam violation** — the task chain must be frozen until recovered.
62
+
63
+ ---
64
+
65
+ ## 4. Surgical Edit Mandate
66
+
67
+ - **Never** overwrite a file fully if only part of it changed.
68
+ - Use `replace_text` or `patch_file` for all code modifications.
69
+ - Full file rewrites are only permitted for files under 50 lines.
70
+ - Violation triggers immediate task freeze.
71
+
72
+ ---
73
+
74
+ ## 5. PII Zero-Tolerance Policy
75
+
76
+ - No agent may log, store, or transmit Personally Identifiable Information (PII).
77
+ - Emails, names, phone numbers in logs → immediate purge required.
78
+ - @manager runs PII scans on all agent outputs before archiving.
79
+
80
+ ---
81
+
82
+ ## 6. High-Risk Operation Gate
83
+
84
+ Operations that require **explicit @manager approval** before execution:
85
+
86
+ - User/Role creation, modification, or deletion
87
+ - Bulk database deletes or schema drops
88
+ - Billing or payment configuration changes
89
+ - Environment variable / secret rotation
90
+ - Force-push to any shared branch
91
+
92
+ **Protocol:** Agent returns a standard refusal → sends `ALERT` to @manager with `requiresApproval: true` → shifts to `WAITING` state.
93
+
94
+ ---
95
+
96
+ ## 7. Memory Integrity Mandate
97
+
98
+ - `PROJECT_MEMORY.md` must be synchronized after **every single turn**.
99
+ - @manager acquires `memory` lock before any write to `PROJECT_MEMORY.md`.
100
+ - Memory drift (outdated state) is classified as **treason** — the manager must detect and correct it.
101
+
102
+ ---
103
+
104
+ ## 8. Locking Protocol
105
+
106
+ ```
107
+ BEFORE writing shared resource:
108
+ 1. acquire_lock(resource, agent)
109
+ 2. Perform write operation
110
+ 3. release_lock(resource, agent)
111
+ ← Never skip step 3, even on error
112
+ ```
113
+
114
+ Resources that require locking: `memory`, `status`, `contracts`, `registry`
115
+
116
+ ---
117
+
118
+ ## 9. Escalation Hierarchy
119
+
120
+ ```
121
+ User / External Request
122
+
123
+ @manager (Supreme Authority)
124
+
125
+ @security (Parallel — always watching)
126
+
127
+ @architect → @backend / @frontend / @database / @devops
128
+
129
+ @quality → @mobile / @native / @explorer / @git / @analyst
130
+ ```
131
+
132
+ Agents may only issue DELEGATION messages **downward** or **sideways** in the hierarchy.
133
+ Never delegate upward — escalate via ALERT instead.
134
+
135
+ ---
136
+
137
+ ## 10. Zero Deviation Policy
138
+
139
+ The following are **unconditional Nizam violations** that freeze all work immediately:
140
+
141
+ - Use of `any` TypeScript type
142
+ - Use of `console.log` in production code (use `logger` instead)
143
+ - Raw SQL strings bypassing Kysely
144
+ - Hardcoded secrets, API keys, or credentials in source files
145
+ - Direct DB calls in controllers (repositories only)
146
+ - Skipping `try-catch` on async operations
147
+ - Missing Trace ID in any agent message
@@ -0,0 +1,29 @@
1
+ # 🌐 Corporate Multi-Language (i18n) Standards
2
+
3
+ This document defines the localization, internationalization, and multi-language management rules for projects managed by Agent Atabey.
4
+
5
+ ## 1. Centralized Management
6
+ - **Hardcoded Forbidden:** No text visible to the user shall be written directly into the code (JSX/HTML/TS).
7
+ - **Locales Directory:** All languages are stored as JSON files under `apps/web/public/locales/` or `apps/web/src/locales/`.
8
+ - **Key-Value Standard:** Meaningful and hierarchical keys are used (e.g., `common.buttons.save`, `errors.auth.invalid_password`).
9
+ - **Single Source of Truth:** The default locale (e.g., `en`) is the canonical key set. All other locales are derived from it; orphan keys are pruned in CI.
10
+
11
+ ## 2. Technical Implementation
12
+ - **i18next:** The `next-i18next` or `react-i18next` library is standard in projects.
13
+ - **Dynamic Content:** i18n interpolation (`{{name}}`) must be used for text containing variables. String concatenation to build sentences is forbidden (breaks word order in other languages).
14
+ - **Pluralization:** Singular/plural cases must be managed using the i18n library's own rules (ICU/`_plural` keys), never manual `count === 1` branching.
15
+ - **Lazy Loading:** Locale bundles are split per namespace and loaded on demand to keep the initial payload small.
16
+
17
+ ## 3. Formatting and Locale Awareness
18
+ - **Dates, Numbers, Currency:** Use `Intl.DateTimeFormat`, `Intl.NumberFormat`, and locale-aware currency formatting — never hand-rolled formatting.
19
+ - **Timezones:** Store timestamps in UTC; render in the user's locale/timezone at the presentation layer.
20
+ - **RTL Support:** Layouts must support right-to-left languages (Arabic, Hebrew) via logical CSS properties (`margin-inline-start`) and `dir="rtl"` awareness.
21
+
22
+ ## 4. Accessibility and UX
23
+ - **Text Expansion:** UI must tolerate ~30-40% text growth (e.g., German, Turkish) without truncation or layout breakage.
24
+ - **Locale-Aware Sorting:** Lists are sorted with `Intl.Collator`, not byte order.
25
+
26
+ ## 5. Auditing
27
+ - When the `@frontend` agent creates a new UI component, it automatically moves texts to the relevant JSON files.
28
+ - Missing translation key (missing key) checks are performed by `@quality`; a missing key in the default locale blocks merge.
29
+ - Untranslated keys in non-default locales fall back to the default locale and are reported, never shown as raw keys to users.
@@ -0,0 +1,47 @@
1
+ # Kysely ORM Standards
2
+
3
+ > Type-safe SQL query builder for TypeScript. Use for database operations.
4
+
5
+ ## Setup
6
+
7
+ ```typescript
8
+ import { Kysely, SqliteDialect } from 'kysely';
9
+ import Database from 'better-sqlite3';
10
+ import type { DB } from './types';
11
+
12
+ const dialect = new SqliteDialect({
13
+ database: new Database(process.env.DATABASE_PATH || './dev.db'),
14
+ });
15
+
16
+ export const db = new Kysely<DB>({ dialect });
17
+ ```
18
+
19
+ ## Table Definitions
20
+
21
+ Define types in `src/database/kysely/types.ts`:
22
+
23
+ ```typescript
24
+ export interface UsersTable {
25
+ id: string;
26
+ email: string;
27
+ full_name: string;
28
+ role: string;
29
+ password_hash: string;
30
+ created_at: string;
31
+ updated_at: string;
32
+ deleted_at: string | null;
33
+ }
34
+
35
+ export interface DB {
36
+ users: UsersTable;
37
+ customers: CustomersTable;
38
+ }
39
+ ```
40
+
41
+ ## Best Practices
42
+
43
+ 1. Always use `where("deleted_at", "is", null)` for soft-delete
44
+ 2. Use `returningAll()` after insert/update
45
+ 3. Use `db.fn.countAll()` for pagination
46
+ 4. Keep types in sync with actual schema
47
+ 5. Use transactions for multi-step operations
@@ -0,0 +1,29 @@
1
+ # 🤖 LLM Governance and Data Protection
2
+
3
+ This document outlines the security, safety, and discipline rules for interacting with Large Language Models within Atabey-managed projects. It aligns with the spirit of the EU AI Act, NIST AI RMF, and OWASP Top 10 for LLMs.
4
+
5
+ ## 1. Trust Zone and Prompt Security
6
+ - **Input Sanitization:** All user-provided data must be sanitized before being sent to an LLM context to prevent Prompt Injection attacks (OWASP LLM01).
7
+ - **Untrusted Content Isolation:** Content fetched from the web, files, or third parties is treated as untrusted data, never as instructions. Wrap it in clearly delimited, non-authoritative context blocks.
8
+ - **PII Protection:** Absolutely no Personally Identifiable Information (PII) or customer-sensitive credentials should ever be included in prompts.
9
+ - **Output Validation:** LLM output that drives an action (tool call, code execution, SQL) must be schema-validated and bounded by an allowlist before use (OWASP LLM02 — insecure output handling).
10
+
11
+ ## 2. Token and Context Discipline
12
+ - **Context Pruning:** Agents must proactively clear unnecessary context and follow the memory pruning protocol (`.atabey/memory/archive/`) to maintain prompt efficiency.
13
+ - **Prompt Scoping:** Prompts should be scoped to the minimum required knowledge to prevent "Context Drift". Reference knowledge files on demand rather than embedding everything.
14
+ - **Reproducibility:** For governed actions, record the model identifier, prompt template version, and `Trace ID` so any decision can be audited and reproduced.
15
+
16
+ ## 3. Autonomous Behavior and Human Oversight
17
+ - **Human-in-the-Loop:** Any action marked as `ACTION` category requiring state mutation must trigger an approval flow.
18
+ - **Escalation:** If an agent encounters an ambiguity that exceeds its capability (capability < 9), it must stop and escalate to `@manager`.
19
+ - **Least Privilege:** Each agent receives only the minimal tool allowlist for its role; tools that mutate state are gated behind the approval flow.
20
+ - **No Self-Granted Authority:** An agent may never expand its own permissions, disable a safety check, or bypass the `@manager` gate.
21
+
22
+ ## 4. Risk Classification (EU AI Act Alignment)
23
+ - **Tiering:** Features that affect users (auth, billing, content moderation, automated decisions) are classified by risk. High-risk features require documented human review and an audit trail.
24
+ - **Transparency:** Where AI output is shown to end users, it must be labeled as AI-generated when materially influencing a decision.
25
+ - **Bias and Safety Review:** `@quality` and `@security` must review prompts that influence user-facing decisions for fairness and safety regressions before release.
26
+
27
+ ## 5. Supply Chain and Model Integrity
28
+ - **Pinned, Validated Models:** Model identifiers must be from the approved, currently-valid set. Deprecated identifiers are rejected in CI.
29
+ - **Dependency Trust:** Third-party prompt templates, embeddings, or model adapters are vetted before adoption; untrusted model endpoints are forbidden in production.
@@ -0,0 +1,34 @@
1
+ # 🪵 Corporate Logging and Secret Management (.env) Standards
2
+
3
+ This document defines the logging discipline and sensitive data (secret) management rules for projects managed by the Agent Atabey army.
4
+
5
+ ## 1. Logging Discipline (Zero Console Policy)
6
+ - **console.log Forbidden:** The use of `console.log`, `console.warn`, or `console.error` in production code is strictly forbidden.
7
+ - **Enterprise Logger Usage:** All logging operations must be performed via the project's central logger system (`src/shared/logger.ts`).
8
+ ```typescript
9
+ import { logger } from "@/shared/logger";
10
+
11
+ logger.info("User logged in", { userId: "..." });
12
+ logger.error("Database connection error", { error: "..." });
13
+ ```
14
+ - **Log Levels:**
15
+ - `DEBUG`: Detailed technical information during development.
16
+ - `INFO`: Normal system flow (e.g., service started, task completed).
17
+ - `WARN`: Situations that are not errors but require attention.
18
+ - `ERROR`: Errors that do not break system operation but require investigation.
19
+ - `FATAL`: Critical errors that cause system crashes.
20
+
21
+ ## 2. Secret Management and .env Discipline
22
+ - **Sensitive Data (Secrets):** API keys, database passwords, JWT secrets, and private keys are NEVER hardcoded into the code.
23
+ - **.env Usage:** All sensitive data and environment-specific settings are managed via the `.env` file.
24
+ - **.env.example:** An up-to-date `.env.example` file must always exist in the root directory of the project. This file should contain only the keys, not the actual values.
25
+ - **Dynamic Checks:** Agents must verify the absence of a value in the `.env` file before application runtime.
26
+
27
+ ## 3. Security and PII (Personally Identifiable Information) Discipline
28
+ - **Git Ignored:** The `.env` file must always be included in `.gitignore` and never committed to the source control system.
29
+ - **Secret Masking:** Sensitive technical data such as passwords, credit card numbers, or API keys must never be written clearly in logs (they must be masked using `***` or similar).
30
+ - **PII Governance (GDPR/KVKK):**
31
+ - Real user data (Emails, Phone Numbers, Full Names, National IDs) must NEVER be logged or stored in agent memories.
32
+ - If a task requires processing PII, use anonymized placeholders or unique hashes in logs.
33
+ - **@security** agent must audit any new log entry for potential PII leakage.
34
+ - **Zero-Trust Memory:** Agent memories (PROJECT_MEMORY.md) must never contain real customer data; only technical metadata and architectural decisions must be stored.
@@ -0,0 +1,23 @@
1
+ # 📱 Corporate Mobile Development Standards (React Native / Expo)
2
+
3
+ This document defines the strict rules and performance standards in mobile application development processes.
4
+
5
+ ## 1. Technology Stack and Structure
6
+ - **Framework:** Expo (Managed Workflow) and React Native.
7
+ - **Styling:** `react-native-reanimated` and type-safe style objects or Tailwind (NativeWind).
8
+ - **Navigation:** Expo Router (File-based navigation) and Safe Link structures.
9
+
10
+ ## 2. Design for Every Screen (Responsive Mobile Layout)
11
+ - **Screen Resolution Independence:** Fixed `px` widths and heights should never be used. Instead, flexbox ratios, percentage widths, and dynamic values from the `useWindowDimensions` hook should be used.
12
+ - **SafeArea Security:** All screen structures must be wrapped with `SafeAreaProvider` and `SafeAreaView` (or dynamic `insets` object) from `react-native-safe-area-context` to prevent collision with notched screens, status bars, and home indicators.
13
+ - **Font Sizes and Accessibility:** To prevent text truncation or overflow when system font sizes are changed (Accessibility Font Scaling), `numberOfLines` / `ellipsizeMode` should be used in `Text` components or containers providing dynamic height should be designed.
14
+ - **Orientation Adaptation:** Interfaces should be adaptable to both portrait and landscape usage scenarios; especially on tablets, double-column (Master-Detail) or Grid layouts should be adjusted based on dynamic screen aspect ratios.
15
+
16
+ ## 3. Performance and Fluidity
17
+ - **Performant Lists:** To maintain performance in large data lists, `FlashList` (Shopify) must be used instead of `ScrollView` or `FlatList`.
18
+ - **Image Resources:** Images should be cached with `expo-image`, WebP formats should be preferred for fast loading, and aspect ratios (`contentFit`) should be preserved when scaling.
19
+ - **Touch Targets:** All touch interaction areas must be at least `44dp x 44dp`.
20
+
21
+ ## 4. Hardware and Offline Operation
22
+ - **Permissions:** Sensitive permissions (location, camera, notifications) should only be requested when the feature is used, and the reason should be clearly shown to the user.
23
+ - **Offline First:** Network requests should be cached with `React Query`; MMKV (or SQLite) should be used for local persistent storage.