atabey 0.0.13 → 0.0.15

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 (282) hide show
  1. package/ATABEY.md +1 -1
  2. package/PRIVACY.md +8 -14
  3. package/README.md +405 -56
  4. package/bin/cli.js +72 -5
  5. package/dist/framework-mcp/src/index.js +988 -63
  6. package/dist/framework-mcp/src/index.js.map +1 -1
  7. package/dist/framework-mcp/src/tools/compliance/mask_pii.d.ts +17 -0
  8. package/dist/framework-mcp/src/tools/compliance/mask_pii.js +56 -0
  9. package/dist/framework-mcp/src/tools/compliance/mask_pii.js.map +1 -0
  10. package/dist/framework-mcp/src/tools/definitions.js +10 -9
  11. package/dist/framework-mcp/src/tools/definitions.js.map +1 -1
  12. package/dist/framework-mcp/src/tools/framework/run_tests.js +25 -0
  13. package/dist/framework-mcp/src/tools/framework/run_tests.js.map +1 -1
  14. package/dist/framework-mcp/src/tools/index.js +7 -8
  15. package/dist/framework-mcp/src/tools/index.js.map +1 -1
  16. package/dist/framework-mcp/src/tools/messaging/approve_operation.d.ts +22 -0
  17. package/dist/framework-mcp/src/tools/messaging/approve_operation.js +81 -0
  18. package/dist/framework-mcp/src/tools/messaging/approve_operation.js.map +1 -0
  19. package/dist/framework-mcp/src/tools/messaging/ask_human.d.ts +15 -0
  20. package/dist/framework-mcp/src/tools/messaging/ask_human.js +89 -20
  21. package/dist/framework-mcp/src/tools/messaging/ask_human.js.map +1 -1
  22. package/dist/framework-mcp/src/tools/observability/check_ports.d.ts +1 -0
  23. package/dist/framework-mcp/src/tools/observability/check_ports.js +24 -8
  24. package/dist/framework-mcp/src/tools/observability/check_ports.js.map +1 -1
  25. package/dist/framework-mcp/src/tools/quality/analyze_code_quality.js +13 -64
  26. package/dist/framework-mcp/src/tools/quality/analyze_code_quality.js.map +1 -1
  27. package/dist/framework-mcp/src/tools/schemas.d.ts +48 -53
  28. package/dist/framework-mcp/src/tools/schemas.js +18 -22
  29. package/dist/framework-mcp/src/tools/schemas.js.map +1 -1
  30. package/dist/framework-mcp/src/tools/shell/run_command.js +146 -90
  31. package/dist/framework-mcp/src/tools/shell/run_command.js.map +1 -1
  32. package/dist/framework-mcp/src/tools/types.d.ts +11 -105
  33. package/dist/framework-mcp/src/tools/types.js +1 -0
  34. package/dist/framework-mcp/src/tools/types.js.map +1 -1
  35. package/dist/framework-mcp/src/utils/auth.d.ts +36 -0
  36. package/dist/framework-mcp/src/utils/auth.js +79 -0
  37. package/dist/framework-mcp/src/utils/auth.js.map +1 -0
  38. package/dist/framework-mcp/src/utils/auto-rollback.d.ts +71 -0
  39. package/dist/framework-mcp/src/utils/auto-rollback.js +266 -0
  40. package/dist/framework-mcp/src/utils/auto-rollback.js.map +1 -0
  41. package/dist/framework-mcp/src/utils/compliance.js +12 -4
  42. package/dist/framework-mcp/src/utils/compliance.js.map +1 -1
  43. package/dist/framework-mcp/src/utils/context-optimizer.d.ts +69 -0
  44. package/dist/framework-mcp/src/utils/context-optimizer.js +157 -0
  45. package/dist/framework-mcp/src/utils/context-optimizer.js.map +1 -0
  46. package/dist/framework-mcp/src/utils/discipline.d.ts +68 -0
  47. package/dist/framework-mcp/src/utils/discipline.js +218 -0
  48. package/dist/framework-mcp/src/utils/discipline.js.map +1 -0
  49. package/dist/framework-mcp/src/utils/finops.d.ts +143 -0
  50. package/dist/framework-mcp/src/utils/finops.js +326 -0
  51. package/dist/framework-mcp/src/utils/finops.js.map +1 -0
  52. package/dist/framework-mcp/src/utils/human-in-loop.d.ts +95 -0
  53. package/dist/framework-mcp/src/utils/human-in-loop.js +216 -0
  54. package/dist/framework-mcp/src/utils/human-in-loop.js.map +1 -0
  55. package/dist/framework-mcp/src/utils/license-scanner.d.ts +71 -0
  56. package/dist/framework-mcp/src/utils/license-scanner.js +284 -0
  57. package/dist/framework-mcp/src/utils/license-scanner.js.map +1 -0
  58. package/dist/framework-mcp/src/utils/loop-detector.d.ts +105 -0
  59. package/dist/framework-mcp/src/utils/loop-detector.js +362 -0
  60. package/dist/framework-mcp/src/utils/loop-detector.js.map +1 -0
  61. package/dist/framework-mcp/src/utils/quality.d.ts +19 -0
  62. package/dist/framework-mcp/src/utils/quality.js +125 -0
  63. package/dist/framework-mcp/src/utils/quality.js.map +1 -0
  64. package/dist/framework-mcp/src/utils/rules-engine.d.ts +78 -0
  65. package/dist/framework-mcp/src/utils/rules-engine.js +232 -0
  66. package/dist/framework-mcp/src/utils/rules-engine.js.map +1 -0
  67. package/dist/framework-mcp/src/utils/silent-router.d.ts +49 -0
  68. package/dist/framework-mcp/src/utils/silent-router.js +155 -0
  69. package/dist/framework-mcp/src/utils/silent-router.js.map +1 -0
  70. package/dist/framework-mcp/src/utils/storage.d.ts +1 -0
  71. package/dist/framework-mcp/src/utils/storage.js +2 -2
  72. package/dist/framework-mcp/src/utils/storage.js.map +1 -1
  73. package/dist/framework-mcp/src/utils/telemetry-streamer.d.ts +133 -0
  74. package/dist/framework-mcp/src/utils/telemetry-streamer.js +397 -0
  75. package/dist/framework-mcp/src/utils/telemetry-streamer.js.map +1 -0
  76. package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js +2 -2
  77. package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js.map +1 -1
  78. package/dist/framework-mcp/tests/tools/framework/run_tests.test.d.ts +1 -0
  79. package/dist/framework-mcp/tests/tools/framework/run_tests.test.js +49 -0
  80. package/dist/framework-mcp/tests/tools/framework/run_tests.test.js.map +1 -0
  81. package/dist/framework-mcp/tests/tools/messaging/send_message.test.js +14 -5
  82. package/dist/framework-mcp/tests/tools/messaging/send_message.test.js.map +1 -1
  83. package/dist/framework-mcp/tests/tools/observability/check_ports.test.d.ts +1 -0
  84. package/dist/framework-mcp/tests/tools/observability/check_ports.test.js +44 -0
  85. package/dist/framework-mcp/tests/tools/observability/check_ports.test.js.map +1 -0
  86. package/dist/framework-mcp/tests/tools/shell/run_command.test.js +44 -14
  87. package/dist/framework-mcp/tests/tools/shell/run_command.test.js.map +1 -1
  88. package/dist/framework-mcp/tests/utils/auto-rollback.test.d.ts +7 -0
  89. package/dist/framework-mcp/tests/utils/auto-rollback.test.js +178 -0
  90. package/dist/framework-mcp/tests/utils/auto-rollback.test.js.map +1 -0
  91. package/dist/framework-mcp/tests/utils/context-optimizer.test.d.ts +1 -0
  92. package/dist/framework-mcp/tests/utils/context-optimizer.test.js +62 -0
  93. package/dist/framework-mcp/tests/utils/context-optimizer.test.js.map +1 -0
  94. package/dist/framework-mcp/tests/utils/finops.test.d.ts +7 -0
  95. package/dist/framework-mcp/tests/utils/finops.test.js +157 -0
  96. package/dist/framework-mcp/tests/utils/finops.test.js.map +1 -0
  97. package/dist/framework-mcp/tests/utils/human-in-loop.test.d.ts +1 -0
  98. package/dist/framework-mcp/tests/utils/human-in-loop.test.js +59 -0
  99. package/dist/framework-mcp/tests/utils/human-in-loop.test.js.map +1 -0
  100. package/dist/framework-mcp/tests/utils/license-scanner.test.d.ts +7 -0
  101. package/dist/framework-mcp/tests/utils/license-scanner.test.js +131 -0
  102. package/dist/framework-mcp/tests/utils/license-scanner.test.js.map +1 -0
  103. package/dist/framework-mcp/tests/utils/loop-detector.test.d.ts +7 -0
  104. package/dist/framework-mcp/tests/utils/loop-detector.test.js +204 -0
  105. package/dist/framework-mcp/tests/utils/loop-detector.test.js.map +1 -0
  106. package/dist/framework-mcp/tests/utils/rules-engine.test.d.ts +1 -0
  107. package/dist/framework-mcp/tests/utils/rules-engine.test.js +106 -0
  108. package/dist/framework-mcp/tests/utils/rules-engine.test.js.map +1 -0
  109. package/dist/framework-mcp/tests/utils/telemetry-streamer.test.d.ts +7 -0
  110. package/dist/framework-mcp/tests/utils/telemetry-streamer.test.js +201 -0
  111. package/dist/framework-mcp/tests/utils/telemetry-streamer.test.js.map +1 -0
  112. package/dist/src/cli/commands/check.js +16 -1
  113. package/dist/src/cli/commands/check.js.map +1 -1
  114. package/dist/src/cli/commands/dashboard.js +188 -164
  115. package/dist/src/cli/commands/dashboard.js.map +1 -1
  116. package/dist/src/cli/commands/gateway.js +2 -2
  117. package/dist/src/cli/commands/gateway.js.map +1 -1
  118. package/dist/src/cli/commands/init/scaffold-core.d.ts +2 -0
  119. package/dist/src/cli/commands/init/scaffold-core.js +16 -1
  120. package/dist/src/cli/commands/init/scaffold-core.js.map +1 -1
  121. package/dist/src/cli/commands/init/scaffold-ops.js +2 -2
  122. package/dist/src/cli/commands/init/scaffold-ops.js.map +1 -1
  123. package/dist/src/cli/commands/init/scaffold-standards.js +13 -1
  124. package/dist/src/cli/commands/init/scaffold-standards.js.map +1 -1
  125. package/dist/src/cli/commands/init.d.ts +4 -0
  126. package/dist/src/cli/commands/init.js +94 -31
  127. package/dist/src/cli/commands/init.js.map +1 -1
  128. package/dist/src/cli/commands/mcp.js +3 -1
  129. package/dist/src/cli/commands/mcp.js.map +1 -1
  130. package/dist/src/cli/commands/quickstart.d.ts +1 -1
  131. package/dist/src/cli/commands/quickstart.js +12 -24
  132. package/dist/src/cli/commands/quickstart.js.map +1 -1
  133. package/dist/src/cli/commands/script.js +8 -1
  134. package/dist/src/cli/commands/script.js.map +1 -1
  135. package/dist/src/cli/index.js +24 -23
  136. package/dist/src/cli/index.js.map +1 -1
  137. package/dist/src/cli/shims.js +7 -7
  138. package/dist/src/cli/utils/pkg.js +2 -3
  139. package/dist/src/cli/utils/pkg.js.map +1 -1
  140. package/dist/src/cli/utils/quality.d.ts +10 -0
  141. package/dist/src/cli/utils/quality.js +10 -0
  142. package/dist/src/cli/utils/quality.js.map +1 -0
  143. package/dist/src/modules/agents/definitions.js +45 -40
  144. package/dist/src/modules/agents/definitions.js.map +1 -1
  145. package/dist/src/modules/agents/registry/manager.js +6 -1
  146. package/dist/src/modules/agents/registry/manager.js.map +1 -1
  147. package/dist/src/modules/engines/agent-executor.d.ts +6 -10
  148. package/dist/src/modules/engines/agent-executor.js +63 -21
  149. package/dist/src/modules/engines/agent-executor.js.map +1 -1
  150. package/dist/src/modules/engines/agent-loop.d.ts +34 -0
  151. package/dist/src/modules/engines/agent-loop.js +102 -0
  152. package/dist/src/modules/engines/agent-loop.js.map +1 -0
  153. package/dist/src/modules/engines/evaluation-engine.d.ts +12 -2
  154. package/dist/src/modules/engines/evaluation-engine.js +78 -11
  155. package/dist/src/modules/engines/evaluation-engine.js.map +1 -1
  156. package/dist/src/modules/engines/quality-gate.d.ts +13 -5
  157. package/dist/src/modules/engines/quality-gate.js +39 -31
  158. package/dist/src/modules/engines/quality-gate.js.map +1 -1
  159. package/dist/src/modules/engines/routing-engine.d.ts +5 -3
  160. package/dist/src/modules/engines/routing-engine.js +16 -9
  161. package/dist/src/modules/engines/routing-engine.js.map +1 -1
  162. package/dist/src/modules/gateway/cost-tracker.d.ts +5 -0
  163. package/dist/src/modules/gateway/cost-tracker.js +71 -0
  164. package/dist/src/modules/gateway/cost-tracker.js.map +1 -1
  165. package/dist/src/modules/gateway/gateway.d.ts +4 -0
  166. package/dist/src/modules/gateway/gateway.js +8 -0
  167. package/dist/src/modules/gateway/gateway.js.map +1 -1
  168. package/dist/src/shared/audit.js +3 -2
  169. package/dist/src/shared/audit.js.map +1 -1
  170. package/dist/src/shared/pii.d.ts +41 -9
  171. package/dist/src/shared/pii.js +122 -31
  172. package/dist/src/shared/pii.js.map +1 -1
  173. package/dist/src/shared/storage.d.ts +62 -0
  174. package/dist/src/shared/storage.js +47 -7
  175. package/dist/src/shared/storage.js.map +1 -1
  176. package/dist/tests/embedding.test.d.ts +1 -0
  177. package/dist/tests/embedding.test.js +82 -0
  178. package/dist/tests/embedding.test.js.map +1 -0
  179. package/dist/tests/engines/evaluation-engine.test.d.ts +1 -0
  180. package/dist/tests/engines/evaluation-engine.test.js +71 -0
  181. package/dist/tests/engines/evaluation-engine.test.js.map +1 -0
  182. package/dist/tests/engines/planning-engine.test.d.ts +1 -0
  183. package/dist/tests/engines/planning-engine.test.js +100 -0
  184. package/dist/tests/engines/planning-engine.test.js.map +1 -0
  185. package/dist/tests/engines/quality-gate.test.d.ts +1 -0
  186. package/dist/tests/engines/quality-gate.test.js +59 -0
  187. package/dist/tests/engines/quality-gate.test.js.map +1 -0
  188. package/dist/tests/engines/risk-engine.test.d.ts +1 -0
  189. package/dist/tests/engines/risk-engine.test.js +80 -0
  190. package/dist/tests/engines/risk-engine.test.js.map +1 -0
  191. package/dist/tests/engines/routing-engine.test.d.ts +1 -0
  192. package/dist/tests/engines/routing-engine.test.js +78 -0
  193. package/dist/tests/engines/routing-engine.test.js.map +1 -0
  194. package/dist/tests/integration/hermes_locking.test.js +1 -0
  195. package/dist/tests/integration/hermes_locking.test.js.map +1 -1
  196. package/dist/tests/modules/engines/agent-executor.test.js +1 -1
  197. package/dist/tests/modules/engines/agent-executor.test.js.map +1 -1
  198. package/dist/tests/modules/gateway/cost-tracker.test.js +20 -1
  199. package/dist/tests/modules/gateway/cost-tracker.test.js.map +1 -1
  200. package/dist/tests/shared/lock.test.d.ts +1 -0
  201. package/dist/tests/shared/lock.test.js +95 -0
  202. package/dist/tests/shared/lock.test.js.map +1 -0
  203. package/dist/tests/shared/pii.test.d.ts +1 -0
  204. package/dist/tests/shared/pii.test.js +183 -0
  205. package/dist/tests/shared/pii.test.js.map +1 -0
  206. package/framework-mcp/README.md +307 -35
  207. package/framework-mcp/dist/dashboard/assets/index-B_rK57vi.js +1221 -0
  208. package/framework-mcp/dist/dashboard/index.html +1 -1
  209. package/framework-mcp/dist/framework-mcp/src/index.js +988 -63
  210. package/framework-mcp/dist/framework-mcp/src/tools/compliance/mask_pii.js +55 -0
  211. package/framework-mcp/dist/framework-mcp/src/tools/definitions.js +10 -9
  212. package/framework-mcp/dist/framework-mcp/src/tools/framework/run_tests.js +25 -0
  213. package/framework-mcp/dist/framework-mcp/src/tools/index.js +7 -8
  214. package/framework-mcp/dist/framework-mcp/src/tools/messaging/approve_operation.js +80 -0
  215. package/framework-mcp/dist/framework-mcp/src/tools/messaging/ask_human.js +89 -20
  216. package/framework-mcp/dist/framework-mcp/src/tools/observability/check_ports.js +24 -8
  217. package/framework-mcp/dist/framework-mcp/src/tools/quality/analyze_code_quality.js +13 -64
  218. package/framework-mcp/dist/framework-mcp/src/tools/schemas.js +18 -22
  219. package/framework-mcp/dist/framework-mcp/src/tools/shell/run_command.js +146 -90
  220. package/framework-mcp/dist/framework-mcp/src/tools/types.js +1 -0
  221. package/framework-mcp/dist/framework-mcp/src/utils/auth.js +78 -0
  222. package/framework-mcp/dist/framework-mcp/src/utils/auto-rollback.js +265 -0
  223. package/framework-mcp/dist/framework-mcp/src/utils/compliance.js +12 -4
  224. package/framework-mcp/dist/framework-mcp/src/utils/context-optimizer.js +156 -0
  225. package/framework-mcp/dist/framework-mcp/src/utils/discipline.js +217 -0
  226. package/framework-mcp/dist/framework-mcp/src/utils/finops.js +325 -0
  227. package/framework-mcp/dist/framework-mcp/src/utils/human-in-loop.js +215 -0
  228. package/framework-mcp/dist/framework-mcp/src/utils/license-scanner.js +283 -0
  229. package/framework-mcp/dist/framework-mcp/src/utils/loop-detector.js +361 -0
  230. package/framework-mcp/dist/framework-mcp/src/utils/quality.js +124 -0
  231. package/framework-mcp/dist/framework-mcp/src/utils/rules-engine.js +231 -0
  232. package/framework-mcp/dist/framework-mcp/src/utils/silent-router.js +154 -0
  233. package/framework-mcp/dist/framework-mcp/src/utils/storage.js +2 -2
  234. package/framework-mcp/dist/framework-mcp/src/utils/telemetry-streamer.js +396 -0
  235. package/framework-mcp/dist/src/cli/platforms/core.js +72 -0
  236. package/framework-mcp/dist/src/cli/platforms/index.js +5 -0
  237. package/framework-mcp/dist/src/cli/platforms/paths.js +101 -0
  238. package/framework-mcp/dist/src/cli/platforms/scaffold.js +72 -0
  239. package/framework-mcp/dist/src/cli/platforms/utils.js +75 -0
  240. package/framework-mcp/dist/src/cli/utils/claude.js +57 -0
  241. package/framework-mcp/dist/src/cli/utils/compliance.js +12 -0
  242. package/framework-mcp/dist/src/cli/utils/fs.js +138 -0
  243. package/framework-mcp/dist/src/cli/utils/pkg.js +282 -0
  244. package/framework-mcp/dist/src/cli/utils/quality.js +9 -0
  245. package/framework-mcp/dist/src/modules/agents/definitions.js +563 -0
  246. package/framework-mcp/dist/src/modules/agents/registry/analyst.js +39 -0
  247. package/framework-mcp/dist/src/modules/agents/registry/architect.js +42 -0
  248. package/framework-mcp/dist/src/modules/agents/registry/backend.js +50 -0
  249. package/framework-mcp/dist/src/modules/agents/registry/database.js +45 -0
  250. package/framework-mcp/dist/src/modules/agents/registry/devops.js +45 -0
  251. package/framework-mcp/dist/src/modules/agents/registry/explorer.js +37 -0
  252. package/framework-mcp/dist/src/modules/agents/registry/frontend.js +52 -0
  253. package/framework-mcp/dist/src/modules/agents/registry/git.js +36 -0
  254. package/framework-mcp/dist/src/modules/agents/registry/manager.js +64 -0
  255. package/framework-mcp/dist/src/modules/agents/registry/mobile.js +41 -0
  256. package/framework-mcp/dist/src/modules/agents/registry/native.js +41 -0
  257. package/framework-mcp/dist/src/modules/agents/registry/quality.js +43 -0
  258. package/framework-mcp/dist/src/modules/agents/registry/security.js +42 -0
  259. package/framework-mcp/dist/src/modules/agents/types.js +1 -0
  260. package/framework-mcp/dist/src/modules/engines/evaluation-engine.js +169 -0
  261. package/framework-mcp/dist/src/modules/engines/quality-gate.js +92 -0
  262. package/framework-mcp/dist/src/modules/engines/risk-engine.js +105 -0
  263. package/framework-mcp/dist/src/modules/engines/routing-engine.js +408 -0
  264. package/framework-mcp/dist/src/modules/engines/types.js +1 -0
  265. package/framework-mcp/dist/src/modules/providers/definitions.js +140 -0
  266. package/framework-mcp/dist/src/modules/providers/registry.js +18 -0
  267. package/framework-mcp/dist/src/modules/providers/shared.js +104 -0
  268. package/framework-mcp/dist/src/modules/providers/types.js +1 -0
  269. package/framework-mcp/dist/src/modules/skills/adapter-skills.js +449 -0
  270. package/framework-mcp/dist/src/modules/skills/definitions.js +70 -0
  271. package/framework-mcp/dist/src/shared/audit.js +220 -0
  272. package/framework-mcp/dist/src/shared/errors.js +68 -0
  273. package/framework-mcp/dist/src/shared/lock.js +159 -0
  274. package/framework-mcp/dist/src/shared/pii.js +122 -31
  275. package/framework-mcp/dist/src/shared/retention.js +170 -0
  276. package/framework-mcp/dist/src/shared/storage.js +47 -7
  277. package/framework-mcp/dist/src/shared/string.js +29 -0
  278. package/framework-mcp/package.json +8 -2
  279. package/mcp.json +12 -6
  280. package/package.json +11 -5
  281. package/templates/full/ATABEY_FULL.md +1 -1
  282. package/framework-mcp/dist/dashboard/assets/index-BAPGLiWE.js +0 -267
package/README.md CHANGED
@@ -1,12 +1,14 @@
1
- # [GOV] Agent Atabey — MCP-Powered AI Governance & Autonomous Orchestration
1
+ # [GOV] Agent Atabey — MCP-Powered AI Governance & Multi-Agent Workflow Layer for AI Coding Assistants
2
2
 
3
- [![Version](https://img.shields.io/badge/Version-v0.0.13-blue.svg)](https://github.com/ysf-bkr/atabey)
3
+ [![Version](https://img.shields.io/badge/Version-v0.0.15-blue.svg)](https://github.com/ysf-bkr/atabey)
4
4
  [![npm](https://img.shields.io/npm/v/atabey)](https://www.npmjs.com/package/atabey)
5
5
  [![npm-mcp](https://img.shields.io/npm/v/atabey-mcp)](https://www.npmjs.com/package/atabey-mcp)
6
6
  [![MCP](https://img.shields.io/badge/MCP-Compatible-green.svg)](https://modelcontextprotocol.io)
7
7
  [![Type-Safety](https://img.shields.io/badge/Type--Safety-100%25-green.svg)](https://github.com/ysf-bkr/atabey)
8
8
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
9
- [![Tests](https://img.shields.io/badge/Tests-223%20passed-brightgreen)](https://github.com/ysf-bkr/atabey)
9
+ [![Tests](https://img.shields.io/badge/Tests-266%20passed-brightgreen)](https://github.com/ysf-bkr/atabey)
10
+ [![MCP Tools](https://img.shields.io/badge/MCP%20Tools-35-blue)](https://github.com/ysf-bkr/atabey)
11
+ [![Engine Tests](https://img.shields.io/badge/Engine%20Tests-56%20passed-brightgreen)](https://github.com/ysf-bkr/atabey)
10
12
 
11
13
  **Agent Atabey** is a **MCP (Model Context Protocol) server** that plugs directly into your AI coding interface — Claude Code, Gemini CLI, or Cursor — adding 13 specialized AI agents with enterprise-grade governance.
12
14
 
@@ -36,6 +38,9 @@ You (@backend): "Create a user login service with JWT authentication"
36
38
 
37
39
  **No separate terminal needed. No CLI commands for daily use.** Just chat with your AI and use `@agent` syntax.
38
40
 
41
+ > [!NOTE]
42
+ > **Execution Context:** The LLM inference/execution is handled entirely inside the developer's active AI interface (such as Claude Code or Cursor). Atabey acts as the context injector and policy engine, silently evaluating prompts, routing instructions, and checking output code against quality guidelines.
43
+
39
44
  ---
40
45
 
41
46
  ## 📋 Table of Contents
@@ -49,7 +54,6 @@ You (@backend): "Create a user login service with JWT authentication"
49
54
  - [Dashboard](#dashboard)
50
55
  - [CLI Reference](#cli-reference)
51
56
  - [Architecture](#architecture)
52
- - [LLM Gateway](#llm-gateway)
53
57
  - [Security](#security)
54
58
  - [Contributing](#contributing)
55
59
 
@@ -74,8 +78,9 @@ Atabey generates an `mcp.json` config. Point your AI assistant to it:
74
78
  "mcpServers": {
75
79
  "atabey": {
76
80
  "command": "npx",
77
- "args": ["atabey-mcp"],
81
+ "args": ["-y", "atabey-mcp"],
78
82
  "env": {
83
+ "MCP_TRANSPORT": "stdio",
79
84
  "ATABEY_PROJECT_ROOT": "/path/to/your/project"
80
85
  }
81
86
  }
@@ -85,8 +90,10 @@ Atabey generates an `mcp.json` config. Point your AI assistant to it:
85
90
 
86
91
  **Gemini CLI:**
87
92
  ```bash
93
+ # Stdio mode (local, single user)
88
94
  gemini config set mcpServers.atabey.command "npx"
89
- gemini config set mcpServers.atabey.args "[\"atabey-mcp\"]"
95
+ gemini config set mcpServers.atabey.args "[\"-y\", \"atabey-mcp\"]"
96
+ gemini config set mcpServers.atabey.env "{\"MCP_TRANSPORT\": \"stdio\", \"ATABEY_PROJECT_ROOT\": \"/path/to/your/project\"}"
90
97
  ```
91
98
 
92
99
  **Cursor:**
@@ -96,7 +103,10 @@ gemini config set mcpServers.atabey.args "[\"atabey-mcp\"]"
96
103
  "mcpServers": {
97
104
  "atabey": {
98
105
  "command": "npx",
99
- "args": ["atabey-mcp"]
106
+ "args": ["-y", "atabey-mcp"],
107
+ "env": {
108
+ "MCP_TRANSPORT": "stdio"
109
+ }
100
110
  }
101
111
  }
102
112
  }
@@ -129,8 +139,8 @@ Open your AI interface and simply type:
129
139
  ├──────────────────────────────────────────────────────────────────┤
130
140
  │ ATABEY MCP SERVER │
131
141
  │ ┌──────────────────────────────────────────────────────────┐ │
132
- │ │ 30+ Tools: read_file, write_file, send_message, │ │
133
- │ │ orchestrate_loop, run_tests, check_lint, query_gateway │ │
142
+ │ │ 34 Tools: read_file, write_file, send_message, │ │
143
+ │ │ orchestrate_loop, run_tests, check_lint │ │
134
144
  │ └──────────────────────────────────────────────────────────┘ │
135
145
  ├──────────────────────────────────────────────────────────────────┤
136
146
  │ GOVERNANCE LAYER │
@@ -177,34 +187,42 @@ npx atabey dashboard
177
187
 
178
188
  ## Profile-Based Setup
179
189
 
180
- Choose the profile that matches your team size. Atabey automatically configures the right agents, directories, and governance rules.
190
+ Choose the profile that matches your team size. You can also customize your setup using **`--focus`** and **`--lang`** options to match your project type and preferred language.
181
191
 
182
192
  ### `--profile freelancer` (1-3 people)
183
193
 
184
194
  ```bash
195
+ # Default setup (Fullstack)
185
196
  npx atabey init gemini --profile freelancer
197
+
198
+ # Custom focus (Mobile) in English
199
+ npx atabey init gemini --profile freelancer --focus mobile --lang en --yes
186
200
  ```
187
201
 
188
202
  | Feature | What You Get |
189
203
  |---------|-------------|
190
- | **Agents** | `@manager`, `@backend`, `@quality` (3 agents) |
204
+ | **Agents** | `@manager`, `@quality` + focus-specific agents (`@backend` for backend, `@frontend` for frontend, `@mobile` for mobile) |
191
205
  | **Setup Time** | ~10 seconds |
192
- | **Daily Workflow** | Chat with AI using `@backend`, `@quality` |
206
+ | **Daily Workflow** | Chat with AI using focus-specific specialist agents |
193
207
  | **Governance** | Basic quality gate + risk engine |
194
208
  | **Why?** | Minimal overhead, just code |
195
209
 
196
210
  ### `--profile team` (5-15 people)
197
211
 
198
212
  ```bash
213
+ # Default setup (Fullstack)
199
214
  npx atabey init gemini --profile team --unified
215
+
216
+ # Custom focus (Backend-only)
217
+ npx atabey init gemini --profile team --focus backend --yes
200
218
  ```
201
219
 
202
220
  | Feature | What You Get |
203
221
  |---------|-------------|
204
- | **Agents** | 7 core agents (manager, security, architect, backend, frontend, quality, database) |
222
+ | **Agents** | 5-8 focus-specific agents (e.g. manager, architect, backend, quality, database, security for backend focus) |
205
223
  | **Setup Time** | ~30 seconds |
206
224
  | **Daily Workflow** | Multi-agent collaboration with quality gate |
207
- | **Dashboard** | 8 live modules, WebSocket real-time |
225
+ | **Dashboard** | 12 live modules, WebSocket real-time (shows only configured agents) |
208
226
  | **Governance** | Quality gate + risk engine + contract validation |
209
227
  | **Why?** | Team-scale governance without overhead |
210
228
 
@@ -219,20 +237,23 @@ npx atabey init gemini --profile enterprise
219
237
  | **Agents** | All 13 agents (Supreme + Core + Recon) |
220
238
  | **Setup Time** | ~1 minute |
221
239
  | **Daily Workflow** | Full governance with human-in-the-loop |
222
- | **Dashboard** | 8 modules + audit/error/memory tracking |
240
+ | **Dashboard** | 12 modules + audit/error/memory tracking |
223
241
  | **Security** | Human-in-the-Loop, KVKK PII masking, audit log |
224
242
 
225
243
  ### Custom Setup
226
244
 
227
245
  ```bash
228
246
  npx atabey init gemini
229
- # Interactive menu: choose agents, directories, colors manually
247
+ # Interactive menu: choose agents, directories, focus, languages, and colors manually
230
248
  ```
231
249
 
232
250
  ---
233
251
 
234
252
  ## 13 Specialized Agents
235
253
 
254
+ > [!NOTE]
255
+ > Each agent listed below represents a specialized prompt and rule-template context injected via the MCP server. The actual reasoning and file modification are performed by the developer's active client AI interface using the instructions supplied by these agents.
256
+
236
257
  | Agent | Tier | Role | Freelancer | Team | Enterprise |
237
258
  |-------|------|------|:----------:|:----:|:----------:|
238
259
  | **@manager** | Supreme | Orchestration, governance, quality gate | ✅ | ✅ | ✅ |
@@ -256,30 +277,208 @@ npx atabey init gemini
256
277
  ### 1. Deterministic Quality Gate
257
278
  No agent can push code directly to production. All outputs pass through AST analysis (compliance), linting, and unit tests. Failed code triggers an automatic 3-attempt retry loop.
258
279
 
259
- ### 2. Autonomous Vector Memory
280
+ ### 2. Persistent Vector Memory
260
281
  Project context, contracts, and past tasks are stored locally via `better-sqlite3` using TF-IDF semantic search (cosine similarity). Agents search past architectural decisions.
261
282
 
262
283
  ### 3. Hermes Message Broker
263
284
  Agents communicate asynchronously via a SQLite-backed message queue. A file-based lock protocol prevents race conditions.
264
285
 
265
- ### 4. Risk Engine (Human-in-the-Loop)
266
- Operations containing `DROP`, `DELETE`, `TRUNCATE`, or secret manipulation are flagged. Execution is blocked until human approval via `atabey approve <traceId>`.
286
+ ### 4. Risk Engine (Human-in-the-Loop — In-Chat Approval)
287
+ Operations containing `DROP`, `DELETE`, `TRUNCATE`, or secret manipulation are flagged. Execution is blocked until human approval.
288
+
289
+ > [!NOTE]
290
+ > **Heuristic Detection:** The Risk Engine relies on deterministic keyword and path-pattern heuristics (e.g., matching SQL command strings) rather than complex machine learning models to identify and block high-risk operations.
291
+
292
+ **In-Chat Approval (no terminal switch needed):**
293
+ When an operation is blocked, the AI is instructed to call the `approve_operation` MCP tool:
294
+ ```
295
+ # AI calls this tool directly in chat:
296
+ approve_operation { "action": "approve", "traceId": "trace-xyz" }
297
+ approve_operation { "action": "reject", "traceId": "trace-xyz" }
298
+ approve_operation { "action": "list" } # See all pending approvals
299
+ ```
300
+
301
+ **Alternative (terminal):** `atabey approve <traceId>`
267
302
 
268
303
  ### 5. Smart Routing Engine
269
304
  TF-IDF keyword matching routes natural language tasks to the most capable agent. Uses specialized weights for all 13 agents.
270
305
 
271
306
  ### 6. Web Dashboard
272
- Real-time WebSocket dashboard with 8 live modules. Fully responsive (mobile + desktop).
307
+ Real-time WebSocket dashboard with 12 live modules. Fully responsive (mobile + desktop).
273
308
 
274
- ### 7. LLM Gateway & Load Balancer
275
- Load balancing across multiple LLM providers (OpenAI, Anthropic, Google, Groq, Ollama) with circuit breaker, rate limiting, and cost tracking.
276
-
277
- ### 8. Multi-Platform Support
309
+ ### 7. Multi-Platform Support
278
310
  Claude Code, Gemini CLI, Cursor, Codex CLI, Antigravity CLI — automatic agent configuration for all platforms.
279
311
 
280
- ### 9. Polyglot Backend Support
312
+ ### 8. Polyglot Backend Support
281
313
  Node.js, Go, Java, Python, .NET — automatic scaffolding based on backend language selection.
282
314
 
315
+ ### 9. Multi-User Distributed Lock Registry
316
+ When multiple developers work on the same repository, their contextual agents might attempt to modify the same files simultaneously. Atabey implements a Git-aware distributed locking mechanism (`DistributedLock`). It dynamically identifies the lock owner using `git config user.name` and blocks other processes from mutating the locked resources until released or expired, preventing merge conflicts and race conditions.
317
+
318
+ ### 10. Multi-Client MCP Support (Stdio + HTTP/SSE)
319
+ Atabey supports two transport modes:
320
+
321
+ **Stdio Mode (Default - Each developer runs their own instance):**
322
+ ```bash
323
+ # Each developer on their own machine
324
+ atabey mcp start
325
+ ```
326
+
327
+ **HTTP/SSE Mode (Single server serves the entire team):**
328
+ ```bash
329
+ # Run on a shared server or one developer's machine
330
+ MCP_TRANSPORT=http MCP_PORT=5858 atabey mcp start
331
+ ```
332
+ ```json
333
+ // Each developer's mcp.json:
334
+ {
335
+ "mcpServers": {
336
+ "atabey": {
337
+ "url": "http://192.168.1.100:5858/sse"
338
+ }
339
+ }
340
+ }
341
+ ```
342
+ In SSE mode, multiple IDEs/clients can connect simultaneously. Each client gets a dedicated session. Configure via `MCP_PORT` (default: **5858**) and `MCP_HOST` environment variables.
343
+
344
+ ### 11. AI Discipline Engine (Tool-Level Governance)
345
+ Atabey enforces strict AI behavior rules **at the MCP middleware layer** — AI cannot bypass these:
346
+
347
+ - **Rate Limiting**: Max 60 calls/minute per agent (configurable via `MCP_MAX_CALLS_PER_MINUTE`)
348
+ - **File Size Limits**: Prevents reading/writing files >1MB (configurable via `MCP_MAX_FILE_SIZE`)
349
+ - **Tool Blacklist/Whitelist**: Per-agent tool access control (`MCP_RESTRICTED_TOOLS`, `MCP_AGENT_TOOL_WHITELIST`)
350
+ - **Loop Detection**: Blocks consecutive same-tool calls (>10 in a row triggers cooldown)
351
+ - **Response Validation**: Checks response size and binary content before returning to AI
352
+ - **Cooldown Mechanism**: Automatic cooldown when limits are exceeded
353
+
354
+ > **Note:** `run_shell_command` is **not restricted by default** — it uses a command allowlist (`npm test`, `git`, `go test`, etc.) with shell metacharacter injection protection. Restrict specific commands via `MCP_RESTRICTED_TOOLS` if needed.
355
+
356
+ ```bash
357
+ # Restrict specific tools (optional, empty by default)
358
+ export MCP_RESTRICTED_TOOLS="some_dangerous_tool"
359
+ export MCP_AGENT_TOOL_WHITELIST="@backend:read_file,write_file,replace_text"
360
+ ```
361
+
362
+ ### 12. Token Economy & Cost Tracking
363
+ Every MCP tool call is tracked for token usage and estimated cost:
364
+
365
+ - **Per-Agent Metrics**: Total calls, tokens consumed, estimated cost per agent
366
+ - **Per-Action Metrics**: Most expensive operations tracked
367
+ - **Dashboard Integration**: Real-time cost visualization in the Metrics panel
368
+ - **Cost Calculation**: Estimated at $0.003 per 1K tokens
369
+
370
+ ```bash
371
+ # View metrics via API
372
+ curl http://localhost:5858/api/metrics
373
+ ```
374
+
375
+ ### 13. MCP Authentication (HTTP/SSE Mode)
376
+ When running in HTTP/SSE mode, API and MCP routes are protected with Bearer token authentication:
377
+
378
+ ```bash
379
+ # Set auth token
380
+ export MCP_AUTH_TOKEN="your-secret-token"
381
+
382
+ # Client connects with token
383
+ curl -H "Authorization: Bearer your-secret-token" http://localhost:5858/api/status
384
+ ```
385
+
386
+ - Public endpoints: `/api/health`, `/mcp/health`, static UI
387
+ - Protected endpoints: all `/api/*` and `/mcp/*` routes
388
+ - Unauthorized requests return 401 with configuration instructions
389
+
390
+ ### 14. Data Classification & Portability
391
+ Atabey automatically classifies data into security levels:
392
+
393
+ | Level | Description | Example |
394
+ |-------|-------------|---------|
395
+ | **public** | No sensitive data | General code |
396
+ | **internal** | Project-internal data | Configuration |
397
+ | **confidential** | PII detected | Emails, phones |
398
+ | **restricted** | Highly sensitive | API keys, tokens, IBAN |
399
+ | **critical** | Security-critical | Credentials, secrets |
400
+
401
+ Data portability (KVKK Art. 11 / GDPR Art. 20):
402
+ ```bash
403
+ # View agent statuses, token usage, and cost distributions
404
+ atabey status
405
+
406
+ # Run full health and compliance checks
407
+ atabey check
408
+ ```
409
+
410
+ ### 15. Adapter-Skill System
411
+ Each AI platform (Claude, Gemini, Cursor, Codex) has a unique skill mapping:
412
+
413
+ - **Platform-Specific Tool Mapping**: Internal tool names → platform-native identifiers
414
+ - **Skill-Based Agent Configuration**: Each agent gets platform-optimized tool sets
415
+ - **Unified Hub**: `.agents/` directory supports multi-adapter configurations
416
+
417
+ ### 16. Explorer & Security Audit Commands
418
+ Built-in codebase analysis tools:
419
+
420
+ ```bash
421
+ # Generate dependency graph
422
+ atabey explorer graph src/
423
+
424
+ # Run security audit
425
+ atabey security src/
426
+
427
+ # Audit code quality
428
+ atabey explorer audit src/
429
+ ```
430
+
431
+ ### 17. Memory Layers
432
+ Atabey uses a multi-layered memory architecture:
433
+
434
+ | Layer | Description | Storage |
435
+ |-------|-------------|---------|
436
+ | **Core Memory** | Project state, trace, status | SQLite + JSON |
437
+ | **Vector Memory** | TF-IDF document embeddings | SQLite |
438
+ | **Knowledge Base** | Structured project knowledge | SQLite |
439
+ | **Task Store** | Planned tasks with DAG dependencies | SQLite |
440
+ | **Audit Logs** | All operation records | SQLite |
441
+ | **Specialty Memory** | Per-agent learned conventions | Markdown files |
442
+
443
+ ### 18. GDPR & KVKK - Automated PII Masking
444
+ Atabey implements **multi-layer PII masking** for compliance with KVKK (Turkish Law No. 6698) and GDPR (European Union):
445
+
446
+ **Layer 1 - MCP Middleware (Automatic):**
447
+ All MCP tool calls are intercepted:
448
+ - **Args Masking**: Tool arguments from the AI are masked before reaching the handler
449
+ - **Result Masking**: Handler results are masked before returning to the AI
450
+ - **No sensitive data ever reaches the AI model**
451
+
452
+ **Layer 2 - Logger PII Masking:**
453
+ All log entries are scanned for PII before being written. Sensitive data is automatically redacted.
454
+
455
+ **Layer 3 - Manual `mask_pii` Tool:**
456
+ Users can manually mask text or objects on demand:
457
+ ```
458
+ mask_pii(text: "Email: user@example.com") → "Email: ***@***"
459
+ ```
460
+
461
+ **Supported Patterns:**
462
+ | Pattern | Example | Masked |
463
+ |---------|---------|--------|
464
+ | Email | `user@example.com` | `***@***` |
465
+ | Phone | `+90 555 123 45 67` | `***-***-****` |
466
+ | TC ID (Turkish ID) | `12345678901` | `***********` |
467
+ | API Key | `sk-abc...xyz` | `***-REDACTED-***` |
468
+ | JWT Token | `eyJ...eyJ...` | `***-JWT-REDACTED-***` |
469
+ | IP Address | `192.168.1.1` | `***.***.***.***` |
470
+ | Credit Card | `4111 1111 1111 1111` | `****-****-****-****` |
471
+ | IBAN | `TR33...1326` | `****-IBAN-REDACTED-****` |
472
+ | Date of Birth | `15/08/1990` | `**/**/****` |
473
+ | SSN | `123-45-6789` | `***-**-****` |
474
+
475
+ **Dashboard GDPR/KVKK Panel:**
476
+ - PII masked/detected statistics
477
+ - Data category distribution (USER_DATA, SECURITY, COMPLIANCE, RESTRICTED)
478
+ - Audit trail with masked data details
479
+ - GDPR Art. 17 / KVKK Art. 7 - Right to Erasure (Unutulma Hakkı) execution
480
+ - Category filter for event viewing
481
+
283
482
  ---
284
483
 
285
484
  ## Dashboard
@@ -291,30 +490,50 @@ npx atabey dashboard # Opens at http://localhost:5858
291
490
  | Module | Description | Update |
292
491
  |--------|-------------|--------|
293
492
  | 🤖 **Agent Monitor** | AI agent status + tasks | WS (5s) |
294
- | 📨 **Hermes Messages** | Message queue + filter | WS (5s) |
295
- | 🔐 **Approval Center** | Human approvals | WS |
493
+ | 📨 **Hermes Stats** | Message queue statistics | WS (5s) |
494
+ | 💬 **Hermes Messages** | Message queue viewer + filter | WS (5s) |
495
+ | 🔐 **Approval Center** | Human-in-the-Loop approvals | WS |
296
496
  | 📋 **Task Planner** | Task DAG + progress | REST (5s) |
297
497
  | 📝 **Agent Logs** | Execution logs | WS (5s) |
298
- | ⚠️ **Error Tracker** | Lint/compliance errors | WS |
498
+ | ⚠️ **Error Tracker** | Lint/compliance/security errors | WS |
299
499
  | 🧠 **Memory Insights** | Vector memory search | REST |
300
- | 🛡️ **Compliance** | Quality gate status | REST (15s) |
500
+ | 🛡️ **Compliance** | Quality gate violations | REST (15s) |
501
+ | ✅ **Quality Panel** | Code quality analysis | REST |
502
+ | 🔌 **Adapters** | Adapter-skill mapping | REST |
503
+ | 🔒 **GDPR / KVKK** | PII masking, erasure, audit trail | REST |
504
+ | 📊 **Dashboard** | System overview | Mixed |
301
505
 
302
506
  ---
303
507
 
304
508
  ## CLI Reference
305
509
 
306
510
  ```bash
307
- atabey init [adapter] Initialize Atabey (--profile freelancer|team|enterprise)
308
- atabey mcp start Start MCP server (connects to your AI interface)
309
- atabey mcp install Generate mcp.json config for AI integration
310
- atabey dashboard [port] Open web dashboard (default: 5858)
311
- atabey status Show agent statuses and costs
312
- atabey check Full health and compliance check
313
- atabey orchestrate Start autonomous orchestration loop
314
- atabey approve <traceId> Approve a blocked high-risk task
315
- atabey @agent "task" Send task directly to an agent
511
+ atabey init [adapter] Initialize Atabey (--profile freelancer|team|enterprise)
512
+ atabey mcp start Start MCP server (connects to your AI interface)
513
+ atabey mcp install Generate mcp.json config for AI integration
514
+ atabey dashboard [port] Open web dashboard (default: 5858)
515
+ atabey status Show agent statuses and costs
516
+ atabey check Full health and compliance check
517
+ atabey orchestrate Start orchestration workflow loop
518
+ atabey approve <traceId> Approve a blocked high-risk task (terminal alternative)
519
+ atabey hitl answer "<text>" Answer a pending ask_human question
520
+ atabey @agent "task" Send task directly to an agent
316
521
  ```
317
522
 
523
+ ### `atabey init [adapter]` Options
524
+
525
+ | Option | Values | Description |
526
+ |---|---|---|
527
+ | `[adapter]` | `gemini`, `claude`, `cursor`, `grok`, `codex`, `local`, `antigravity-cli` | The target AI platform/client for initialization. |
528
+ | `--profile` | `freelancer`, `team`, `enterprise` | Preset agent group layout and governance complexity. |
529
+ | `--focus` | `fullstack`, `backend`, `frontend`, `mobile`, `mobile-fullstack` | Optimize active agents and templates for the project type. |
530
+ | `--lang` | `tr`, `en` | Set the language for constitution (`ATABEY.md`) and standard operating procedures. |
531
+ | `--unified` | *None (Flag)* | Place all agent instruction files under a single `.agents/` directory with native client links. |
532
+ | `--yes` | *None (Flag)* | Run in non-interactive mode using default or provided parameters. |
533
+ | `--dryRun` | *None (Flag)* | Simulate the initialization run without writing any files or folders to the workspace. |
534
+
535
+ > **In-chat alternative:** Use `approve_operation` MCP tool directly in your AI CLI chat — no terminal switch needed.
536
+
318
537
  Full command list: see `atabey help` or [ARCHITECTURE.md](ARCHITECTURE.md)
319
538
 
320
539
  ---
@@ -327,7 +546,7 @@ Full command list: see `atabey help` or [ARCHITECTURE.md](ARCHITECTURE.md)
327
546
  │ @backend Create login service (in Claude/Gemini/Cursor) │
328
547
  ├──────────────────────────────────────────────────────────────────┤
329
548
  │ MCP Server (framework-mcp/) │
330
- 30+ Tools · Stdio Transport
549
+ 34 Tools · Stdio Transport
331
550
  │ Zod Validation · Error Handling │
332
551
  ├──────────────────────────────────────────────────────────────────┤
333
552
  │ src/cli/ 30+ Commands │
@@ -346,35 +565,164 @@ Full command list: see `atabey help` or [ARCHITECTURE.md](ARCHITECTURE.md)
346
565
 
347
566
  ---
348
567
 
349
- ## LLM Gateway
568
+ ## Implemented Governance Features
350
569
 
351
- Atabey provides an integrated gateway for managing multiple LLM providers:
570
+ > These features were previously listed as "Blind Spots" but are now fully implemented:
352
571
 
353
- | Provider | Models | Status |
354
- |----------|--------|--------|
355
- | **OpenAI** | GPT-4, GPT-4o, o3, o4-mini | Active |
356
- | **Anthropic** | Claude Opus 4.5, Sonnet 4.5, Haiku 3.5 | Active |
357
- | **Google** | Gemini 2.5 Pro, Flash, Flash-Lite | Active |
358
- | **Groq** | Llama, Mixtral (fast inference) | ✅ Active |
359
- | **Ollama** | Local models (LLaMA, Mistral, etc.) | Active |
572
+ | # | Feature | Status | Implementation |
573
+ |---|---------|--------|---------------|
574
+ | 1 | Token Budget / Circuit Breaker | ✅ **Implemented** | `context-optimizer.ts` — budget tracking, per-agent limits, 50/80/90/100% alert thresholds |
575
+ | 2 | Silent Semantic Routing | ✅ **Implemented** | `silent-router.ts` TF-IDF detection, stealth context injection via tool response |
576
+ | 3 | In-Chat Human-in-the-Loop | ✅ **Implemented** | `approve_operation` MCP tool approve/reject/list without leaving AI CLI chat |
577
+ | 4 | Prompt Conflict Resolution (Auto-Rollback) | ✅ **Implemented** | `auto-rollback.ts` — AST scan, secret detection, file snapshot + restore + instruction |
578
+ | 5 | Distributed CLI Telemetry | 🟡 **Partial** | `telemetry-streamer.ts` local JSONL + HTTPS batch ready; central server not yet deployed |
360
579
 
361
- ```bash
362
- npx atabey gateway status
363
- npx atabey gateway configure
580
+ ---
581
+
582
+ ## 🔍 Detailed Feature Analysis
583
+
584
+ ### Auto-Rollback & Rollback Mechanism
585
+ `framework-mcp/src/utils/auto-rollback.ts`
586
+
587
+ **How It Works:**
588
+ ```
589
+ [AI write_file/replace_text/patch_file call]
590
+
591
+ ├── 1. Pre-Write Snapshot → Original file content saved (SnapshotManager)
592
+ ├── 2. Tool executes → File is written
593
+ ├── 3. Post-Write Validation → rules-engine.ts GOV scan
594
+ │ ├── ✅ Clean → Allow, clear snapshot
595
+ │ └── ❌ Violation (any type, console.log, secret, copyleft) →
596
+ │ ├── Original file restored
597
+ │ ├── New file deleted
598
+ │ └── REGENERATE instruction sent to AI:
599
+ │ "⛔ AI Output Blocked – Governance Violation
600
+ │ 🔴 No `any` Type (file.ts:5)
601
+ │ Fix: Replace `any` with `unknown`"
602
+ └── Dashboard WS → rollback_violation event
364
603
  ```
365
604
 
605
+ **Detected Violations:**
606
+ | Violation | Severity | Detection |
607
+ |-----------|----------|-----------|
608
+ | `any` type usage | 🔴 CRITICAL | Regex: `: any\b` |
609
+ | `console.log`/`.error`/`.warn`/`.debug` | 🔴 CRITICAL | Regex (exempts logger.ts) |
610
+ | Hardcoded API Key (sk-, ghp_, AIza) | 🟠 HIGH | Regex pattern |
611
+ | Hardcoded GitHub Token | 🟠 HIGH | `ghp_` pattern |
612
+ | Copyleft license violation | 🔴 CRITICAL | `license-scanner.ts` |
613
+
614
+ **Test Status:** ✅ `auto-rollback.test.ts` — 14 tests, 228 lines, all scenarios covered.
615
+
616
+ **Critical Assessment:** Working. The `buildRegenerateInstruction()` method tells the AI exactly what it did wrong and how to fix it. This is far more valuable than simple blocking.
617
+
618
+ ---
619
+
620
+ ### Specialty Memory (Agent Learning Mechanism)
621
+ `src/modules/engines/evaluation-engine.ts`
622
+
623
+ | Status | Detail |
624
+ |--------|--------|
625
+ | ✅ **Error Learning** | Compliance/lint/test failure → `updateSpecialtyMemory()` writes to `.atabey/memory/specialties/<agent>.md` |
626
+ | ❌ **Success Learning** | No mechanism to extract lessons from successful tasks |
627
+ | ❌ **Auto-Injection** | `readLearnedConventions()` exists but is not automatically injected into AI context |
628
+ | ⚠️ **Learning Opportunity** | Agent never asked "What did I learn from this task?" on completion |
629
+
630
+ **Current Flow:**
631
+ ```
632
+ Task → Evaluation → Any errors?
633
+ ├── Yes → `updateSpecialtyMemory(agent, "Compliance Violations Detected...")`
634
+ └── No → Nothing saved (❌)
635
+ ```
636
+
637
+ **Desired Flow:**
638
+ ```
639
+ Task → Evaluation →
640
+ ├── Error → Save error lesson
641
+ └── Success → Save success lesson: "agent/service pattern was used successfully"
642
+ ```
643
+
644
+ ---
645
+
646
+ ### Token/Cost Tracking (FinOps)
647
+ `framework-mcp/src/utils/finops.ts`
648
+
649
+ | Feature | Status |
650
+ |---------|--------|
651
+ | ✅ Per-agent token tracking | Every MCP tool call logged via `Metrics.logUsage()` |
652
+ | ✅ Monthly budget | `ATABEY_BUDGET_MONTHLY` env for USD-based limit |
653
+ | ✅ Per-agent budget | `ATABEY_BUDGET_AGENT_MAX` for agent-based limit |
654
+ | ✅ Auto-shutdown | MCP middleware returns error when budget exceeded |
655
+ | ✅ Alert thresholds | 50/80/90/100% warning levels |
656
+ | ✅ Dashboard panel | FinOpsPanel.tsx with live visualization |
657
+ | ✅ API endpoint | `GET /api/metrics` — agent/action level detail |
658
+ | ❌ **Weekly Summary** | `atabey status` output does not provide a weekly rollup overview |
659
+
660
+ **Usage:** `framework-mcp/src/index.ts` (lines 150-153) calls `Metrics.logUsage()` on every tool call.
661
+
662
+ ---
663
+
664
+ ### KVKK/GDPR Data Privacy
665
+ `src/shared/pii.ts`
666
+
667
+ | Pattern | Mask | Test |
668
+ |---------|------|------|
669
+ | Email | `***@***` | ✅ |
670
+ | Phone (+90 TR, international) | `***-***-****` | ✅ |
671
+ | TC ID (11 digits) | `***********` | ✅ |
672
+ | API Key (OpenAI, GitHub, Google) | `***-REDACTED-***` | ✅ |
673
+ | JWT Token | `***-JWT-REDACTED-***` | ✅ |
674
+ | IP (IPv4, IPv6) | `***.***.***.***` | ✅ |
675
+ | Credit Card (AMEX included) | `****-****-****-****` | ✅ |
676
+ | IBAN | `****-IBAN-REDACTED-****` | ✅ |
677
+ | Date of Birth | `**/**/****` | ✅ |
678
+ | SSN (US) | `***-**-****` | ✅ |
679
+ | Password/Secret fields | `***-REDACTED-***` | ✅ |
680
+
681
+ **Layered Protection:**
682
+ 1. **MCP Middleware** — `maskToolArgs()`: AI arguments masked before reaching handler
683
+ 2. **MCP Middleware** — `maskToolResult()`: Handler result masked before returning to AI
684
+ 3. **Logger** — All log entries scanned for PII
685
+ 4. **Dashboard API** — All API responses masked
686
+
687
+ **Dashboard:** PrivacyPanel.tsx — PII masked/detected statistics, category distribution, Right to Erasure.
688
+
689
+ ---
690
+
691
+ ### 🐞 Detected Issues
692
+
693
+ | # | Issue | File | Fix |
694
+ |---|-------|------|-----|
695
+ | 1 | `MCP_TRANSPORT=stdio` env missing | `src/cli/commands/mcp.ts:66` | Added `MCP_TRANSPORT: "stdio"` |
696
+ | 2 | No success task learning | `src/modules/engines/evaluation-engine.ts` | `updateSpecialtyMemory()` should be called on success too |
697
+ | 3 | Specialty memory not auto-injected into AI | `silent-router.ts` / `discipline.ts` | `.atabey/memory/specialties/*.md` content should be injected on agent calls |
698
+ | 4 | No weekly cost summary | `finops.ts` | Add weekly rollup statistics to `atabey status` command |
699
+
700
+ ---
701
+
702
+ ## Strategic Roadmap
703
+
704
+ | # | Feature | Priority | Status |
705
+ |---|---------|----------|--------|
706
+ | 1 | Agent specialty memory → auto-sync to agent files | 🟠 High | 🟡 **Partial** (error learning only) |
707
+ | 2 | MCP `prompts/` endpoint for session-level governance injection | 🟠 High | Planned |
708
+ | 3 | Central Enterprise Server (telemetry ingest + org dashboard) | 🟡 Medium | Planned |
709
+ | 4 | Dynamic rule loading from `.atabey/rules/*.json` | 🟡 Medium | Planned |
710
+
366
711
  ---
367
712
 
368
713
  ## Security
369
714
 
715
+ ### Enterprise-Grade Governance
716
+ Atabey defines "enterprise-grade" through deterministic rules: AST compliance parsing, strict TypeScript type validation (zero `any`), syntax/linter checks, and automated unit tests, rather than unpredictable probabilistic algorithms.
717
+
370
718
  ### Zero Type Hole Policy
371
719
  - `any` type usage is **strictly forbidden**
372
720
  - All function inputs validated with Zod schemas
373
721
  - Type safety enforced in CI pipeline
374
722
 
375
- ### Zero Mock Policy
376
- - Mock data usage is **forbidden** (except 3rd party services)
377
- - Tests run against real implementations
723
+ ### Prudent Mocking Policy
724
+ - Core governance logic, schemas, and rule engines are verified against real implementations without mock data.
725
+ - Unit and integration boundaries (such as remote Hermes polling loops, network calls, and LLM provider interfaces) utilize lightweight, standard mocks to ensure isolation and fast test execution.
378
726
 
379
727
  ### PII Masking (KVKK Compliant)
380
728
  - All logs scanned for Personally Identifiable Information
@@ -384,14 +732,15 @@ npx atabey gateway configure
384
732
  ### Human-in-the-Loop
385
733
  - Risk score ≥ 60 requires human approval
386
734
  - `DROP`, `DELETE`, `TRUNCATE` operations blocked
387
- - Approval via `atabey approve <traceId>`
735
+ - **In-chat approval:** `approve_operation` MCP tool (no terminal switch)
736
+ - **Terminal fallback:** `atabey approve <traceId>`
388
737
 
389
738
  ---
390
739
 
391
740
  ## Testing
392
741
 
393
742
  ```bash
394
- npm test # Run all tests (223 passing)
743
+ npm test # Run all tests (266 passing)
395
744
  npm run test:watch # Watch mode
396
745
  npm run test:coverage # Coverage report
397
746
  ```