agent-enderun 1.1.4 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (539) hide show
  1. package/.github/workflows/ci.yml +40 -0
  2. package/ENDERUN.md +36 -38
  3. package/README.md +12 -8
  4. package/bin/validate-agent-army.js +27 -12
  5. package/dist/framework-mcp/src/index.js +7 -1
  6. package/dist/framework-mcp/src/index.js.map +1 -1
  7. package/dist/framework-mcp/src/tools/definitions.js +1 -0
  8. package/dist/framework-mcp/src/tools/definitions.js.map +1 -1
  9. package/dist/framework-mcp/src/tools/file_system/patch_file.js +3 -0
  10. package/dist/framework-mcp/src/tools/file_system/patch_file.js.map +1 -1
  11. package/dist/framework-mcp/src/tools/file_system/read_file.js +7 -0
  12. package/dist/framework-mcp/src/tools/file_system/read_file.js.map +1 -1
  13. package/dist/framework-mcp/src/tools/file_system/replace_text.js +3 -0
  14. package/dist/framework-mcp/src/tools/file_system/replace_text.js.map +1 -1
  15. package/dist/framework-mcp/src/tools/messaging/send_message.js +41 -11
  16. package/dist/framework-mcp/src/tools/messaging/send_message.js.map +1 -1
  17. package/dist/framework-mcp/src/tools/types.d.ts +1 -0
  18. package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.d.ts +1 -0
  19. package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js +187 -0
  20. package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js.map +1 -0
  21. package/dist/framework-mcp/tests/tools/messaging/send_message.test.d.ts +1 -0
  22. package/dist/framework-mcp/tests/tools/messaging/send_message.test.js +115 -0
  23. package/dist/framework-mcp/tests/tools/messaging/send_message.test.js.map +1 -0
  24. package/dist/init-adapters/antigravity-cli/.agents/BRAIN_DASHBOARD.md +11 -0
  25. package/dist/init-adapters/antigravity-cli/.agents/STATUS.md +3 -0
  26. package/dist/init-adapters/antigravity-cli/.agents/agents/analyst/agent.json +28 -0
  27. package/dist/init-adapters/antigravity-cli/.agents/agents/architect/agent.json +30 -0
  28. package/dist/init-adapters/antigravity-cli/.agents/agents/backend/agent.json +30 -0
  29. package/dist/init-adapters/antigravity-cli/.agents/agents/database/agent.json +29 -0
  30. package/dist/init-adapters/antigravity-cli/.agents/agents/devops/agent.json +28 -0
  31. package/dist/init-adapters/antigravity-cli/.agents/agents/explorer/agent.json +29 -0
  32. package/dist/init-adapters/antigravity-cli/.agents/agents/frontend/agent.json +29 -0
  33. package/dist/init-adapters/antigravity-cli/.agents/agents/git/agent.json +28 -0
  34. package/dist/init-adapters/antigravity-cli/.agents/agents/manager/agent.json +30 -0
  35. package/dist/init-adapters/antigravity-cli/.agents/agents/mobile/agent.json +29 -0
  36. package/dist/init-adapters/antigravity-cli/.agents/agents/native/agent.json +29 -0
  37. package/dist/init-adapters/antigravity-cli/.agents/agents/quality/agent.json +29 -0
  38. package/dist/init-adapters/antigravity-cli/.agents/agents/security/agent.json +29 -0
  39. package/dist/init-adapters/antigravity-cli/.agents/cli-commands.json +32 -0
  40. package/dist/init-adapters/antigravity-cli/.agents/config.json +12 -0
  41. package/dist/init-adapters/antigravity-cli/.agents/knowledge/agents-manifest.md +79 -0
  42. package/dist/init-adapters/antigravity-cli/.agents/knowledge/approval-flows.md +61 -0
  43. package/dist/init-adapters/antigravity-cli/.agents/knowledge/enterprise-architecture.md +69 -0
  44. package/dist/init-adapters/antigravity-cli/.agents/knowledge/eslint-standards.md +10 -0
  45. package/dist/init-adapters/antigravity-cli/.agents/mcp_config.json +13 -0
  46. package/dist/init-adapters/antigravity-cli/.agents/memory/DECISIONS.md +10 -0
  47. package/dist/init-adapters/antigravity-cli/.agents/memory/PROJECT_MEMORY.md +8 -0
  48. package/dist/init-adapters/antigravity-cli/.agents/observability/audit_log.md +5 -0
  49. package/dist/init-adapters/antigravity-cli/.agents/observability/telemetry.md +6 -0
  50. package/dist/init-adapters/antigravity-cli/.agents/registry/agent_registry.md +18 -0
  51. package/dist/init-adapters/antigravity-cli/.agents/router/routing_rules.md +8 -0
  52. package/dist/init-adapters/antigravity-cli/.agents/rules/analyst.md +16 -0
  53. package/dist/init-adapters/antigravity-cli/.agents/rules/architect.md +16 -0
  54. package/dist/init-adapters/antigravity-cli/.agents/rules/backend.md +16 -0
  55. package/dist/init-adapters/antigravity-cli/.agents/rules/database.md +16 -0
  56. package/dist/init-adapters/antigravity-cli/.agents/rules/devops.md +16 -0
  57. package/dist/init-adapters/antigravity-cli/.agents/rules/explorer.md +16 -0
  58. package/dist/init-adapters/antigravity-cli/.agents/rules/frontend.md +16 -0
  59. package/dist/init-adapters/antigravity-cli/.agents/rules/git.md +16 -0
  60. package/dist/init-adapters/antigravity-cli/.agents/rules/manager.md +16 -0
  61. package/dist/init-adapters/antigravity-cli/.agents/rules/mobile.md +16 -0
  62. package/dist/init-adapters/antigravity-cli/.agents/rules/native.md +16 -0
  63. package/dist/init-adapters/antigravity-cli/.agents/rules/quality.md +16 -0
  64. package/dist/init-adapters/antigravity-cli/.agents/rules/security.md +16 -0
  65. package/dist/init-adapters/antigravity-cli/.agents/skills/discovery.md +3 -0
  66. package/dist/init-adapters/antigravity-cli/.agents/skills/editing.md +3 -0
  67. package/dist/init-adapters/antigravity-cli/.agents/skills/execution.md +4 -0
  68. package/dist/init-adapters/antigravity-cli/.agents/skills/file_system.md +4 -0
  69. package/dist/init-adapters/antigravity-cli/.agents/skills/orchestration.md +3 -0
  70. package/dist/init-adapters/antigravity-cli/AGENTS.md +8 -0
  71. package/dist/init-adapters/antigravity-cli/ENDERUN.md +261 -0
  72. package/dist/init-adapters/antigravity-cli/docs/README.md +6 -0
  73. package/dist/init-adapters/antigravity-cli/docs/getting-started.md +4 -0
  74. package/dist/init-adapters/antigravity-cli/mcp.json +13 -0
  75. package/dist/init-adapters/antigravity-cli/package.json +5 -0
  76. package/dist/init-adapters/antigravity-cli/panda.config.ts +2 -0
  77. package/dist/init-adapters/claude/.claude/BRAIN_DASHBOARD.md +11 -0
  78. package/dist/init-adapters/claude/.claude/STATUS.md +3 -0
  79. package/dist/init-adapters/claude/.claude/agents/analyst.md +17 -0
  80. package/dist/init-adapters/claude/.claude/agents/architect.md +17 -0
  81. package/dist/init-adapters/claude/.claude/agents/backend.md +17 -0
  82. package/dist/init-adapters/claude/.claude/agents/database.md +17 -0
  83. package/dist/init-adapters/claude/.claude/agents/devops.md +17 -0
  84. package/dist/init-adapters/claude/.claude/agents/explorer.md +17 -0
  85. package/dist/init-adapters/claude/.claude/agents/frontend.md +17 -0
  86. package/dist/init-adapters/claude/.claude/agents/git.md +17 -0
  87. package/dist/init-adapters/claude/.claude/agents/manager.md +17 -0
  88. package/dist/init-adapters/claude/.claude/agents/mobile.md +17 -0
  89. package/dist/init-adapters/claude/.claude/agents/native.md +17 -0
  90. package/dist/init-adapters/claude/.claude/agents/quality.md +17 -0
  91. package/dist/init-adapters/claude/.claude/agents/security.md +17 -0
  92. package/dist/init-adapters/claude/.claude/cli-commands.json +32 -0
  93. package/dist/init-adapters/claude/.claude/config.json +12 -0
  94. package/dist/init-adapters/claude/.claude/knowledge/agents-manifest.md +79 -0
  95. package/dist/init-adapters/claude/.claude/knowledge/approval-flows.md +61 -0
  96. package/dist/init-adapters/claude/.claude/knowledge/component-patterns.md +91 -0
  97. package/dist/init-adapters/claude/.claude/knowledge/data-fetching-patterns.md +13 -0
  98. package/dist/init-adapters/claude/.claude/knowledge/design-system.md +31 -0
  99. package/dist/init-adapters/claude/.claude/knowledge/enterprise-architecture.md +69 -0
  100. package/dist/init-adapters/claude/.claude/knowledge/error-handling.md +74 -0
  101. package/dist/init-adapters/claude/.claude/knowledge/eslint-standards.md +10 -0
  102. package/dist/init-adapters/claude/.claude/knowledge/logging.md +7 -0
  103. package/dist/init-adapters/claude/.claude/knowledge/tech-stack.md +9 -0
  104. package/dist/init-adapters/claude/.claude/mcp_config.json +13 -0
  105. package/dist/init-adapters/claude/.claude/memory/DECISIONS.md +10 -0
  106. package/dist/init-adapters/claude/.claude/memory/PROJECT_MEMORY.md +8 -0
  107. package/dist/init-adapters/claude/.claude/observability/audit_log.md +5 -0
  108. package/dist/init-adapters/claude/.claude/observability/telemetry.md +6 -0
  109. package/dist/init-adapters/claude/.claude/registry/agent_registry.md +18 -0
  110. package/dist/init-adapters/claude/.claude/router/routing_rules.md +8 -0
  111. package/dist/init-adapters/claude/.claude/rules/analyst.md +16 -0
  112. package/dist/init-adapters/claude/.claude/rules/architect.md +16 -0
  113. package/dist/init-adapters/claude/.claude/rules/backend.md +16 -0
  114. package/dist/init-adapters/claude/.claude/rules/database.md +16 -0
  115. package/dist/init-adapters/claude/.claude/rules/devops.md +16 -0
  116. package/dist/init-adapters/claude/.claude/rules/explorer.md +16 -0
  117. package/dist/init-adapters/claude/.claude/rules/frontend.md +16 -0
  118. package/dist/init-adapters/claude/.claude/rules/git.md +16 -0
  119. package/dist/init-adapters/claude/.claude/rules/manager.md +16 -0
  120. package/dist/init-adapters/claude/.claude/rules/mobile.md +16 -0
  121. package/dist/init-adapters/claude/.claude/rules/native.md +16 -0
  122. package/dist/init-adapters/claude/.claude/rules/quality.md +16 -0
  123. package/dist/init-adapters/claude/.claude/rules/security.md +16 -0
  124. package/dist/init-adapters/claude/.claude/skills/discovery.md +3 -0
  125. package/dist/init-adapters/claude/.claude/skills/editing.md +3 -0
  126. package/dist/init-adapters/claude/.claude/skills/execution.md +4 -0
  127. package/dist/init-adapters/claude/.claude/skills/file_system.md +4 -0
  128. package/dist/init-adapters/claude/.claude/skills/orchestration.md +3 -0
  129. package/dist/init-adapters/claude/.mcp.json +13 -0
  130. package/dist/init-adapters/claude/CLAUDE.md +8 -0
  131. package/dist/init-adapters/claude/ENDERUN.md +261 -0
  132. package/dist/init-adapters/claude/docs/README.md +6 -0
  133. package/dist/init-adapters/claude/docs/getting-started.md +4 -0
  134. package/dist/init-adapters/claude/mcp.json +13 -0
  135. package/dist/init-adapters/claude/package.json +5 -0
  136. package/dist/init-adapters/claude/panda.config.ts +2 -0
  137. package/dist/init-adapters/codex/.github/BRAIN_DASHBOARD.md +11 -0
  138. package/dist/init-adapters/codex/.github/STATUS.md +3 -0
  139. package/dist/init-adapters/codex/.github/agents/analyst.md +17 -0
  140. package/dist/init-adapters/codex/.github/agents/architect.md +17 -0
  141. package/dist/init-adapters/codex/.github/agents/backend.md +17 -0
  142. package/dist/init-adapters/codex/.github/agents/database.md +17 -0
  143. package/dist/init-adapters/codex/.github/agents/devops.md +17 -0
  144. package/dist/init-adapters/codex/.github/agents/explorer.md +17 -0
  145. package/dist/init-adapters/codex/.github/agents/frontend.md +17 -0
  146. package/dist/init-adapters/codex/.github/agents/git.md +17 -0
  147. package/dist/init-adapters/codex/.github/agents/manager.md +17 -0
  148. package/dist/init-adapters/codex/.github/agents/mobile.md +17 -0
  149. package/dist/init-adapters/codex/.github/agents/native.md +17 -0
  150. package/dist/init-adapters/codex/.github/agents/quality.md +17 -0
  151. package/dist/init-adapters/codex/.github/agents/security.md +17 -0
  152. package/dist/init-adapters/codex/.github/cli-commands.json +32 -0
  153. package/dist/init-adapters/codex/.github/config.json +12 -0
  154. package/dist/init-adapters/codex/.github/instructions/agents-manifest.md +79 -0
  155. package/dist/init-adapters/codex/.github/instructions/analyst.md +16 -0
  156. package/dist/init-adapters/codex/.github/instructions/approval-flows.md +61 -0
  157. package/dist/init-adapters/codex/.github/instructions/architect.md +16 -0
  158. package/dist/init-adapters/codex/.github/instructions/backend.md +16 -0
  159. package/dist/init-adapters/codex/.github/instructions/component-patterns.md +91 -0
  160. package/dist/init-adapters/codex/.github/instructions/data-fetching-patterns.md +13 -0
  161. package/dist/init-adapters/codex/.github/instructions/database.md +16 -0
  162. package/dist/init-adapters/codex/.github/instructions/design-system.md +31 -0
  163. package/dist/init-adapters/codex/.github/instructions/devops.md +16 -0
  164. package/dist/init-adapters/codex/.github/instructions/enterprise-architecture.md +69 -0
  165. package/dist/init-adapters/codex/.github/instructions/error-handling.md +74 -0
  166. package/dist/init-adapters/codex/.github/instructions/eslint-standards.md +10 -0
  167. package/dist/init-adapters/codex/.github/instructions/explorer.md +16 -0
  168. package/dist/init-adapters/codex/.github/instructions/frontend.md +16 -0
  169. package/dist/init-adapters/codex/.github/instructions/git.md +16 -0
  170. package/dist/init-adapters/codex/.github/instructions/logging.md +7 -0
  171. package/dist/init-adapters/codex/.github/instructions/manager.md +16 -0
  172. package/dist/init-adapters/codex/.github/instructions/mobile.md +16 -0
  173. package/dist/init-adapters/codex/.github/instructions/native.md +16 -0
  174. package/dist/init-adapters/codex/.github/instructions/quality.md +16 -0
  175. package/dist/init-adapters/codex/.github/instructions/security.md +16 -0
  176. package/dist/init-adapters/codex/.github/instructions/tech-stack.md +9 -0
  177. package/dist/init-adapters/codex/.github/mcp_config.json +13 -0
  178. package/dist/init-adapters/codex/.github/memory/DECISIONS.md +10 -0
  179. package/dist/init-adapters/codex/.github/memory/PROJECT_MEMORY.md +8 -0
  180. package/dist/init-adapters/codex/.github/observability/audit_log.md +5 -0
  181. package/dist/init-adapters/codex/.github/observability/telemetry.md +6 -0
  182. package/dist/init-adapters/codex/.github/registry/agent_registry.md +18 -0
  183. package/dist/init-adapters/codex/.github/router/routing_rules.md +8 -0
  184. package/dist/init-adapters/codex/.github/skills/discovery.md +3 -0
  185. package/dist/init-adapters/codex/.github/skills/editing.md +3 -0
  186. package/dist/init-adapters/codex/.github/skills/execution.md +4 -0
  187. package/dist/init-adapters/codex/.github/skills/file_system.md +4 -0
  188. package/dist/init-adapters/codex/.github/skills/orchestration.md +3 -0
  189. package/dist/init-adapters/codex/.mcp.json +13 -0
  190. package/dist/init-adapters/codex/.vscode/mcp.json +13 -0
  191. package/dist/init-adapters/codex/ENDERUN.md +261 -0
  192. package/dist/init-adapters/codex/copilot-instructions.md +7 -0
  193. package/dist/init-adapters/codex/docs/README.md +6 -0
  194. package/dist/init-adapters/codex/docs/getting-started.md +4 -0
  195. package/dist/init-adapters/codex/mcp.json +13 -0
  196. package/dist/init-adapters/codex/package.json +5 -0
  197. package/dist/init-adapters/codex/panda.config.ts +2 -0
  198. package/dist/init-adapters/cursor/.cursor/BRAIN_DASHBOARD.md +11 -0
  199. package/dist/init-adapters/cursor/.cursor/STATUS.md +3 -0
  200. package/dist/init-adapters/cursor/.cursor/agents/analyst.md +17 -0
  201. package/dist/init-adapters/cursor/.cursor/agents/architect.md +17 -0
  202. package/dist/init-adapters/cursor/.cursor/agents/backend.md +17 -0
  203. package/dist/init-adapters/cursor/.cursor/agents/database.md +17 -0
  204. package/dist/init-adapters/cursor/.cursor/agents/devops.md +17 -0
  205. package/dist/init-adapters/cursor/.cursor/agents/explorer.md +17 -0
  206. package/dist/init-adapters/cursor/.cursor/agents/frontend.md +17 -0
  207. package/dist/init-adapters/cursor/.cursor/agents/git.md +17 -0
  208. package/dist/init-adapters/cursor/.cursor/agents/manager.md +17 -0
  209. package/dist/init-adapters/cursor/.cursor/agents/mobile.md +17 -0
  210. package/dist/init-adapters/cursor/.cursor/agents/native.md +17 -0
  211. package/dist/init-adapters/cursor/.cursor/agents/quality.md +17 -0
  212. package/dist/init-adapters/cursor/.cursor/agents/security.md +17 -0
  213. package/dist/init-adapters/cursor/.cursor/cli-commands.json +32 -0
  214. package/dist/init-adapters/cursor/.cursor/config.json +12 -0
  215. package/dist/init-adapters/cursor/.cursor/knowledge/agents-manifest.md +79 -0
  216. package/dist/init-adapters/cursor/.cursor/knowledge/approval-flows.md +61 -0
  217. package/dist/init-adapters/cursor/.cursor/knowledge/component-patterns.md +91 -0
  218. package/dist/init-adapters/cursor/.cursor/knowledge/data-fetching-patterns.md +13 -0
  219. package/dist/init-adapters/cursor/.cursor/knowledge/design-system.md +31 -0
  220. package/dist/init-adapters/cursor/.cursor/knowledge/enterprise-architecture.md +69 -0
  221. package/dist/init-adapters/cursor/.cursor/knowledge/error-handling.md +74 -0
  222. package/dist/init-adapters/cursor/.cursor/knowledge/eslint-standards.md +10 -0
  223. package/dist/init-adapters/cursor/.cursor/knowledge/logging.md +7 -0
  224. package/dist/init-adapters/cursor/.cursor/knowledge/tech-stack.md +9 -0
  225. package/dist/init-adapters/cursor/.cursor/mcp.json +13 -0
  226. package/dist/init-adapters/cursor/.cursor/memory/DECISIONS.md +10 -0
  227. package/dist/init-adapters/cursor/.cursor/memory/PROJECT_MEMORY.md +8 -0
  228. package/dist/init-adapters/cursor/.cursor/observability/audit_log.md +5 -0
  229. package/dist/init-adapters/cursor/.cursor/observability/telemetry.md +6 -0
  230. package/dist/init-adapters/cursor/.cursor/registry/agent_registry.md +18 -0
  231. package/dist/init-adapters/cursor/.cursor/router/routing_rules.md +8 -0
  232. package/dist/init-adapters/cursor/.cursor/rules/analyst.mdc +22 -0
  233. package/dist/init-adapters/cursor/.cursor/rules/architect.mdc +22 -0
  234. package/dist/init-adapters/cursor/.cursor/rules/backend.mdc +22 -0
  235. package/dist/init-adapters/cursor/.cursor/rules/database.mdc +22 -0
  236. package/dist/init-adapters/cursor/.cursor/rules/devops.mdc +22 -0
  237. package/dist/init-adapters/cursor/.cursor/rules/explorer.mdc +22 -0
  238. package/dist/init-adapters/cursor/.cursor/rules/frontend.mdc +22 -0
  239. package/dist/init-adapters/cursor/.cursor/rules/git.mdc +22 -0
  240. package/dist/init-adapters/cursor/.cursor/rules/manager.mdc +22 -0
  241. package/dist/init-adapters/cursor/.cursor/rules/mobile.mdc +22 -0
  242. package/dist/init-adapters/cursor/.cursor/rules/native.mdc +22 -0
  243. package/dist/init-adapters/cursor/.cursor/rules/quality.mdc +22 -0
  244. package/dist/init-adapters/cursor/.cursor/rules/security.mdc +22 -0
  245. package/dist/init-adapters/cursor/.cursor/skills/discovery.md +3 -0
  246. package/dist/init-adapters/cursor/.cursor/skills/editing.md +3 -0
  247. package/dist/init-adapters/cursor/.cursor/skills/execution.md +4 -0
  248. package/dist/init-adapters/cursor/.cursor/skills/file_system.md +4 -0
  249. package/dist/init-adapters/cursor/.cursor/skills/orchestration.md +3 -0
  250. package/dist/init-adapters/cursor/CURSOR.md +7 -0
  251. package/dist/init-adapters/cursor/ENDERUN.md +261 -0
  252. package/dist/init-adapters/cursor/docs/README.md +6 -0
  253. package/dist/init-adapters/cursor/docs/getting-started.md +4 -0
  254. package/dist/init-adapters/cursor/mcp.json +13 -0
  255. package/dist/init-adapters/cursor/package.json +5 -0
  256. package/dist/init-adapters/cursor/panda.config.ts +2 -0
  257. package/dist/init-adapters/gemini/.gemini/BRAIN_DASHBOARD.md +11 -0
  258. package/dist/init-adapters/gemini/.gemini/STATUS.md +3 -0
  259. package/dist/init-adapters/gemini/.gemini/agents/analyst.md +17 -0
  260. package/dist/init-adapters/gemini/.gemini/agents/architect.md +17 -0
  261. package/dist/init-adapters/gemini/.gemini/agents/backend.md +17 -0
  262. package/dist/init-adapters/gemini/.gemini/agents/database.md +17 -0
  263. package/dist/init-adapters/gemini/.gemini/agents/devops.md +17 -0
  264. package/dist/init-adapters/gemini/.gemini/agents/explorer.md +17 -0
  265. package/dist/init-adapters/gemini/.gemini/agents/frontend.md +17 -0
  266. package/dist/init-adapters/gemini/.gemini/agents/git.md +17 -0
  267. package/dist/init-adapters/gemini/.gemini/agents/manager.md +17 -0
  268. package/dist/init-adapters/gemini/.gemini/agents/mobile.md +17 -0
  269. package/dist/init-adapters/gemini/.gemini/agents/native.md +17 -0
  270. package/dist/init-adapters/gemini/.gemini/agents/quality.md +17 -0
  271. package/dist/init-adapters/gemini/.gemini/agents/security.md +17 -0
  272. package/dist/init-adapters/gemini/.gemini/cli-commands.json +32 -0
  273. package/dist/init-adapters/gemini/.gemini/config.json +12 -0
  274. package/dist/init-adapters/gemini/.gemini/knowledge/agents-manifest.md +79 -0
  275. package/dist/init-adapters/gemini/.gemini/knowledge/approval-flows.md +61 -0
  276. package/dist/init-adapters/gemini/.gemini/knowledge/component-patterns.md +91 -0
  277. package/dist/init-adapters/gemini/.gemini/knowledge/data-fetching-patterns.md +13 -0
  278. package/dist/init-adapters/gemini/.gemini/knowledge/design-system.md +31 -0
  279. package/dist/init-adapters/gemini/.gemini/knowledge/enterprise-architecture.md +69 -0
  280. package/dist/init-adapters/gemini/.gemini/knowledge/error-handling.md +74 -0
  281. package/dist/init-adapters/gemini/.gemini/knowledge/eslint-standards.md +10 -0
  282. package/dist/init-adapters/gemini/.gemini/knowledge/logging.md +7 -0
  283. package/dist/init-adapters/gemini/.gemini/knowledge/tech-stack.md +9 -0
  284. package/dist/init-adapters/gemini/.gemini/mcp.json +13 -0
  285. package/dist/init-adapters/gemini/.gemini/memory/DECISIONS.md +10 -0
  286. package/dist/init-adapters/gemini/.gemini/memory/PROJECT_MEMORY.md +8 -0
  287. package/dist/init-adapters/gemini/.gemini/observability/audit_log.md +5 -0
  288. package/dist/init-adapters/gemini/.gemini/observability/telemetry.md +6 -0
  289. package/dist/init-adapters/gemini/.gemini/registry/agent_registry.md +18 -0
  290. package/dist/init-adapters/gemini/.gemini/router/routing_rules.md +8 -0
  291. package/dist/init-adapters/gemini/.gemini/rules/analyst.md +16 -0
  292. package/dist/init-adapters/gemini/.gemini/rules/architect.md +16 -0
  293. package/dist/init-adapters/gemini/.gemini/rules/backend.md +16 -0
  294. package/dist/init-adapters/gemini/.gemini/rules/database.md +16 -0
  295. package/dist/init-adapters/gemini/.gemini/rules/devops.md +16 -0
  296. package/dist/init-adapters/gemini/.gemini/rules/explorer.md +16 -0
  297. package/dist/init-adapters/gemini/.gemini/rules/frontend.md +16 -0
  298. package/dist/init-adapters/gemini/.gemini/rules/git.md +16 -0
  299. package/dist/init-adapters/gemini/.gemini/rules/manager.md +16 -0
  300. package/dist/init-adapters/gemini/.gemini/rules/mobile.md +16 -0
  301. package/dist/init-adapters/gemini/.gemini/rules/native.md +16 -0
  302. package/dist/init-adapters/gemini/.gemini/rules/quality.md +16 -0
  303. package/dist/init-adapters/gemini/.gemini/rules/security.md +16 -0
  304. package/dist/init-adapters/gemini/.gemini/skills/discovery.md +3 -0
  305. package/dist/init-adapters/gemini/.gemini/skills/editing.md +3 -0
  306. package/dist/init-adapters/gemini/.gemini/skills/execution.md +4 -0
  307. package/dist/init-adapters/gemini/.gemini/skills/file_system.md +4 -0
  308. package/dist/init-adapters/gemini/.gemini/skills/orchestration.md +3 -0
  309. package/dist/init-adapters/gemini/ENDERUN.md +261 -0
  310. package/dist/init-adapters/gemini/GEMINI.md +8 -0
  311. package/dist/init-adapters/gemini/docs/README.md +6 -0
  312. package/dist/init-adapters/gemini/docs/getting-started.md +4 -0
  313. package/dist/init-adapters/gemini/mcp.json +13 -0
  314. package/dist/init-adapters/gemini/package.json +5 -0
  315. package/dist/init-adapters/gemini/panda.config.ts +2 -0
  316. package/dist/init-adapters/grok/.grok/BRAIN_DASHBOARD.md +11 -0
  317. package/dist/init-adapters/grok/.grok/STATUS.md +3 -0
  318. package/dist/init-adapters/grok/.grok/agents/analyst.md +17 -0
  319. package/dist/init-adapters/grok/.grok/agents/architect.md +17 -0
  320. package/dist/init-adapters/grok/.grok/agents/backend.md +17 -0
  321. package/dist/init-adapters/grok/.grok/agents/database.md +17 -0
  322. package/dist/init-adapters/grok/.grok/agents/devops.md +17 -0
  323. package/dist/init-adapters/grok/.grok/agents/explorer.md +17 -0
  324. package/dist/init-adapters/grok/.grok/agents/frontend.md +17 -0
  325. package/dist/init-adapters/grok/.grok/agents/git.md +17 -0
  326. package/dist/init-adapters/grok/.grok/agents/manager.md +17 -0
  327. package/dist/init-adapters/grok/.grok/agents/mobile.md +17 -0
  328. package/dist/init-adapters/grok/.grok/agents/native.md +17 -0
  329. package/dist/init-adapters/grok/.grok/agents/quality.md +17 -0
  330. package/dist/init-adapters/grok/.grok/agents/security.md +17 -0
  331. package/dist/init-adapters/grok/.grok/cli-commands.json +32 -0
  332. package/dist/init-adapters/grok/.grok/config.json +12 -0
  333. package/dist/init-adapters/grok/.grok/knowledge/agents-manifest.md +79 -0
  334. package/dist/init-adapters/grok/.grok/knowledge/approval-flows.md +61 -0
  335. package/dist/init-adapters/grok/.grok/knowledge/component-patterns.md +91 -0
  336. package/dist/init-adapters/grok/.grok/knowledge/data-fetching-patterns.md +13 -0
  337. package/dist/init-adapters/grok/.grok/knowledge/design-system.md +31 -0
  338. package/dist/init-adapters/grok/.grok/knowledge/enterprise-architecture.md +69 -0
  339. package/dist/init-adapters/grok/.grok/knowledge/error-handling.md +74 -0
  340. package/dist/init-adapters/grok/.grok/knowledge/eslint-standards.md +10 -0
  341. package/dist/init-adapters/grok/.grok/knowledge/logging.md +7 -0
  342. package/dist/init-adapters/grok/.grok/knowledge/tech-stack.md +9 -0
  343. package/dist/init-adapters/grok/.grok/mcp_config.json +13 -0
  344. package/dist/init-adapters/grok/.grok/memory/DECISIONS.md +10 -0
  345. package/dist/init-adapters/grok/.grok/memory/PROJECT_MEMORY.md +8 -0
  346. package/dist/init-adapters/grok/.grok/observability/audit_log.md +5 -0
  347. package/dist/init-adapters/grok/.grok/observability/telemetry.md +6 -0
  348. package/dist/init-adapters/grok/.grok/registry/agent_registry.md +18 -0
  349. package/dist/init-adapters/grok/.grok/router/routing_rules.md +8 -0
  350. package/dist/init-adapters/grok/.grok/rules/analyst.md +16 -0
  351. package/dist/init-adapters/grok/.grok/rules/architect.md +16 -0
  352. package/dist/init-adapters/grok/.grok/rules/backend.md +16 -0
  353. package/dist/init-adapters/grok/.grok/rules/database.md +16 -0
  354. package/dist/init-adapters/grok/.grok/rules/devops.md +16 -0
  355. package/dist/init-adapters/grok/.grok/rules/explorer.md +16 -0
  356. package/dist/init-adapters/grok/.grok/rules/frontend.md +16 -0
  357. package/dist/init-adapters/grok/.grok/rules/git.md +16 -0
  358. package/dist/init-adapters/grok/.grok/rules/manager.md +16 -0
  359. package/dist/init-adapters/grok/.grok/rules/mobile.md +16 -0
  360. package/dist/init-adapters/grok/.grok/rules/native.md +16 -0
  361. package/dist/init-adapters/grok/.grok/rules/quality.md +16 -0
  362. package/dist/init-adapters/grok/.grok/rules/security.md +16 -0
  363. package/dist/init-adapters/grok/.grok/skills/discovery.md +3 -0
  364. package/dist/init-adapters/grok/.grok/skills/editing.md +3 -0
  365. package/dist/init-adapters/grok/.grok/skills/execution.md +4 -0
  366. package/dist/init-adapters/grok/.grok/skills/file_system.md +4 -0
  367. package/dist/init-adapters/grok/.grok/skills/orchestration.md +3 -0
  368. package/dist/init-adapters/grok/ENDERUN.md +261 -0
  369. package/dist/init-adapters/grok/GROK.md +7 -0
  370. package/dist/init-adapters/grok/docs/README.md +6 -0
  371. package/dist/init-adapters/grok/docs/getting-started.md +4 -0
  372. package/dist/init-adapters/grok/mcp.json +13 -0
  373. package/dist/init-adapters/grok/package.json +5 -0
  374. package/dist/init-adapters/grok/panda.config.ts +2 -0
  375. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/mcp.json +13 -0
  376. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/mcp_config.json +13 -0
  377. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/analyst/agent.json +28 -0
  378. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/analyst.json +28 -0
  379. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/architect/agent.json +30 -0
  380. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/architect.json +30 -0
  381. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/backend/agent.json +30 -0
  382. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/backend.json +30 -0
  383. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/database/agent.json +29 -0
  384. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/database.json +29 -0
  385. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/devops/agent.json +28 -0
  386. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/devops.json +28 -0
  387. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/explorer/agent.json +29 -0
  388. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/explorer.json +29 -0
  389. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/frontend/agent.json +29 -0
  390. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/frontend.json +29 -0
  391. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/git/agent.json +28 -0
  392. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/git.json +28 -0
  393. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/manager/agent.json +30 -0
  394. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/manager.json +30 -0
  395. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/mobile/agent.json +29 -0
  396. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/mobile.json +29 -0
  397. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/native/agent.json +29 -0
  398. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/native.json +29 -0
  399. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/quality/agent.json +29 -0
  400. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/quality.json +29 -0
  401. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/security/agent.json +29 -0
  402. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/security.json +29 -0
  403. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/hooks.json +4 -0
  404. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/mcp.json +13 -0
  405. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/mcp_config.json +13 -0
  406. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/plugin.json +5 -0
  407. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/analyst.md +11 -0
  408. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/architect.md +11 -0
  409. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/backend.md +11 -0
  410. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/database.md +11 -0
  411. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/devops.md +11 -0
  412. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/explorer.md +11 -0
  413. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/frontend.md +11 -0
  414. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/git.md +11 -0
  415. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/manager.md +11 -0
  416. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/mobile.md +11 -0
  417. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/native.md +11 -0
  418. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/quality.md +11 -0
  419. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/security.md +11 -0
  420. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/skills/discovery.md +3 -0
  421. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/skills/editing.md +3 -0
  422. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/skills/execution.md +4 -0
  423. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/skills/file_system.md +4 -0
  424. package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/skills/orchestration.md +3 -0
  425. package/dist/init-adapters/mock-home/Library/Application Support/Claude/claude_desktop_config.json +13 -0
  426. package/dist/src/cli/adapters.js +11 -10
  427. package/dist/src/cli/adapters.js.map +1 -1
  428. package/dist/src/cli/commands/approve.d.ts +1 -0
  429. package/dist/src/cli/commands/approve.js +64 -0
  430. package/dist/src/cli/commands/approve.js.map +1 -0
  431. package/dist/src/cli/commands/check.js +87 -5
  432. package/dist/src/cli/commands/check.js.map +1 -1
  433. package/dist/src/cli/commands/contract.js +3 -25
  434. package/dist/src/cli/commands/contract.js.map +1 -1
  435. package/dist/src/cli/commands/init.js +167 -10
  436. package/dist/src/cli/commands/init.js.map +1 -1
  437. package/dist/src/cli/commands/knowledge.js +2 -3
  438. package/dist/src/cli/commands/knowledge.js.map +1 -1
  439. package/dist/src/cli/commands/log.js +1 -2
  440. package/dist/src/cli/commands/log.js.map +1 -1
  441. package/dist/src/cli/commands/orchestrate.d.ts +43 -9
  442. package/dist/src/cli/commands/orchestrate.js +161 -16
  443. package/dist/src/cli/commands/orchestrate.js.map +1 -1
  444. package/dist/src/cli/commands/status.js +35 -0
  445. package/dist/src/cli/commands/status.js.map +1 -1
  446. package/dist/src/cli/index.js +18 -4
  447. package/dist/src/cli/index.js.map +1 -1
  448. package/dist/src/cli/shims.d.ts +1 -0
  449. package/dist/src/cli/shims.js +54 -0
  450. package/dist/src/cli/shims.js.map +1 -0
  451. package/dist/src/cli/utils/app.js +118 -33
  452. package/dist/src/cli/utils/app.js.map +1 -1
  453. package/dist/src/cli/utils/fs.d.ts +1 -0
  454. package/dist/src/cli/utils/fs.js +15 -0
  455. package/dist/src/cli/utils/fs.js.map +1 -1
  456. package/dist/src/cli/utils/memory.js +11 -1
  457. package/dist/src/cli/utils/memory.js.map +1 -1
  458. package/dist/src/modules/agents/definitions.js +12 -12
  459. package/dist/src/modules/agents/definitions.js.map +1 -1
  460. package/dist/src/modules/skills/definitions.d.ts +19 -2
  461. package/dist/src/modules/skills/definitions.js +53 -14
  462. package/dist/src/modules/skills/definitions.js.map +1 -1
  463. package/dist/src/shared/config.d.ts +41 -0
  464. package/dist/src/shared/config.js +61 -0
  465. package/dist/src/shared/config.js.map +1 -0
  466. package/dist/src/shared/container.d.ts +25 -0
  467. package/dist/src/shared/container.js +56 -0
  468. package/dist/src/shared/container.js.map +1 -0
  469. package/dist/src/shared/errors.d.ts +44 -0
  470. package/dist/src/shared/errors.js +66 -0
  471. package/dist/src/shared/errors.js.map +1 -0
  472. package/dist/src/shared/logger.d.ts +28 -0
  473. package/dist/src/shared/logger.js +117 -0
  474. package/dist/src/shared/logger.js.map +1 -0
  475. package/dist/tests/mock-project/apps/web/panda.config.d.ts +4 -0
  476. package/dist/tests/mock-project/apps/web/panda.config.js +3 -0
  477. package/dist/tests/mock-project/apps/web/panda.config.js.map +1 -0
  478. package/dist/tests/shared.test.d.ts +1 -0
  479. package/dist/tests/shared.test.js +80 -0
  480. package/dist/tests/shared.test.js.map +1 -0
  481. package/eslint.config.js +2 -1
  482. package/framework-mcp/dist/index.js +7 -1
  483. package/framework-mcp/dist/tools/definitions.js +1 -0
  484. package/framework-mcp/dist/tools/file_system/patch_file.js +3 -0
  485. package/framework-mcp/dist/tools/file_system/read_file.js +7 -0
  486. package/framework-mcp/dist/tools/file_system/replace_text.js +3 -0
  487. package/framework-mcp/dist/tools/messaging/send_message.js +41 -11
  488. package/framework-mcp/package.json +1 -1
  489. package/framework-mcp/src/index.ts +8 -1
  490. package/framework-mcp/src/tools/definitions.ts +1 -0
  491. package/framework-mcp/src/tools/file_system/patch_file.ts +6 -0
  492. package/framework-mcp/src/tools/file_system/read_file.ts +7 -1
  493. package/framework-mcp/src/tools/file_system/replace_text.ts +6 -0
  494. package/framework-mcp/src/tools/messaging/send_message.ts +39 -12
  495. package/framework-mcp/src/tools/types.ts +1 -0
  496. package/framework-mcp/tests/tools/file_system/file_system_tools.test.ts +42 -0
  497. package/framework-mcp/tests/tools/messaging/send_message.test.ts +136 -0
  498. package/package.json +9 -6
  499. package/src/cli/adapters.ts +13 -11
  500. package/src/cli/commands/approve.ts +65 -0
  501. package/src/cli/commands/check.ts +98 -5
  502. package/src/cli/commands/contract.ts +3 -29
  503. package/src/cli/commands/init.ts +187 -10
  504. package/src/cli/commands/knowledge.ts +2 -4
  505. package/src/cli/commands/log.ts +1 -3
  506. package/src/cli/commands/orchestrate.ts +164 -29
  507. package/src/cli/commands/status.ts +33 -0
  508. package/src/cli/index.ts +180 -163
  509. package/src/cli/shims.ts +53 -0
  510. package/src/cli/utils/app.ts +124 -33
  511. package/src/cli/utils/fs.ts +17 -0
  512. package/src/cli/utils/memory.ts +11 -1
  513. package/src/modules/agents/definitions.ts +12 -12
  514. package/src/modules/skills/definitions.ts +53 -14
  515. package/src/schema/agent-lifecycle-schema.json +59 -0
  516. package/src/shared/config.ts +73 -0
  517. package/src/shared/container.ts +67 -0
  518. package/src/shared/errors.ts +72 -0
  519. package/src/shared/logger.ts +139 -0
  520. package/templates/architecture/agents-manifest.md +79 -0
  521. package/templates/architecture/enterprise-architecture.md +69 -0
  522. package/templates/architecture/standards/crud-governance.md +46 -0
  523. package/templates/architecture/standards/data-fetching-patterns.md +13 -0
  524. package/templates/architecture/standards/design-system.md +31 -0
  525. package/templates/architecture/standards/documentation-ownership.md +21 -0
  526. package/templates/architecture/standards/logging.md +7 -0
  527. package/templates/architecture/standards/mobile-standards.md +48 -0
  528. package/templates/architecture/standards/tech-stack.md +9 -0
  529. package/templates/backend/error-handling.md +74 -0
  530. package/templates/frontend/component-patterns.md +91 -0
  531. package/tsconfig.json +1 -0
  532. package/docs/getting-started.md +0 -22
  533. /package/{docs/frontend → dist/init-adapters/antigravity-cli/.agents/knowledge}/component-patterns.md +0 -0
  534. /package/{docs/architecture/standards → dist/init-adapters/antigravity-cli/.agents/knowledge}/data-fetching-patterns.md +0 -0
  535. /package/{docs/architecture/standards → dist/init-adapters/antigravity-cli/.agents/knowledge}/design-system.md +0 -0
  536. /package/{docs/backend → dist/init-adapters/antigravity-cli/.agents/knowledge}/error-handling.md +0 -0
  537. /package/{docs/architecture/standards → dist/init-adapters/antigravity-cli/.agents/knowledge}/logging.md +0 -0
  538. /package/{docs/architecture/standards → dist/init-adapters/antigravity-cli/.agents/knowledge}/tech-stack.md +0 -0
  539. /package/{docs → templates}/architecture/approval-flows.md +0 -0
@@ -0,0 +1,67 @@
1
+ import { ValidationError } from "./errors.js";
2
+
3
+ export type FactoryFunction<T> = (container: ServiceContainer) => T;
4
+
5
+ export class ServiceContainer {
6
+ private static instance: ServiceContainer;
7
+ private services: Map<string, unknown> = new Map();
8
+ private factories: Map<string, FactoryFunction<unknown>> = new Map();
9
+
10
+ private constructor() {}
11
+
12
+ public static getInstance(): ServiceContainer {
13
+ if (!ServiceContainer.instance) {
14
+ ServiceContainer.instance = new ServiceContainer();
15
+ }
16
+ return ServiceContainer.instance;
17
+ }
18
+
19
+ /**
20
+ * Registers a pre-instantiated singleton service.
21
+ */
22
+ public register<T>(name: string, service: T): void {
23
+ if (this.services.has(name)) {
24
+ throw new ValidationError(`Service '${name}' is already registered.`);
25
+ }
26
+ this.services.set(name, service);
27
+ }
28
+
29
+ /**
30
+ * Registers a factory function for lazy evaluation.
31
+ */
32
+ public registerFactory<T>(name: string, factory: FactoryFunction<T>): void {
33
+ if (this.factories.has(name) || this.services.has(name)) {
34
+ throw new ValidationError(`Service or factory '${name}' is already registered.`);
35
+ }
36
+ this.factories.set(name, factory);
37
+ }
38
+
39
+ /**
40
+ * Resolves the requested service.
41
+ */
42
+ public resolve<T>(name: string): T {
43
+ if (this.services.has(name)) {
44
+ return this.services.get(name) as T;
45
+ }
46
+
47
+ if (this.factories.has(name)) {
48
+ const factory = this.factories.get(name) as FactoryFunction<T>;
49
+ const service = factory(this);
50
+ this.services.set(name, service); // Cache it as a singleton
51
+ this.factories.delete(name);
52
+ return service;
53
+ }
54
+
55
+ throw new ValidationError(`Dependency resolution failed: Service '${name}' not found in container.`);
56
+ }
57
+
58
+ /**
59
+ * Resets the container. Useful for test environments.
60
+ */
61
+ public reset(): void {
62
+ this.services.clear();
63
+ this.factories.clear();
64
+ }
65
+ }
66
+
67
+ export const container = ServiceContainer.getInstance();
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Enterprise Base Error class for the Enderun Core Framework.
3
+ */
4
+ export class EnderunBaseError extends Error {
5
+ public readonly code: string;
6
+ public readonly timestamp: Date;
7
+ public readonly details?: unknown;
8
+
9
+ constructor(message: string, code = "ENDERUN_INTERNAL_ERROR", details?: unknown) {
10
+ super(message);
11
+ this.name = this.constructor.name;
12
+ this.code = code;
13
+ this.timestamp = new Date();
14
+ this.details = details;
15
+
16
+ // Ensure proper prototype chain and capture stack trace
17
+ Object.setPrototypeOf(this, new.target.prototype);
18
+ if (Error.captureStackTrace) {
19
+ Error.captureStackTrace(this, this.constructor);
20
+ }
21
+ }
22
+
23
+ /**
24
+ * Converts the error into a structured JSON log format.
25
+ */
26
+ public toJSON() {
27
+ return {
28
+ name: this.name,
29
+ message: this.message,
30
+ code: this.code,
31
+ timestamp: this.timestamp.toISOString(),
32
+ details: this.details,
33
+ stack: this.stack,
34
+ };
35
+ }
36
+ }
37
+
38
+ /**
39
+ * Thrown when configuration loading or validation fails.
40
+ */
41
+ export class ConfigurationError extends EnderunBaseError {
42
+ constructor(message: string, details?: unknown) {
43
+ super(message, "CONFIGURATION_ERROR", details);
44
+ }
45
+ }
46
+
47
+ /**
48
+ * Thrown when data schema or payload validation fails.
49
+ */
50
+ export class ValidationError extends EnderunBaseError {
51
+ constructor(message: string, details?: unknown) {
52
+ super(message, "VALIDATION_ERROR", details);
53
+ }
54
+ }
55
+
56
+ /**
57
+ * Thrown when adapter initialization or execution fails.
58
+ */
59
+ export class AdapterError extends EnderunBaseError {
60
+ constructor(message: string, adapterId: string, details?: unknown) {
61
+ super(`Adapter '${adapterId}' failure: ${message}`, "ADAPTER_ERROR", details);
62
+ }
63
+ }
64
+
65
+ /**
66
+ * Thrown when orchestration or agent communication fails.
67
+ */
68
+ export class OrchestrationError extends EnderunBaseError {
69
+ constructor(message: string, details?: unknown) {
70
+ super(message, "ORCHESTRATION_ERROR", details);
71
+ }
72
+ }
@@ -0,0 +1,139 @@
1
+ import chalk from "chalk";
2
+ import fs from "fs";
3
+ import path from "path";
4
+
5
+ export enum LogLevel {
6
+ DEBUG = 0,
7
+ INFO = 1,
8
+ WARN = 2,
9
+ ERROR = 3,
10
+ FATAL = 4,
11
+ }
12
+
13
+ export interface LoggerConfig {
14
+ minLevel: LogLevel;
15
+ enableColors: boolean;
16
+ jsonFormat: boolean;
17
+ logFile?: string;
18
+ }
19
+
20
+ export class EnterpriseLogger {
21
+ private config: LoggerConfig;
22
+ private static instance: EnterpriseLogger;
23
+
24
+ private constructor() {
25
+ const isProd = process.env.NODE_ENV === "production";
26
+ this.config = {
27
+ minLevel: isProd ? LogLevel.INFO : LogLevel.DEBUG,
28
+ enableColors: !isProd,
29
+ jsonFormat: isProd,
30
+ };
31
+ }
32
+
33
+ public static getInstance(): EnterpriseLogger {
34
+ if (!EnterpriseLogger.instance) {
35
+ EnterpriseLogger.instance = new EnterpriseLogger();
36
+ }
37
+ return EnterpriseLogger.instance;
38
+ }
39
+
40
+ public configure(config: Partial<LoggerConfig>): void {
41
+ this.config = { ...this.config, ...config };
42
+
43
+ if (this.config.logFile) {
44
+ try {
45
+ const dir = path.dirname(this.config.logFile);
46
+ if (!fs.existsSync(dir)) {
47
+ fs.mkdirSync(dir, { recursive: true });
48
+ }
49
+ } catch (err) {
50
+ console.error(`[Logger] Failed to create log directory: ${err}`);
51
+ }
52
+ }
53
+ }
54
+
55
+ private formatMessage(level: LogLevel, message: string, meta?: unknown): string {
56
+ const timestamp = new Date().toISOString();
57
+ const pid = process.pid;
58
+
59
+ if (this.config.jsonFormat) {
60
+ return JSON.stringify({
61
+ timestamp,
62
+ level: LogLevel[level],
63
+ pid,
64
+ message,
65
+ meta,
66
+ });
67
+ }
68
+
69
+ const levelName = LogLevel[level].padEnd(5);
70
+ let coloredLevel = levelName;
71
+
72
+ if (this.config.enableColors) {
73
+ switch (level) {
74
+ case LogLevel.DEBUG:
75
+ coloredLevel = chalk.blue(levelName);
76
+ break;
77
+ case LogLevel.INFO:
78
+ coloredLevel = chalk.green(levelName);
79
+ break;
80
+ case LogLevel.WARN:
81
+ coloredLevel = chalk.yellow(levelName);
82
+ break;
83
+ case LogLevel.ERROR:
84
+ coloredLevel = chalk.red(levelName);
85
+ break;
86
+ case LogLevel.FATAL:
87
+ coloredLevel = chalk.bgRed.white.bold(levelName);
88
+ break;
89
+ }
90
+ }
91
+
92
+ const metaStr = meta ? ` | Meta: ${JSON.stringify(meta)}` : "";
93
+ return `[${timestamp}] [PID:${pid}] [${coloredLevel}]: ${message}${metaStr}`;
94
+ }
95
+
96
+ private log(level: LogLevel, message: string, meta?: unknown): void {
97
+ if (level < this.config.minLevel) return;
98
+
99
+ const formatted = this.formatMessage(level, message, meta);
100
+
101
+ // Output to console
102
+ if (level >= LogLevel.ERROR) {
103
+ console.error(formatted);
104
+ } else {
105
+ console.log(formatted);
106
+ }
107
+
108
+ // Output to file if configured
109
+ if (this.config.logFile) {
110
+ try {
111
+ fs.appendFileSync(this.config.logFile, formatted + "\n", "utf8");
112
+ } catch (err) {
113
+ console.error(`[Logger] Failed to write to log file: ${err}`);
114
+ }
115
+ }
116
+ }
117
+
118
+ public debug(message: string, meta?: unknown): void {
119
+ this.log(LogLevel.DEBUG, message, meta);
120
+ }
121
+
122
+ public info(message: string, meta?: unknown): void {
123
+ this.log(LogLevel.INFO, message, meta);
124
+ }
125
+
126
+ public warn(message: string, meta?: unknown): void {
127
+ this.log(LogLevel.WARN, message, meta);
128
+ }
129
+
130
+ public error(message: string, meta?: unknown): void {
131
+ this.log(LogLevel.ERROR, message, meta);
132
+ }
133
+
134
+ public fatal(message: string, meta?: unknown): void {
135
+ this.log(LogLevel.FATAL, message, meta);
136
+ }
137
+ }
138
+
139
+ export const logger = EnterpriseLogger.getInstance();
@@ -0,0 +1,79 @@
1
+ # 🎖️ Agent Enderun — Agent Army Manifest
2
+
3
+ This document serves as the complete manifest of the 13 specialist agents forming the **Enderun Army**. Each agent is mapped to a specific capability index, toolset, and specialized directive under the Enderun Discipline (Osmanlı Nizami).
4
+
5
+ ---
6
+
7
+ ## 🏛️ Agent Army Overview
8
+
9
+ | Agent Name | Role | Capability | Primary Tools | Tags |
10
+ | :--- | :--- | :--- | :--- | :--- |
11
+ | **`@manager`** | Orchestration | 10/10 | `orchestrate_loop`, `send_agent_message` | `core`, `orchestration` |
12
+ | **`@architect`** | System Design | 9/10 | `write_file`, `replace_text` | `core`, `design` |
13
+ | **`@backend`** | Backend Logic | 9/10 | `replace_text`, `run_shell_command` | `core`, `logic` |
14
+ | **`@frontend`** | User Interface | 9/10 | `replace_text`, `view_file` | `core`, `ui` |
15
+ | **`@quality`** | Quality Audit | 9/10 | `run_shell_command`, `view_file` | `core`, `audit` |
16
+ | **`@database`** | Data Management | 9/10 | `replace_text`, `run_shell_command` | `core`, `data` |
17
+ | **`@devops`** | Infrastructure | 9/10 | `run_shell_command`, `view_file` | `core`, `infra` |
18
+ | **`@explorer`** | Reconnaissance | 8/10 | `grep_search`, `list_dir`, `glob` | `core`, `recon` |
19
+ | **`@git`** | Version Control | 9/10 | `run_shell_command`, `view_file` | `core`, `logistics` |
20
+ | **`@mobile`** | Mobile Apps | 9/10 | `replace_text`, `view_file` | `core`, `mobile` |
21
+ | **`@native`** | System-Level | 9/10 | `run_shell_command`, `replace_text` | `core`, `native` |
22
+ | **`@security`** | Security Audit | 10/10 | `grep_search`, `run_shell_command` | `core`, `security` |
23
+ | **`@analyst`** | Requirements | 9/10 | `grep_search`, `list_dir` | `core`, `strategy` |
24
+
25
+ ---
26
+
27
+ ## 🤖 Specialist Directives
28
+
29
+ ### 1. `@manager` (Orchestrator)
30
+ - **Directive:** Strategic commander of the army. Coordinates executions, schedules traces, and delegates tasks to specialists.
31
+ - **Mandate:** Enforces Enderun discipline, inherits and passes Trace IDs, and handles final compliance approvals.
32
+
33
+ ### 2. `@architect` (Lead Architect)
34
+ - **Directive:** Outlines initial codebase design, defines schema contracts, and manages the architectural blueprint.
35
+ - **Mandate:** Enforces strict modular boundaries and verifies structural sanity.
36
+
37
+ ### 3. `@backend` (Backend Specialist)
38
+ - **Directive:** Builds REST/GraphQL API systems, develops server components, and manages server business rules.
39
+ - **Mandate:** Ensures robust error handling, schema boundaries, and server logic.
40
+
41
+ ### 4. `@frontend` (Frontend Specialist)
42
+ - **Directive:** Builds user interfaces, manages layouts and states using modern styling (Panda CSS, CSS variables).
43
+ - **Mandate:** Enforces design systems, accessibility, and high performance rendering.
44
+
45
+ ### 5. `@quality` (Quality Specialist)
46
+ - **Directive:** Validates unit coverage, performs static analyses, and ensures code rules compliance.
47
+ - **Mandate:** Runs ESLint rules, checks console logs, and audits project safety.
48
+
49
+ ### 6. `@database` (Database Specialist)
50
+ - **Directive:** Designs relational/NoSQL schemas, writes migrations, and optimizes SQL query metrics.
51
+ - **Mandate:** Guarantees data transaction integrity and index configurations.
52
+
53
+ ### 7. `@devops` (Infrastructure Specialist)
54
+ - **Directive:** Establishes CI/CD pipelines, configures Docker environments, and tracks cloud deployments.
55
+ - **Mandate:** Ensures high availability, automation scripts, and safe release cycles.
56
+
57
+ ### 8. `@explorer` (Intel Explorer)
58
+ - **Directive:** Gathers codebase intelligence, discovers file dependencies, and maps codebase symbols.
59
+ - **Mandate:** Guides planning agents by providing context graphs and code dependencies.
60
+
61
+ ### 9. `@git` (Logistics Master)
62
+ - **Directive:** Handles atomic commit flows, merges code, resolves conflicts, and manages release tags.
63
+ - **Mandate:** Enforces descriptive commit tags mapped to active Trace IDs.
64
+
65
+ ### 10. `@mobile` (Mobile Specialist)
66
+ - **Directive:** Implements mobile interfaces using cross-platform layouts (React Native / Expo).
67
+ - **Mandate:** Optimizes mobile assets, native performance, and state stores.
68
+
69
+ ### 11. `@native` (Native Division)
70
+ - **Directive:** Interfaces with native operating system hooks, constructs desktop platforms, and manages hardware bridges.
71
+ - **Mandate:** Exercises deep security protocols during system interactions.
72
+
73
+ ### 12. `@security` (Security Specialist)
74
+ - **Directive:** Audits repositories for credentials/secrets, evaluates package dependencies, and verifies authentication flows.
75
+ - **Mandate:** Rejects insecure actions, validates cryptographic keys, and enforces access control checks.
76
+
77
+ ### 13. `@analyst` (Business Analyst)
78
+ - **Directive:** Maps requirements to codebase implementations, writes business specification rules, and audits contracts.
79
+ - **Mandate:** Validates feature alignment against system specifications.
@@ -0,0 +1,69 @@
1
+ # 🎖️ Agent Enderun — Enterprise Architecture & Standards
2
+
3
+ This document establishes the architecture patterns, design guidelines, and code structures of the **Enderun Core Framework** for enterprise deployments.
4
+
5
+ ---
6
+
7
+ ## 🏛️ Project Directory Structure
8
+
9
+ ```text
10
+ agent-enderun/
11
+ ├── bin/ # Executable CLI entrypoints
12
+ ├── docs/ # Technical documentation & design guides
13
+ ├── framework-mcp/ # Modular MCP server implementation (workspace)
14
+ │ ├── src/ # MCP server source files
15
+ │ └── tests/ # Unit tests for MCP server tools
16
+ ├── src/ # CLI & Core framework logic
17
+ │ ├── cli/ # Command line interface commands & adapters
18
+ │ │ ├── adapters/ # Target-specific IDE adapters (VS Code, Cursor, etc.)
19
+ │ │ ├── commands/ # Subcommand handlers (init, status, check)
20
+ │ │ └── utils/ # CLI-specific utilities
21
+ │ ├── modules/ # Core framework modules
22
+ │ │ ├── adapters/ # Target environment adapter profiles
23
+ │ │ ├── agents/ # Orchestrator & Specialist Agent definitions
24
+ │ │ └── skills/ # Capability templates for specialist actions
25
+ │ └── shared/ # Core shared business components
26
+ │ ├── config.ts # Zod environment configuration
27
+ │ ├── container.ts # Dependency injection container
28
+ │ ├── errors.ts # Standard typed domain errors
29
+ │ ├── fs.ts # File system helper wrappers
30
+ │ └── logger.ts # Enterprise logging subsystem
31
+ ```
32
+
33
+ ---
34
+
35
+ ## ⚙️ Core Design Principles
36
+
37
+ ### 1. Unified Domain Errors
38
+ All errors thrown by modules must inherit from `EnderunBaseError` in [src/shared/errors.ts](file:///Users/ybekar/Desktop/Projeler/agent-enderun/src/shared/errors.ts).
39
+ This ensures:
40
+ - Unique error codes (`CONFIGURATION_ERROR`, `VALIDATION_ERROR`, etc.)
41
+ - Metadata enrichment via the `details` field
42
+ - Structured JSON serialization in production environments
43
+
44
+ ### 2. Zod-Validated Environments
45
+ Configuration options must never be read directly from raw environment variables (`process.env`). Instead, they are parsed and frozen inside [src/shared/config.ts](file:///Users/ybekar/Desktop/Projeler/agent-enderun/src/shared/config.ts) at initialization. If a required value is missing, the application crashes immediately with a clean explanation.
46
+
47
+ ### 3. Service Container (Dependency Injection)
48
+ To write testable and decoupled code, singletons and factories are registered and resolved using the `ServiceContainer` defined in [src/shared/container.ts](file:///Users/ybekar/Desktop/Projeler/agent-enderun/src/shared/container.ts).
49
+ ```typescript
50
+ import { container } from "./shared/container.js";
51
+
52
+ // Register
53
+ container.register("Logger", logger);
54
+
55
+ // Resolve
56
+ const logger = container.resolve<EnterpriseLogger>("Logger");
57
+ ```
58
+
59
+ ### 4. Structured Observability
60
+ Use `EnterpriseLogger` in [src/shared/logger.ts](file:///Users/ybekar/Desktop/Projeler/agent-enderun/src/shared/logger.ts) for logging:
61
+ - In **development**, logs are colorized and formatted for human readability.
62
+ - In **production**, logs are structured as JSON for log aggregators (e.g. Datadog, ELK).
63
+
64
+ ---
65
+
66
+ ## 🛡️ Code & Type Guidelines
67
+ - **Strict Typing:** Always keep `"strict": true` in `tsconfig.json`. Explicit return types are required on all exports.
68
+ - **Asynchronous Flow:** Use async/await over raw promise chains. Handle failures with localized try/catch blocks and wrap in domain errors.
69
+ - **Atomic Operations:** Always use transactional or surgical replacements when editing configuration/code files.
@@ -0,0 +1,46 @@
1
+ # Enterprise CRUD & Admin Governance Protocol (v1.0.0)
2
+
3
+ This protocol defines the strict operational boundaries, coding practices, and routing rules for High-Risk CRUD (Create, Read, Update, Delete) operations and Administrative actions within Agent Enderun projects.
4
+
5
+ ---
6
+
7
+ ## 🔒 1. High-Risk Action Classification
8
+
9
+ To maintain security, database consistency, and prevent unauthorized system changes, actions are split into **Standard Operations** and **High-Risk Operations**.
10
+
11
+ ### 🛑 High-Risk Administrative Operations (Requires @manager Sign-Off)
12
+ The following actions must **never** be performed by specialist agents (`@backend`, `@frontend`, `@database`, etc.) autonomously. They must halt execution and redirect the task to `@manager` via the Hermes Message Broker.
13
+
14
+ 1. **User & Permission Management:** Modifying roles, assigning admin rights, creating api keys.
15
+ 2. **Bulk Destructive Operations:** Truncating tables, purging databases, executing mass-deletions without strict tenant-isolation clauses.
16
+ 3. **Database Schema Alterations:** Running database migrations, altering column constraints, deleting tables.
17
+ 4. **PII & Data Export:** Bulk exporting personal user info, system settings, or database backups.
18
+ 5. **System Config & CSP Policies:** Modifying environment variables, CORS origins, or content security policies.
19
+ 6. **Billing & Financial Actions:** Integrating payment gateways, editing subscription rules.
20
+
21
+ ---
22
+
23
+ ## 🛡️ 2. Specialist Redirection Policy
24
+
25
+ When a specialist agent receives a request containing any High-Risk Administrative Operation, it must immediately return the following standard refusal message and halt code output:
26
+
27
+ > **[REFUSAL - Corporate CRUD Governance Standard]**
28
+ > I am not authorized to perform administrative actions or bulk mutations.
29
+ > I have redirected this request to the Orchestrator (@manager) under Trace ID: {{TRACE_ID}}.
30
+ > Please execute the manager approval sequence to proceed.
31
+
32
+ ### Action Flow:
33
+ 1. **Detect** high-risk keyword or context in the task.
34
+ 2. **Create** an approval request using the `send_agent_message` tool targeting `@manager` with category `ALERT` and priority `HIGH`.
35
+ 3. **Update** state in `STATUS.md` to `WAITING` with note `BLOCKED_BY_CRUD_GOVERNANCE`.
36
+
37
+ ---
38
+
39
+ ## 🧬 3. Safe Coding Standard (Read/Write Rules)
40
+
41
+ For permitted Standard CRUD operations, the following rules are strictly enforced:
42
+
43
+ 1. **Isolated Repository Pattern:** All database reads and writes must be encapsulated in repository/service classes. Writing database queries directly inside fastify controllers or nextjs actions is **strictly forbidden**.
44
+ 2. **No Raw SQL:** All database mutations must use typed query builders (e.g. `Kysely`). Direct string-concatenated SQL queries are **strictly forbidden** to prevent SQL injection.
45
+ 3. **Branded Types:** Entities must use branded types (e.g. `UserId`, `ProjectId`) instead of primitive types (`string`, `number`) to avoid type mixing.
46
+ 4. **Soft Deletes by Default:** All business-domain deletions must use a `deletedAt` timestamp instead of raw SQL `DELETE` mutations, unless explicitly designated by `@manager`.
@@ -0,0 +1,13 @@
1
+ # Architecture Patterns & Data Fetching
2
+
3
+ ## 1. UI Layout & Component Structure
4
+ - **Shared UI:** All atomic components (Button, Input, etc.) must be created in `apps/web/src/components/ui/` using **Panda CSS**.
5
+ - **Layouts:** Use wrapper layouts (`Shell`, `Workspace`) in `apps/web/src/components/layout/`. Every page must utilize these layouts to maintain consistency.
6
+ - **Procedural Continuity:** Never re-create an existing component. Search the `components/ui/` directory first.
7
+
8
+ ## 2. Data Fetching & API (CRUD) Patterns
9
+ - **Repository Pattern:** Backend logic must be separated into service/repository layers. No direct DB calls in controllers.
10
+ - **Contract-First:** All API endpoints must use types imported from `apps/backend/src/types/`.
11
+ - **API Layer:** Frontend must use typed fetcher functions located in `apps/web/src/api/`.
12
+ - **Validation:** Use `zod` for request validation on the backend and response validation on the frontend.
13
+ - **Audit Logging:** Every mutation (POST/PUT/PATCH/DELETE) MUST trigger an audit log service call with the current Trace ID.
@@ -0,0 +1,31 @@
1
+ # Design System — Agent Enderun (Enterprise)
2
+
3
+ ## 1. Design Philosophy
4
+ The Agent Enderun Design System focuses on **"Enterprise Clarity"**. Our interfaces are professional, minimalist tools designed to maximize data comprehension and operational speed.
5
+
6
+ - **Clarity:** Every pixel must serve a purpose. If it doesn't aid understanding or action, remove it.
7
+ - **Consistency:** Uniform visual language across all applications.
8
+ - **Responsiveness:** Fluid adaptation to any screen size, from mobile to ultra-wide monitors.
9
+
10
+ ## 2. Technical Requirements
11
+ - **Styling:** Panda CSS is MANDATORY. Tailwind, CSS-in-JS, and raw CSS modules are FORBIDDEN.
12
+ - **Zero UI Library:** No external components (MUI, AntD, Shadcn). All UI components must be built from scratch in `apps/web/src/components/ui/`.
13
+ - **Tokenization:** All values (colors, spacing, typography) MUST use `panda.config.ts` tokens. NO hardcoded pixels.
14
+ - **Responsiveness:** Mobile-First design is MANDATORY.
15
+
16
+ ## 3. Responsive Mandate (Mobile-First)
17
+ - **Design Strategy:** Design for 320px width first.
18
+ - **Breakpoints:**
19
+ - `sm`: 640px
20
+ - `md`: 768px
21
+ - `lg`: 1024px
22
+ - `xl`: 1280px
23
+ - `2xl`: 1536px
24
+ - **Layouts:** Use Flexbox and Grid. Fixed widths are FORBIDDEN. Use `clamp()` for fluid typography and spacing where applicable.
25
+ - **Reflow:** Content MUST gracefully wrap, stack, or collapse based on screen width without horizontal scrollbars.
26
+
27
+ ## 4. UI/UX Interaction Standards
28
+ - **Interactions:** Hover, Active, and Disabled states are MANDATORY for all interactive elements.
29
+ - **Feedback:** Async operations MUST show Loading states and Toast notifications on completion/error.
30
+ - **Blocking Dialogues:** Native `alert()` and `confirm()` functions are **FORBIDDEN**. Use project-integrated `Modal` components for blocking user interactions and `Toaster` for non-blocking feedback.
31
+ - **Focus:** All interactive elements must have a visible `focus` state for accessibility.
@@ -0,0 +1,21 @@
1
+ # 🎖️ Agent Enderun — Documentation Ownership & Memory Protocol
2
+
3
+ This document establishes the binding discipline for where project documentation is stored and how AI agents interact with it.
4
+
5
+ ## 🏛️ Core Principles
6
+
7
+ 1. **Human-AI Separation of Concerns:**
8
+ - **`docs/` (Root Directory):** Single Source of Truth (SSOT) for human intentions, business requirements, API specifications, and architectural standards.
9
+ - **`.gemini/` or `.agents/` (Framework Directory):** Operational workspace and memory of the AI agents. Contains state machines, task tracking, rules, and internal logs.
10
+
11
+ 2. **The Documentation Discipline:**
12
+ - The user clarifies requirements in the chat.
13
+ - Once requirements are finalized, they are documented in the root `docs/` directory (e.g., `docs/project-docs.md`, `docs/api/`, etc.) by the user or the agent.
14
+ - When building features or validating code, the agent **reads** the documents from `docs/` and uses them as the blueprint.
15
+ - The agent **must not** duplicate requirements inside the internal memory (`PROJECT_MEMORY.md`). The internal memory only tracks *what has been done* and *what is currently running* (Trace ID, active phase, history of implemented steps referencing the doc files).
16
+
17
+ ## 🛡️ Agent Rules
18
+
19
+ - **Do Not Pollute Internal Memory:** Never copy full requirement specifications or code files into `.gemini/memory/PROJECT_MEMORY.md`. Refer to the root `docs/` files instead.
20
+ - **Exclusivity:** All project-specific architectural records, API catalogs, database schemas, and user manuals must be created in the `docs/` folder.
21
+ - **Read Before Code:** Before writing any application code or generating files, the agent must check the root `docs/` directory for context and specifications.
@@ -0,0 +1,7 @@
1
+ # Logging & Audit Standard
2
+
3
+ - **No Console.log:** Production code MUST NOT use `console.log`, `console.warn`, or `console.error`. These are FORBIDDEN in the codebase.
4
+ - **Structured Logging:** All logging MUST go through the centralized `Logger` service (`apps/backend/src/services/logger.ts`). Logs must be produced in JSON format.
5
+ - **Traceability:** Every log entry MUST include the active `traceId` context to ensure cross-agent and cross-service traceability.
6
+ - **Audit Logging:** Every state-mutating operation (POST, PUT, PATCH, DELETE) MUST trigger an `AuditService.log()` call, linking the action to the responsible agent, Trace ID, and entity ID.
7
+ - **Log Persistence:** Logs must be persisted in an structured manner suitable for downstream ingestion by log management systems.
@@ -0,0 +1,48 @@
1
+ # Mobile Standards — Agent Enderun (React Native & Expo)
2
+
3
+ This document establishes the responsive styling, safe layout, and development standards for mobile applications.
4
+
5
+ ## 📱 1. Safe Layout & Notches
6
+
7
+ - **SafeAreaView Usage:** All screen entry points must be wrapped in a `SafeAreaView` (from `react-native-safe-area-context`) to avoid overlap with device notches, status bars, and home indicators.
8
+ - **Avoid Hardcoded Padding/Margins:** Use the dynamic insets returned by the `useSafeAreaInsets()` hook for custom spacing.
9
+
10
+ ## 📏 2. Fluid & Responsive Dimensions
11
+
12
+ - **No Hardcoded Absolute Sizes:** Hardcoding absolute widths and heights (e.g. `width: 375`) is strictly forbidden.
13
+ - **Flexbox First:** Build layouts using Flexbox (`flex: 1`, `flexDirection`, `justifyContent`, `alignItems`).
14
+ - **Dynamic Scales:** Use percentages (`width: "100%"`) or calculate dynamic values using `useWindowDimensions()` or a scaling utility:
15
+ ```typescript
16
+ import { Dimensions } from "react-native";
17
+ const { width, height } = Dimensions.get("window");
18
+
19
+ // Base design width (e.g., iPhone 14 / 390px wide)
20
+ const scale = width / 390;
21
+ export const normalize = (size: number) => Math.round(size * scale);
22
+ ```
23
+
24
+ ## 🎨 3. Typography & Styling
25
+
26
+ - **System Fonts:** Use native platform fonts or custom configured Expo fonts consistently.
27
+ - **Fluid Typography:** Scale font sizes dynamically using scaling utilities so they look proportionate on both compact screens and tablets.
28
+ - **Platform Selection:** Target Android and iOS specifically when styling differs (e.g., shadows vs elevation) using `Platform.select()`:
29
+ ```typescript
30
+ const cardStyle = {
31
+ ...Platform.select({
32
+ ios: {
33
+ shadowColor: "#000",
34
+ shadowOffset: { width: 0, height: 2 },
35
+ shadowOpacity: 0.1,
36
+ shadowRadius: 4,
37
+ },
38
+ android: {
39
+ elevation: 4,
40
+ },
41
+ }),
42
+ };
43
+ ```
44
+
45
+ ## 📦 4. Asset & Network Optimization
46
+
47
+ - **Vector Graphics:** Prefer SVG files over high-resolution PNG/JPG files for icons and illustrations to prevent scaling pixelation.
48
+ - **Image Performance:** Always use caching and optimizing components like Expo's `Image` with appropriate content-fit modes.
@@ -0,0 +1,9 @@
1
+ # Tech Stack — Agent Enderun (Enterprise)
2
+
3
+ - **Execution Profile:** Full (Enterprise)
4
+ - **Frontend:** React (Vite), Panda CSS (Zero UI Library)
5
+ - **Backend:** Fastify API, Kysely (Query Builder)
6
+ - **Database:** PostgreSQL
7
+ - **Testing:** Vitest (Integration + Unit)
8
+ - **Auth:** Contract-first (Type definitions)
9
+ - **Versioning:** API-path versioning (/api/v1/...)