atabey 0.0.10 → 0.0.12
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.
- package/ATABEY.md +272 -15
- package/README.md +112 -162
- package/bin/completion.sh +30 -0
- package/bin/{validate-agent-army.js → validate-al-registry.js} +2 -2
- package/dist/framework-mcp/src/index.js +14 -2
- package/dist/framework-mcp/src/index.js.map +1 -1
- package/dist/framework-mcp/src/resources/index.js +5 -5
- package/dist/framework-mcp/src/resources/index.js.map +1 -1
- package/dist/framework-mcp/src/tools/control_plane/locking.d.ts +1 -1
- package/dist/framework-mcp/src/tools/control_plane/locking.js +11 -9
- package/dist/framework-mcp/src/tools/control_plane/locking.js.map +1 -1
- package/dist/framework-mcp/src/tools/definitions.d.ts +5 -0
- package/dist/framework-mcp/src/tools/definitions.js +99 -246
- package/dist/framework-mcp/src/tools/definitions.js.map +1 -1
- package/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js +4 -4
- package/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js.map +1 -1
- package/dist/framework-mcp/src/tools/file_system/read_file.js +7 -7
- package/dist/framework-mcp/src/tools/file_system/read_file.js.map +1 -1
- package/dist/framework-mcp/src/tools/file_system/replace_text.js +3 -3
- package/dist/framework-mcp/src/tools/file_system/replace_text.js.map +1 -1
- package/dist/framework-mcp/src/tools/file_system/write_file.d.ts +1 -1
- package/dist/framework-mcp/src/tools/file_system/write_file.js +16 -4
- package/dist/framework-mcp/src/tools/file_system/write_file.js.map +1 -1
- package/dist/framework-mcp/src/tools/framework/audit_deps.js +1 -1
- package/dist/framework-mcp/src/tools/framework/audit_deps.js.map +1 -1
- package/dist/framework-mcp/src/tools/framework/submit_plan.d.ts +4 -3
- package/dist/framework-mcp/src/tools/framework/submit_plan.js.map +1 -1
- package/dist/framework-mcp/src/tools/index.d.ts +2 -0
- package/dist/framework-mcp/src/tools/index.js +49 -0
- package/dist/framework-mcp/src/tools/index.js.map +1 -1
- package/dist/framework-mcp/src/tools/memory/delete_knowledge.d.ts +8 -0
- package/dist/framework-mcp/src/tools/memory/delete_knowledge.js +29 -0
- package/dist/framework-mcp/src/tools/memory/delete_knowledge.js.map +1 -0
- package/dist/framework-mcp/src/tools/memory/get_insights.d.ts +2 -2
- package/dist/framework-mcp/src/tools/memory/get_insights.js +9 -21
- package/dist/framework-mcp/src/tools/memory/get_insights.js.map +1 -1
- package/dist/framework-mcp/src/tools/memory/read_memory.js +1 -1
- package/dist/framework-mcp/src/tools/memory/read_memory.js.map +1 -1
- package/dist/framework-mcp/src/tools/memory/search_knowledge.d.ts +8 -0
- package/dist/framework-mcp/src/tools/memory/search_knowledge.js +49 -0
- package/dist/framework-mcp/src/tools/memory/search_knowledge.js.map +1 -0
- package/dist/framework-mcp/src/tools/memory/store_knowledge.d.ts +10 -0
- package/dist/framework-mcp/src/tools/memory/store_knowledge.js +31 -0
- package/dist/framework-mcp/src/tools/memory/store_knowledge.js.map +1 -0
- package/dist/framework-mcp/src/tools/messaging/ask_human.d.ts +6 -0
- package/dist/framework-mcp/src/tools/messaging/ask_human.js +31 -0
- package/dist/framework-mcp/src/tools/messaging/ask_human.js.map +1 -0
- package/dist/framework-mcp/src/tools/observability/check_ports.js +1 -1
- package/dist/framework-mcp/src/tools/observability/check_ports.js.map +1 -1
- package/dist/framework-mcp/src/tools/observability/get_health.js +1 -1
- package/dist/framework-mcp/src/tools/schemas.d.ts +359 -0
- package/dist/framework-mcp/src/tools/schemas.js +154 -0
- package/dist/framework-mcp/src/tools/schemas.js.map +1 -0
- package/dist/framework-mcp/src/tools/search/get_map.js +2 -2
- package/dist/framework-mcp/src/tools/search/get_map.js.map +1 -1
- package/dist/framework-mcp/src/tools/search/grep_search.js +10 -7
- package/dist/framework-mcp/src/tools/search/grep_search.js.map +1 -1
- package/dist/framework-mcp/src/tools/shell/run_command.js +72 -7
- package/dist/framework-mcp/src/tools/shell/run_command.js.map +1 -1
- package/dist/framework-mcp/src/tools/types.d.ts +10 -9
- package/dist/framework-mcp/src/utils/compliance.d.ts +10 -0
- package/dist/framework-mcp/src/utils/compliance.js +102 -41
- package/dist/framework-mcp/src/utils/compliance.js.map +1 -1
- package/dist/framework-mcp/src/utils/fs.d.ts +10 -7
- package/dist/framework-mcp/src/utils/fs.js +10 -7
- package/dist/framework-mcp/src/utils/fs.js.map +1 -1
- package/dist/framework-mcp/src/utils/types.d.ts +8 -0
- package/dist/framework-mcp/src/utils/types.js +4 -0
- package/dist/framework-mcp/src/utils/types.js.map +1 -1
- package/dist/framework-mcp/src/utils/zod-to-mcp.d.ts +10 -0
- package/dist/framework-mcp/src/utils/zod-to-mcp.js +80 -0
- package/dist/framework-mcp/src/utils/zod-to-mcp.js.map +1 -0
- package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js +4 -4
- package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js.map +1 -1
- package/dist/framework-mcp/tests/tools/messaging/send_message.test.js +17 -16
- package/dist/framework-mcp/tests/tools/messaging/send_message.test.js.map +1 -1
- package/dist/src/cli/adapters/core.js +2 -1
- package/dist/src/cli/adapters/core.js.map +1 -1
- package/dist/src/cli/adapters/scaffold.js +2 -1
- package/dist/src/cli/adapters/scaffold.js.map +1 -1
- package/dist/src/cli/commands/check.js +17 -17
- package/dist/src/cli/commands/check.js.map +1 -1
- package/dist/src/cli/commands/compliance.d.ts +5 -1
- package/dist/src/cli/commands/compliance.js +34 -42
- package/dist/src/cli/commands/compliance.js.map +1 -1
- package/dist/src/cli/commands/contract.js +6 -5
- package/dist/src/cli/commands/contract.js.map +1 -1
- package/dist/src/cli/commands/coverage.d.ts +1 -0
- package/dist/src/cli/commands/coverage.js +121 -0
- package/dist/src/cli/commands/coverage.js.map +1 -0
- package/dist/src/cli/commands/dashboard.d.ts +1 -1
- package/dist/src/cli/commands/dashboard.js +255 -38
- package/dist/src/cli/commands/dashboard.js.map +1 -1
- package/dist/src/cli/commands/explorer.js +8 -7
- package/dist/src/cli/commands/explorer.js.map +1 -1
- package/dist/src/cli/commands/git.js +8 -9
- package/dist/src/cli/commands/git.js.map +1 -1
- package/dist/src/cli/commands/index-codebase.d.ts +4 -0
- package/dist/src/cli/commands/index-codebase.js +52 -0
- package/dist/src/cli/commands/index-codebase.js.map +1 -0
- package/dist/src/cli/commands/init/scaffold-core.js +7 -6
- package/dist/src/cli/commands/init/scaffold-core.js.map +1 -1
- package/dist/src/cli/commands/init/scaffold-docs.js +4 -3
- package/dist/src/cli/commands/init/scaffold-docs.js.map +1 -1
- package/dist/src/cli/commands/init/scaffold-ops.js +3 -3
- package/dist/src/cli/commands/init/scaffold-ops.js.map +1 -1
- package/dist/src/cli/commands/init/scaffold-standards.js +11 -7
- package/dist/src/cli/commands/init/scaffold-standards.js.map +1 -1
- package/dist/src/cli/commands/init.js +27 -27
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/knowledge.js +5 -32
- package/dist/src/cli/commands/knowledge.js.map +1 -1
- package/dist/src/cli/commands/lint.js +5 -4
- package/dist/src/cli/commands/lint.js.map +1 -1
- package/dist/src/cli/commands/mcp.d.ts +4 -0
- package/dist/src/cli/commands/mcp.js +107 -0
- package/dist/src/cli/commands/mcp.js.map +1 -0
- package/dist/src/cli/commands/orchestrate.d.ts +11 -11
- package/dist/src/cli/commands/orchestrate.js +131 -66
- package/dist/src/cli/commands/orchestrate.js.map +1 -1
- package/dist/src/cli/commands/plan.js +16 -14
- package/dist/src/cli/commands/plan.js.map +1 -1
- package/dist/src/cli/commands/quickstart.d.ts +9 -0
- package/dist/src/cli/commands/quickstart.js +72 -0
- package/dist/src/cli/commands/quickstart.js.map +1 -0
- package/dist/src/cli/commands/script.js +6 -5
- package/dist/src/cli/commands/script.js.map +1 -1
- package/dist/src/cli/commands/security.js +5 -8
- package/dist/src/cli/commands/security.js.map +1 -1
- package/dist/src/cli/commands/status.js +23 -19
- package/dist/src/cli/commands/status.js.map +1 -1
- package/dist/src/cli/commands/trace.d.ts +2 -0
- package/dist/src/cli/commands/trace.js +59 -61
- package/dist/src/cli/commands/trace.js.map +1 -1
- package/dist/src/cli/index.js +38 -6
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/cli/shims.js +2 -2
- package/dist/src/cli/utils/claude.js +2 -1
- package/dist/src/cli/utils/claude.js.map +1 -1
- package/dist/src/cli/utils/compliance.d.ts +10 -9
- package/dist/src/cli/utils/compliance.js +10 -171
- package/dist/src/cli/utils/compliance.js.map +1 -1
- package/dist/src/cli/utils/fs.d.ts +2 -2
- package/dist/src/cli/utils/fs.js +7 -6
- package/dist/src/cli/utils/fs.js.map +1 -1
- package/dist/src/cli/utils/i18n.d.ts +5 -0
- package/dist/src/cli/utils/i18n.js +5 -0
- package/dist/src/cli/utils/i18n.js.map +1 -1
- package/dist/src/cli/utils/memory.js +9 -6
- package/dist/src/cli/utils/memory.js.map +1 -1
- package/dist/src/cli/utils/pkg.js +8 -7
- package/dist/src/cli/utils/pkg.js.map +1 -1
- package/dist/src/cli/utils/schemas.d.ts +4 -4
- package/dist/src/cli/utils/ui.d.ts +23 -0
- package/dist/src/cli/utils/ui.js +42 -0
- package/dist/src/cli/utils/ui.js.map +1 -1
- package/dist/src/contracts/tasks.d.ts +4 -4
- package/dist/src/dashboard/src/hooks/useApi.d.ts +18 -0
- package/dist/src/dashboard/src/hooks/useApi.js +47 -0
- package/dist/src/dashboard/src/hooks/useApi.js.map +1 -0
- package/dist/src/dashboard/src/hooks/useSSE.d.ts +12 -0
- package/dist/src/dashboard/src/hooks/useSSE.js +60 -0
- package/dist/src/dashboard/src/hooks/useSSE.js.map +1 -0
- package/dist/src/modules/adapters/shared.js +3 -3
- package/dist/src/modules/adapters/shared.js.map +1 -1
- package/dist/src/modules/agents/definitions.d.ts +5 -13
- package/dist/src/modules/agents/definitions.js +143 -78
- package/dist/src/modules/agents/definitions.js.map +1 -1
- package/dist/src/modules/agents/registry/analyst.js +2 -2
- package/dist/src/modules/agents/registry/analyst.js.map +1 -1
- package/dist/src/modules/agents/registry/architect.js +1 -1
- package/dist/src/modules/agents/registry/architect.js.map +1 -1
- package/dist/src/modules/agents/registry/backend.js +8 -7
- package/dist/src/modules/agents/registry/backend.js.map +1 -1
- package/dist/src/modules/agents/registry/database.js +1 -1
- package/dist/src/modules/agents/registry/database.js.map +1 -1
- package/dist/src/modules/agents/registry/devops.js +1 -1
- package/dist/src/modules/agents/registry/devops.js.map +1 -1
- package/dist/src/modules/agents/registry/explorer.js +2 -1
- package/dist/src/modules/agents/registry/explorer.js.map +1 -1
- package/dist/src/modules/agents/registry/frontend.js +8 -7
- package/dist/src/modules/agents/registry/frontend.js.map +1 -1
- package/dist/src/modules/agents/registry/git.js +1 -1
- package/dist/src/modules/agents/registry/git.js.map +1 -1
- package/dist/src/modules/agents/registry/manager.js +11 -5
- package/dist/src/modules/agents/registry/manager.js.map +1 -1
- package/dist/src/modules/agents/registry/mobile.js +8 -6
- package/dist/src/modules/agents/registry/mobile.js.map +1 -1
- package/dist/src/modules/agents/registry/native.js +8 -6
- package/dist/src/modules/agents/registry/native.js.map +1 -1
- package/dist/src/modules/agents/registry/quality.js +11 -9
- package/dist/src/modules/agents/registry/quality.js.map +1 -1
- package/dist/src/modules/agents/registry/security.js +0 -1
- package/dist/src/modules/agents/registry/security.js.map +1 -1
- package/dist/src/modules/engines/agent-executor.d.ts +51 -0
- package/dist/src/modules/engines/agent-executor.js +160 -0
- package/dist/src/modules/engines/agent-executor.js.map +1 -0
- package/dist/src/modules/engines/health-engine.d.ts +7 -1
- package/dist/src/modules/engines/health-engine.js +85 -8
- package/dist/src/modules/engines/health-engine.js.map +1 -1
- package/dist/src/modules/engines/planning-engine.d.ts +1 -1
- package/dist/src/modules/engines/planning-engine.js +5 -4
- package/dist/src/modules/engines/planning-engine.js.map +1 -1
- package/dist/src/modules/engines/quality-gate.d.ts +23 -0
- package/dist/src/modules/engines/quality-gate.js +85 -0
- package/dist/src/modules/engines/quality-gate.js.map +1 -0
- package/dist/src/modules/engines/risk-engine.js +6 -6
- package/dist/src/modules/engines/risk-engine.js.map +1 -1
- package/dist/src/modules/engines/routing-engine.d.ts +68 -1
- package/dist/src/modules/engines/routing-engine.js +328 -26
- package/dist/src/modules/engines/routing-engine.js.map +1 -1
- package/dist/src/modules/engines/types.d.ts +7 -3
- package/dist/src/modules/memory/core.d.ts +50 -0
- package/dist/src/modules/memory/core.js +107 -0
- package/dist/src/modules/memory/core.js.map +1 -0
- package/dist/src/modules/memory/types.d.ts +18 -0
- package/dist/src/modules/memory/types.js +2 -0
- package/dist/src/modules/memory/types.js.map +1 -0
- package/dist/src/modules/memory/vector-store.d.ts +13 -0
- package/dist/src/modules/memory/vector-store.js +75 -0
- package/dist/src/modules/memory/vector-store.js.map +1 -0
- package/dist/src/shared/constants.d.ts +11 -11
- package/dist/src/shared/constants.js +3 -3
- package/dist/src/shared/constants.js.map +1 -1
- package/dist/src/shared/storage.d.ts +10 -10
- package/dist/src/shared/storage.js +15 -13
- package/dist/src/shared/storage.js.map +1 -1
- package/dist/src/shared/string.d.ts +1 -0
- package/dist/src/shared/string.js +30 -0
- package/dist/src/shared/string.js.map +1 -0
- package/dist/src/shared/types.d.ts +8 -0
- package/dist/src/shared/types.js +4 -0
- package/dist/src/shared/types.js.map +1 -1
- package/dist/tests/adapter.test.js +2 -1
- package/dist/tests/adapter.test.js.map +1 -1
- package/dist/tests/cli/commands/check.test.d.ts +1 -0
- package/dist/tests/cli/commands/check.test.js +9 -0
- package/dist/tests/cli/commands/check.test.js.map +1 -0
- package/dist/tests/cli/commands/coverage.test.d.ts +1 -0
- package/dist/tests/cli/commands/coverage.test.js +9 -0
- package/dist/tests/cli/commands/coverage.test.js.map +1 -0
- package/dist/tests/cli/commands/exports.test.d.ts +1 -0
- package/dist/tests/cli/commands/exports.test.js +61 -0
- package/dist/tests/cli/commands/exports.test.js.map +1 -0
- package/dist/tests/cli/commands/lint.test.d.ts +1 -0
- package/dist/tests/cli/commands/lint.test.js +9 -0
- package/dist/tests/cli/commands/lint.test.js.map +1 -0
- package/dist/tests/core-memory.test.d.ts +1 -0
- package/dist/tests/core-memory.test.js +78 -0
- package/dist/tests/core-memory.test.js.map +1 -0
- package/dist/tests/dashboard.test.d.ts +1 -0
- package/dist/tests/dashboard.test.js +116 -0
- package/dist/tests/dashboard.test.js.map +1 -0
- package/dist/tests/fs-utils.test.js +5 -5
- package/dist/tests/fs-utils.test.js.map +1 -1
- package/dist/tests/integration/agent_flow.test.js +18 -10
- package/dist/tests/integration/agent_flow.test.js.map +1 -1
- package/dist/tests/modules/engines/agent-executor.test.d.ts +1 -0
- package/dist/tests/modules/engines/agent-executor.test.js +54 -0
- package/dist/tests/modules/engines/agent-executor.test.js.map +1 -0
- package/dist/tests/modules/engines/evaluation-engine.test.d.ts +1 -0
- package/dist/tests/modules/engines/evaluation-engine.test.js +45 -0
- package/dist/tests/modules/engines/evaluation-engine.test.js.map +1 -0
- package/dist/tests/modules/engines/health-engine.test.d.ts +1 -0
- package/dist/tests/modules/engines/health-engine.test.js +56 -0
- package/dist/tests/modules/engines/health-engine.test.js.map +1 -0
- package/dist/tests/modules/engines/planning-engine.test.d.ts +1 -0
- package/dist/tests/modules/engines/planning-engine.test.js +75 -0
- package/dist/tests/modules/engines/planning-engine.test.js.map +1 -0
- package/dist/tests/modules/engines/risk-engine.test.d.ts +1 -0
- package/dist/tests/modules/engines/risk-engine.test.js +61 -0
- package/dist/tests/modules/engines/risk-engine.test.js.map +1 -0
- package/dist/tests/modules/engines/routing-engine.test.d.ts +1 -0
- package/dist/tests/modules/engines/routing-engine.test.js +56 -0
- package/dist/tests/modules/engines/routing-engine.test.js.map +1 -0
- package/dist/tests/modules/memory/vector-store.test.d.ts +1 -0
- package/dist/tests/modules/memory/vector-store.test.js +109 -0
- package/dist/tests/modules/memory/vector-store.test.js.map +1 -0
- package/dist/tests/orchestrator-dependencies.test.js +17 -16
- package/dist/tests/orchestrator-dependencies.test.js.map +1 -1
- package/dist/tests/planning-engine.test.js +9 -8
- package/dist/tests/planning-engine.test.js.map +1 -1
- package/dist/tests/risk-engine.test.d.ts +1 -0
- package/dist/tests/risk-engine.test.js +44 -0
- package/dist/tests/risk-engine.test.js.map +1 -0
- package/dist/tests/status-cost.test.js +15 -24
- package/dist/tests/status-cost.test.js.map +1 -1
- package/dist/tests/status.test.js +16 -17
- package/dist/tests/status.test.js.map +1 -1
- package/dist/tests/trace-replay.test.js +34 -40
- package/dist/tests/trace-replay.test.js.map +1 -1
- package/dist/ui/assets/index-B-d2ejS8.js +519 -0
- package/dist/ui/assets/index-CyXywq5G.css +1 -0
- package/dist/ui/index.html +2 -2
- package/dist/vitest.config.js +5 -5
- package/dist/vitest.config.js.map +1 -1
- package/framework-mcp/README.md +96 -29
- package/framework-mcp/dist/framework-mcp/src/constants.js +64 -0
- package/framework-mcp/dist/framework-mcp/src/index.js +156 -0
- package/framework-mcp/dist/framework-mcp/src/resources/index.js +58 -0
- package/framework-mcp/dist/framework-mcp/src/tools/control_plane/locking.js +84 -0
- package/framework-mcp/dist/framework-mcp/src/tools/control_plane/registry.js +35 -0
- package/framework-mcp/dist/framework-mcp/src/tools/definitions.js +175 -0
- package/framework-mcp/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js +64 -0
- package/framework-mcp/dist/framework-mcp/src/tools/file_system/patch_file.js +34 -0
- package/framework-mcp/dist/framework-mcp/src/tools/file_system/read_file.js +51 -0
- package/framework-mcp/dist/framework-mcp/src/tools/file_system/replace_text.js +50 -0
- package/framework-mcp/dist/framework-mcp/src/tools/file_system/write_file.js +55 -0
- package/framework-mcp/dist/framework-mcp/src/tools/framework/audit_deps.js +41 -0
- package/framework-mcp/dist/framework-mcp/src/tools/framework/get_status.js +5 -0
- package/framework-mcp/dist/framework-mcp/src/tools/framework/orchestrate.js +5 -0
- package/framework-mcp/dist/framework-mcp/src/tools/framework/run_tests.js +27 -0
- package/framework-mcp/dist/framework-mcp/src/tools/framework/submit_plan.js +13 -0
- package/framework-mcp/dist/framework-mcp/src/tools/framework/update_contract_hash.js +5 -0
- package/framework-mcp/dist/framework-mcp/src/tools/framework/update_memory.js +8 -0
- package/framework-mcp/dist/framework-mcp/src/tools/index.js +111 -0
- package/framework-mcp/dist/framework-mcp/src/tools/memory/delete_knowledge.js +28 -0
- package/framework-mcp/dist/framework-mcp/src/tools/memory/get_insights.js +22 -0
- package/framework-mcp/dist/framework-mcp/src/tools/memory/read_memory.js +28 -0
- package/framework-mcp/dist/framework-mcp/src/tools/memory/search_knowledge.js +48 -0
- package/framework-mcp/dist/framework-mcp/src/tools/memory/store_knowledge.js +30 -0
- package/framework-mcp/dist/framework-mcp/src/tools/messaging/ask_human.js +30 -0
- package/framework-mcp/dist/framework-mcp/src/tools/messaging/log_action.js +22 -0
- package/framework-mcp/dist/framework-mcp/src/tools/messaging/send_message.js +94 -0
- package/framework-mcp/dist/framework-mcp/src/tools/observability/check_ports.js +26 -0
- package/framework-mcp/dist/framework-mcp/src/tools/observability/get_health.js +19 -0
- package/framework-mcp/dist/framework-mcp/src/tools/quality/check_lint.js +30 -0
- package/framework-mcp/dist/framework-mcp/src/tools/schemas.js +153 -0
- package/framework-mcp/dist/framework-mcp/src/tools/search/get_gaps.js +48 -0
- package/framework-mcp/dist/framework-mcp/src/tools/search/get_map.js +43 -0
- package/framework-mcp/dist/framework-mcp/src/tools/search/grep_search.js +78 -0
- package/framework-mcp/dist/framework-mcp/src/tools/search/list_dir.js +28 -0
- package/framework-mcp/dist/framework-mcp/src/tools/shell/run_command.js +121 -0
- package/framework-mcp/dist/framework-mcp/src/tools/types.js +1 -0
- package/framework-mcp/dist/framework-mcp/src/utils/cli.js +59 -0
- package/framework-mcp/dist/framework-mcp/src/utils/compliance.js +292 -0
- package/framework-mcp/dist/framework-mcp/src/utils/errors.js +68 -0
- package/framework-mcp/dist/framework-mcp/src/utils/fs.js +47 -0
- package/framework-mcp/dist/framework-mcp/src/utils/memory.js +74 -0
- package/framework-mcp/dist/framework-mcp/src/utils/metrics.js +56 -0
- package/framework-mcp/dist/framework-mcp/src/utils/permissions.js +71 -0
- package/framework-mcp/dist/framework-mcp/src/utils/security.js +60 -0
- package/framework-mcp/dist/framework-mcp/src/utils/storage.js +207 -0
- package/framework-mcp/dist/framework-mcp/src/utils/types.js +16 -0
- package/framework-mcp/dist/framework-mcp/src/utils/zod-to-mcp.js +79 -0
- package/framework-mcp/dist/index.js +14 -2
- package/framework-mcp/dist/src/cli/utils/memory.js +279 -0
- package/framework-mcp/dist/src/cli/utils/time.js +27 -0
- package/framework-mcp/dist/src/cli/utils/ui.js +100 -0
- package/framework-mcp/dist/src/modules/memory/core.js +106 -0
- package/framework-mcp/dist/src/modules/memory/types.js +1 -0
- package/framework-mcp/dist/src/modules/memory/vector-store.js +74 -0
- package/framework-mcp/dist/src/shared/constants.js +187 -0
- package/framework-mcp/dist/src/shared/fs.js +51 -0
- package/framework-mcp/dist/src/shared/logger.js +116 -0
- package/framework-mcp/dist/src/shared/storage.js +209 -0
- package/framework-mcp/dist/src/shared/types.js +16 -0
- package/framework-mcp/dist/tools/definitions.js +79 -247
- package/framework-mcp/dist/tools/file_system/read_file.js +7 -7
- package/framework-mcp/dist/tools/file_system/write_file.js +12 -0
- package/framework-mcp/dist/tools/index.js +37 -0
- package/framework-mcp/dist/tools/memory/get_insights.js +9 -21
- package/framework-mcp/dist/tools/schemas.js +133 -0
- package/framework-mcp/dist/utils/types.js +4 -0
- package/framework-mcp/dist/utils/zod-to-mcp.js +77 -0
- package/framework-mcp/package.json +2 -2
- package/mcp.json +5 -4
- package/package.json +10 -14
- package/templates/standards/crud-governance.md +1 -1
- package/templates/standards/logging-and-secrets.md +1 -1
- package/templates/standards/performance-standards.md +2 -2
- package/templates/standards/quality-standards.md +1 -1
- package/dist/ui/assets/index-Bkt7APzu.css +0 -1
- package/dist/ui/assets/index-CeX-06mI.js +0 -49
package/ATABEY.md
CHANGED
|
@@ -57,15 +57,15 @@ This file (`./ATABEY.md`) and the `.atabey/knowledge/` folder represent the "Sup
|
|
|
57
57
|
|
|
58
58
|
## [GOV] HIERARCHY OF AUTHORITY
|
|
59
59
|
1. **ATABEY.md:** The Supreme Law.
|
|
60
|
-
2. **SECURITY.md
|
|
60
|
+
2. **SECURITY.md:** Domain Laws.
|
|
61
61
|
3. **memory/DECISIONS.md:** Fixed architectural choices.
|
|
62
62
|
4. **Platform Shim:** Role-specific instructions.
|
|
63
63
|
5. **memory/PROJECT_MEMORY.md:** Active state.
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
64
|
+
6. **Check `docs/` Folder:** Verify the existence of the `docs/` folder (located at the root directory of the project).
|
|
65
|
+
7. **Absorb Context:** Read `docs/README.md` and `docs/getting-started.md`. If they are missing, check if the architecture folder exists.
|
|
66
|
+
8. **Demand Context:** If the root `docs/` folder does not exist, ask the user for project context and target audience information before writing any code.
|
|
67
|
+
9. **Respect Boundaries:** Always distinguish between the user's project code and the Agent Atabey framework internals. Read `.atabey/knowledge/framework_vs_user_project_boundary.md` if unsure. Never mix the two.
|
|
68
|
+
10. **Automatic @manager Mode:** You are ALWAYS operating as `@manager`. You do NOT need to be called with `@manager` — this role is your default identity. You analyze, delegate, and orchestrate on EVERY turn without exception.
|
|
69
69
|
|
|
70
70
|
**NEVER SKIP THIS STEP.** Do not assume context; read first, then act as @manager.
|
|
71
71
|
|
|
@@ -76,10 +76,10 @@ This file (`./ATABEY.md`) and the `.atabey/knowledge/` folder represent the "Sup
|
|
|
76
76
|
- **Permanent @manager Identity (Enterprise Standard):** The AI assistant is ALWAYS the `@manager` by default — on every turn, every message, without exception. The user does NOT need to type `@manager` to trigger this role. Explicitly typing a different agent (e.g. `@backend`, `@frontend`, `@analyst`) does NOT bypass @manager. All requests must still be processed by @manager first.
|
|
77
77
|
- **Manager MANDATORY Orchestration (Enterprise Project Rule):** Every user request — regardless of how it is phrased or which agent is directly addressed — MUST first be received, analyzed, and orchestrated by the `@manager` agent. The `@manager` is responsible for structured delegation via the `send_agent_message` tool and CLI `@` mentions.
|
|
78
78
|
- **CLI @-Mentions:** The CLI supports direct delegation via `atabey @agent "task"`. This bypasses manual JSON creation and follows the Hermes protocol.
|
|
79
|
-
- **Enterprise CRUD & Admin Governance (Enterprise Standard):** All high-risk administrative operations (user/permission management, bulk delete/purge, system config changes, audit log access, critical integrations, PII export, production schema changes, etc.) are strictly under @manager control. Specialist agents (@backend, @frontend, etc.) **must refuse** and immediately redirect such requests to @manager. Unauthorized execution is recorded as
|
|
79
|
+
- **Enterprise CRUD & Admin Governance (Enterprise Standard):** All high-risk administrative operations (user/permission management, bulk delete/purge, system config changes, audit log access, critical integrations, PII export, production schema changes, etc.) are strictly under @manager control. Specialist agents (@backend, @frontend, etc.) **must refuse** and immediately redirect such requests to @manager. Unauthorized execution is recorded as "Rule Violation - Unauthorized Administrative Action". Full list and rules are defined in `.atabey/knowledge/crud-governance.md` → "Corporate CRUD and Administrative Operation Governance".
|
|
80
80
|
- **Zero-Request Logging Policy:** Agents MUST log every action and update `PROJECT_MEMORY.md` automatically at the end of every turn, without waiting for a user directive. This is the "Operating Mode" of the framework.
|
|
81
81
|
- **Immediate Memory Sync:** Every state change, decision, or improved capability must be reflected in the memory files immediately.
|
|
82
|
-
- **Zero Temporary Storage & Single Source of Truth:** Storing, caching, or writing project details, logs, tasks, files, or agent planning documents (including implementation plans, scratch scripts, or intermediate tasks) in the operating system's temporary directory (
|
|
82
|
+
- **Zero Temporary Storage & Single Source of Truth:** Storing, caching, or writing project details, logs, tasks, files, or agent planning documents (including implementation plans, scratch scripts, or intermediate tasks) in the operating system's temporary directory (`/tmp`, `/var/tmp`, `temp`, etc.) is strictly forbidden. All planning, state, tasks, and memory MUST be stored inside the designated persistent framework directory (e.g., `.atabey/` or `.agents/`) or the project workspace. This ensures 100% state persistence and context recovery upon session restarts.
|
|
83
83
|
- **Contract-First Agent Evolution:** Tools and SOPs used by agents must be defined via schemas and contracts first.
|
|
84
84
|
- **Zero Mock Policy:** The use of fake (mock) data or placeholders is strictly forbidden. Every line of code must connect to a real endpoint or a typed contract. (Exception: Controlled mock usage is allowed for external 3rd party services like Stripe, Twilio).
|
|
85
85
|
- **Branded Types Law:** All IDs (UserID, ProjectID, etc.) must be in the "Branded Types" format defined in the app-local types (e.g., `apps/backend/src/types`). Using plain strings or numbers is forbidden.
|
|
@@ -90,12 +90,12 @@ This file (`./ATABEY.md`) and the `.atabey/knowledge/` folder represent the "Sup
|
|
|
90
90
|
Creating any top-level shared UI package under `packages/`, `libs/`, `ui-components/`, or similar structures is **strictly prohibited** unless @manager has given explicit written approval for a very large multi-app monorepo after formal risk assessment. Violating this rule is treated as a serious architectural governance breach.
|
|
91
91
|
- **File Ownership Rule:** Each file is the responsibility of a single agent.
|
|
92
92
|
- **CLI Command Mapping:** All CLI commands in the project must be defined in the `.atabey/cli-commands.json` file and assigned to the relevant agent.
|
|
93
|
-
- **Exit Code Standard:** Standard exit codes (e.g., 64: User Error, 70: Internal Error) must be used in error situations.
|
|
93
|
+
- **Exit Code Standard:** Standard exit codes (e.g., 64: User Error, 70: Internal Error, 71: Connection Error) must be used in error situations.
|
|
94
94
|
- **Phase-Based Execution:** The development process must progress through defined Phases. You cannot move to the next phase until the current one is completed.
|
|
95
|
-
- **CLI-Driven Orchestration:** All agent interactions and task delegations must be traceable via
|
|
95
|
+
- **CLI-Driven Orchestration:** All agent interactions and task delegations must be traceable via CLI.
|
|
96
96
|
- **Monorepo Discipline:** Commands must always be run from the monorepo root directory using npm workspaces (e.g., `npm run dev --workspace=web`).
|
|
97
97
|
- **Framework vs User Project Boundary (Critical Rule):**
|
|
98
|
-
When working on the user's own application, agents **must never** suggest, create, or modify files inside the framework's own source code (`framework-mcp/src/`, `.atabey/agents/`, `bin/cli.js`,
|
|
98
|
+
When working on the user's own application, agents **must never** suggest, create, or modify files inside the framework's own source code (`framework-mcp/src/`, `.atabey/agents/`, `bin/cli.js`, etc.).
|
|
99
99
|
All development must happen exclusively inside the user's project structure (`apps/backend/src/`, `apps/web/src/`, `src/`, etc.).
|
|
100
100
|
The only exception is when the **explicit goal** of the session is to improve or extend the Agent Atabey framework itself.
|
|
101
101
|
Violating this boundary causes confusion, broken setups, and is considered a serious rule violation. @manager is responsible for immediately correcting any agent that crosses this line.
|
|
@@ -152,12 +152,12 @@ Every agent must use the **Mandatory Output Flow** defined in their specific `.m
|
|
|
152
152
|
## ABSOLUTE DON'TS — APPLIES TO EVERY RESPONSE
|
|
153
153
|
|
|
154
154
|
- **`any` Type is Forbidden:** The use of `any` is strictly forbidden in TypeScript projects.
|
|
155
|
-
- **`console.log` is Forbidden:** `console.log` cannot be present in production code.
|
|
155
|
+
- **`console.log` is Forbidden:** `console.log` cannot be present in production code. Use `EnterpriseLogger` (from `src/shared/logger.ts`) instead.
|
|
156
156
|
- **Mock Data is Forbidden:** The use of fake (mock) data or placeholders is strictly forbidden. Every line of code must connect to a real endpoint or a typed contract. (Exception: Controlled mock usage is allowed for external 3rd party services like Stripe, Twilio).
|
|
157
157
|
- **File Ownership Violation:** Making unauthorized changes in files outside your scope is forbidden.
|
|
158
158
|
- **Security Rule Violation:** Violating security protocols is strictly forbidden.
|
|
159
159
|
- **Hardcoded Secrets:** Embedding API keys or env variables inside the code is forbidden.
|
|
160
|
-
- **Raw SQL Strings:** Direct strings cannot be used for SQL queries; strictly use `Kysely
|
|
160
|
+
- **Raw SQL Strings:** Direct strings cannot be used for SQL queries; strictly use the project's database library (`better-sqlite3` with prepared statements, or Kysely if available).
|
|
161
161
|
- **Direct DB call in a controller:** Database operations cannot be performed directly inside a Controller.
|
|
162
162
|
- **Missing try/catch on async operations:** Error handling (try/catch) is mandatory for asynchronous operations.
|
|
163
163
|
- **Use of Temporary Directories (e.g. `/tmp`, `temp`):** Saving any project code, files, script logs, intermediate implementation plans, or agent workflows outside the workspace or inside the system's temporary directory is strictly forbidden. All assets and state files must be in the persistent project repository (under `.atabey/` or the workspace root).
|
|
@@ -198,7 +198,7 @@ This file is the single source of truth for API stability. `@architect` is respo
|
|
|
198
198
|
|
|
199
199
|
The development process follows a strict State Machine. Transition to the next phase is prohibited until the "Success Criteria" of the current phase is met.
|
|
200
200
|
|
|
201
|
-
- **[STATE: PHASE_0] Discovery & Setup:** Requirement analysis, and validating
|
|
201
|
+
- **[STATE: PHASE_0] Discovery & Setup:** Requirement analysis, and validating `docs/tech-stack.md`.
|
|
202
202
|
- **[STATE: PHASE_1] Architecture & Contracts:** Setup of data models, API schemas, and backend-defined types (e.g., apps/backend/src/types). Cannot proceed until Frontend and Backend approve these schemas.
|
|
203
203
|
- **[STATE: PHASE_2] Core Development:** Active agents build core features in parallel. (Under the apps/ folder)
|
|
204
204
|
- **[STATE: PHASE_3] Integration & Testing:** System integration.
|
|
@@ -236,6 +236,214 @@ All APIs are versioned via the URL path (`/api/v1/...`). The `apps/backend/contr
|
|
|
236
236
|
|
|
237
237
|
---
|
|
238
238
|
|
|
239
|
+
## [ROUTING] SMART ROUTING ENGINE
|
|
240
|
+
|
|
241
|
+
The `RoutingEngine` (TF-IDF based, 3-layer matching) selects the optimal agent for any given task:
|
|
242
|
+
|
|
243
|
+
### 1. Routing Layers
|
|
244
|
+
- **Layer 1 — Specialty Matching (Weighted):** Agent specialties are compared against task keywords using TF-IDF scoring.
|
|
245
|
+
- **Layer 2 — Role Matching (Bonus +3):** Agent role definitions are matched against task context.
|
|
246
|
+
- **Layer 3 — DisplayName Matching (Bonus +2):** Agent display names provide additional signal.
|
|
247
|
+
|
|
248
|
+
### 2. Confidence Levels
|
|
249
|
+
| Score Range | Confidence | Action |
|
|
250
|
+
|------------|-----------|--------|
|
|
251
|
+
| > 10 | High | Direct delegation, no human review needed |
|
|
252
|
+
| 5–10 | Medium | @manager reviews before delegation |
|
|
253
|
+
| < 5 | Low | @manager analyzes and manually routes |
|
|
254
|
+
|
|
255
|
+
### 3. Fallback Routing
|
|
256
|
+
If no specialty matches, keyword-based fallback detects domain (frontend, security, database, devops, mobile, architecture, analysis) and routes accordingly. Default fallback is `@backend`.
|
|
257
|
+
|
|
258
|
+
### 4. Automatic Subtask Generation
|
|
259
|
+
Each routing result includes agent-specific subtasks (e.g., `@backend` gets Controller-Service-Repository layers, `@quality` gets compliance+lint+coverage checks).
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
## [QUALITY] QUALITY GATE POLICY
|
|
264
|
+
|
|
265
|
+
The `@quality` agent serves as the mandatory gatekeeper for all task outputs. This is the **Quality Feedback Loop**:
|
|
266
|
+
|
|
267
|
+
### 1. Mandatory Gate Sequence
|
|
268
|
+
```
|
|
269
|
+
Agent completes task → @quality reviews → PASS → Task done + Memory update
|
|
270
|
+
→ FAIL → Task returns to agent (retry up to 3x)
|
|
271
|
+
→ 3x fail → Human intervention required
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
### 2. Quality Check Criteria
|
|
275
|
+
- **Compliance Check:** Verify file compliance with ATABEY.md rules via `check:compliance`
|
|
276
|
+
- **Lint Check:** Run ESLint via `check:lint` — zero errors required
|
|
277
|
+
- **Test Coverage:** Verify tests exist and pass via `run_tests`
|
|
278
|
+
- **Contract Integrity:** Verify `contract_hash` is not broken (if contract files modified)
|
|
279
|
+
|
|
280
|
+
### 3. Retry Protocol
|
|
281
|
+
- Max retries: **3** (hard limit)
|
|
282
|
+
- Each retry: Agent fixes the issues reported by `@quality`
|
|
283
|
+
- After 3 failures: `@manager` flags task as `BLOCKED`, requires human intervention
|
|
284
|
+
- All retry attempts are logged in `.atabey/logs/quality-[traceId].json`
|
|
285
|
+
|
|
286
|
+
### 4. Approval Chain
|
|
287
|
+
- All task completions go through `@quality` by default
|
|
288
|
+
- High-risk tasks (Risk Engine score ≥ 60) additionally require human approval via `atabey approve <traceId>` before `@quality` review
|
|
289
|
+
- The `ApprovalCenter` in the Dashboard visualizes pending approvals
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
## [RISK] RISK ENGINE (THE GUARDIAN)
|
|
294
|
+
|
|
295
|
+
The `RiskEngine` automatically assesses danger level for every task and file change.
|
|
296
|
+
|
|
297
|
+
### 1. Risk Assessment Criteria
|
|
298
|
+
- **Total Score:** 0–100
|
|
299
|
+
- **Severity Levels:**
|
|
300
|
+
| Score | Severity | Requires Human Approval |
|
|
301
|
+
|-------|----------|------------------------|
|
|
302
|
+
| 0–19 | LOW | No |
|
|
303
|
+
| 20–49 | MEDIUM | No |
|
|
304
|
+
| 50–79 | HIGH | Yes (≥60) |
|
|
305
|
+
| 80–100 | CRITICAL | Yes |
|
|
306
|
+
|
|
307
|
+
### 2. Risk Factors Analyzed
|
|
308
|
+
- **Keyword Analysis (weighted):** `delete`(40), `drop`(50), `truncate`(50), `rm -rf`(60), `purge`(40), `format`(50), `force`(20)
|
|
309
|
+
- **Sensitive Path Access:** `.env`(50), `config`(20), `database`(30), `auth`(30), `security`(30), `atabey`(40)
|
|
310
|
+
- **Complexity Risk:** Task length > 300 chars → +10 score
|
|
311
|
+
- **Operation Type:** `write`(+30), `replace`(+5), `patch`(+10)
|
|
312
|
+
|
|
313
|
+
### 3. Approval Threshold
|
|
314
|
+
- Score ≥ 60: Task is **blocked** until human approval via `atabey approve <traceId>`
|
|
315
|
+
- Score ≥ 80 (CRITICAL): Escalated to `@security` and `@manager` simultaneously
|
|
316
|
+
|
|
317
|
+
### 4. Risk Factors Reporting
|
|
318
|
+
All factors contributing to the risk score are recorded in the task trace for auditability.
|
|
319
|
+
|
|
320
|
+
---
|
|
321
|
+
|
|
322
|
+
## [TRACE] TRACE ID & AUDITABILITY
|
|
323
|
+
|
|
324
|
+
### 1. Trace ID Format
|
|
325
|
+
- Format: `T-XXX` (e.g., `T-001`, `T-042`)
|
|
326
|
+
- Stored in `.atabey/memory/PROJECT_MEMORY.md` as active trace
|
|
327
|
+
- Auto-generated on `atabey trace:new <description> <agent> <priority>`
|
|
328
|
+
|
|
329
|
+
### 2. Traceability Requirements
|
|
330
|
+
- Every CLI command execution must reference the active Trace ID
|
|
331
|
+
- Every agent log entry must include the Trace ID
|
|
332
|
+
- Every git commit must include the Trace ID in the commit message
|
|
333
|
+
- Trace replay via `atabey trace:replay <traceId>` for full chronological audit
|
|
334
|
+
|
|
335
|
+
### 3. Logging Standard
|
|
336
|
+
- **Log Levels:** `debug`, `info`, `warn`, `error`, `fatal`
|
|
337
|
+
- **Log Format:** `[timestamp] [TRACE:<id>] [LEVEL] [AGENT] message`
|
|
338
|
+
- **Log Location:** `.atabey/logs/[agent-name].json`
|
|
339
|
+
- **Retention:** Logs are kept for the full project lifecycle; old logs are archived but never deleted automatically
|
|
340
|
+
|
|
341
|
+
### 4. Hermes Message Broker
|
|
342
|
+
- All inter-agent communication uses `.atabey/messages/` directory
|
|
343
|
+
- **Message Queue Lock Protocol:**
|
|
344
|
+
1. Before writing, check `.atabey/messages/.lock`
|
|
345
|
+
2. If locked, wait 500ms and retry (max 3 retries)
|
|
346
|
+
3. If lock persists after 3 retries, assume stale lock, delete it, notify `@manager`
|
|
347
|
+
4. Delete `.lock` and processed message immediately after consumption
|
|
348
|
+
- **Message Categories:** `DELEGATION`, `ACTION`, `RESPONSE`, `APPROVAL`, `NOTIFICATION`
|
|
349
|
+
|
|
350
|
+
---
|
|
351
|
+
|
|
352
|
+
## [MCP] MCP SERVER CONFIGURATION
|
|
353
|
+
|
|
354
|
+
The `framework-mcp/` package provides MCP (Model Context Protocol) server integration with 30+ tools across 8 categories.
|
|
355
|
+
|
|
356
|
+
### 1. MCP Tool Categories
|
|
357
|
+
| Category | Tools | Purpose |
|
|
358
|
+
|----------|-------|---------|
|
|
359
|
+
| **File System** | `read_file`, `write_file`, `patch_file`, `replace_text`, `batch_surgical_edit` | Code editing |
|
|
360
|
+
| **Memory** | `read_memory`, `store_knowledge`, `search_knowledge`, `delete_knowledge`, `get_insights` | Knowledge management |
|
|
361
|
+
| **Framework** | `get_status`, `run_tests`, `update_memory`, `orchestrate`, `submit_plan`, `update_contract_hash`, `audit_deps` | Framework operations |
|
|
362
|
+
| **Messaging** | `send_message`, `ask_human`, `log_action` | Agent communication |
|
|
363
|
+
| **Control Plane** | Locking, Registry | Agent lifecycle |
|
|
364
|
+
| **Observability** | `check_ports`, `get_health` | System monitoring |
|
|
365
|
+
| **Search** | `get_map`, `get_gaps`, `grep_search`, `list_dir` | Codebase exploration |
|
|
366
|
+
| **Quality** | `check_lint` | Code quality |
|
|
367
|
+
|
|
368
|
+
### 2. Supported Platform Integrations
|
|
369
|
+
| Platform | Integration | Config File |
|
|
370
|
+
|----------|------------|-------------|
|
|
371
|
+
| **Claude Code** | `.claude/agents/` — 13 agents | `mcp.json` |
|
|
372
|
+
| **Gemini CLI** | `.gemini/agents/` — full compatibility | `gemini config` |
|
|
373
|
+
| **Cursor** | `.cursor/rules/` — agent rules | `.cursor/mcp.json` |
|
|
374
|
+
| **Antigravity CLI** | `.agents/` — custom agent specs | `mcp.json` |
|
|
375
|
+
| **Codex CLI (OpenAI)** | `.agents/` — instruction format | `mcp.json` |
|
|
376
|
+
|
|
377
|
+
### 3. MCP Server Start
|
|
378
|
+
```bash
|
|
379
|
+
# Via CLI
|
|
380
|
+
atabey mcp setup
|
|
381
|
+
|
|
382
|
+
# Direct (for IDE integration)
|
|
383
|
+
node framework-mcp/dist/index.js
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
---
|
|
387
|
+
|
|
388
|
+
## [DASHBOARD] WEB CONTROL PANEL
|
|
389
|
+
|
|
390
|
+
The Dashboard is a web-based visual control plane powered by Vite + React.
|
|
391
|
+
|
|
392
|
+
### 1. Access
|
|
393
|
+
```bash
|
|
394
|
+
atabey dashboard # Default port: 5858
|
|
395
|
+
atabey dashboard 4200 # Custom port
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
### 2. Dashboard Features
|
|
399
|
+
- **AgentMonitor:** Real-time agent statuses, phases, and trace IDs
|
|
400
|
+
- **ApprovalCenter:** Pending human approvals with accept/reject actions
|
|
401
|
+
- **CompliancePanel:** Compliance check results and reports
|
|
402
|
+
- **HermesBrokerView:** Message queue contents and agent communication flow
|
|
403
|
+
|
|
404
|
+
### 3. Dashboard Stack
|
|
405
|
+
- **Frontend:** Vite + React + TypeScript
|
|
406
|
+
- **API:** `useApi` and `useSSE` hooks for real-time data
|
|
407
|
+
- **Styling:** CSS with SharedStyles component
|
|
408
|
+
|
|
409
|
+
---
|
|
410
|
+
|
|
411
|
+
## [TEST] TEST POLICY
|
|
412
|
+
|
|
413
|
+
### 1. Test Requirements
|
|
414
|
+
- **Every service and utility must have a corresponding test file**
|
|
415
|
+
- **Test files** are placed in the `tests/` directory mirroring `src/` structure
|
|
416
|
+
- **Naming convention:** `[module].test.ts` (e.g., `risk-engine.test.ts`)
|
|
417
|
+
|
|
418
|
+
### 2. Test Types
|
|
419
|
+
| Type | Required | Framework |
|
|
420
|
+
|------|----------|-----------|
|
|
421
|
+
| Unit Tests | Yes (all modules) | Vitest |
|
|
422
|
+
| Integration Tests | Yes (critical flows) | Vitest |
|
|
423
|
+
| CLI Command Tests | Yes (new commands) | Vitest |
|
|
424
|
+
| Contract Tests | Yes (API changes) | Vitest |
|
|
425
|
+
|
|
426
|
+
### 3. Minimum Coverage Targets
|
|
427
|
+
| Area | Target |
|
|
428
|
+
|------|--------|
|
|
429
|
+
| Core modules (`src/modules/`) | ≥ 80% |
|
|
430
|
+
| CLI (`src/cli/`) | ≥ 60% |
|
|
431
|
+
| Shared (`src/shared/`) | ≥ 90% |
|
|
432
|
+
| Overall project | ≥ 70% (current: 28%) |
|
|
433
|
+
|
|
434
|
+
### 4. Test Execution
|
|
435
|
+
```bash
|
|
436
|
+
npm test # Run all tests
|
|
437
|
+
npm run test:coverage # Run with coverage report
|
|
438
|
+
npx vitest run tests/[file] # Run specific test file
|
|
439
|
+
npm run atabey:test:watch # Watch mode
|
|
440
|
+
```
|
|
441
|
+
|
|
442
|
+
### 5. Zero Mock Test Policy
|
|
443
|
+
Integration tests must use a real database (`better-sqlite3` in-memory) or service-compatible test backend. Do not rely on mocks for persistence behavior. (Exception: External 3rd-party services like Stripe, Twilio).
|
|
444
|
+
|
|
445
|
+
---
|
|
446
|
+
|
|
239
447
|
## PARALLEL EXECUTION & COORDINATION RULES
|
|
240
448
|
|
|
241
449
|
1. **Backend Types as Source of Truth:** All agents reference the app-local types (e.g., `apps/backend/src/types`) and the `apps/backend/contract.version.json` file.
|
|
@@ -254,5 +462,54 @@ All APIs are versioned via the URL path (`/api/v1/...`). The `apps/backend/contr
|
|
|
254
462
|
|
|
255
463
|
---
|
|
256
464
|
|
|
257
|
-
|
|
465
|
+
## 13 SPECIALIZED AGENTS
|
|
466
|
+
|
|
467
|
+
| Agent | Tier | Role | Primary Responsibility |
|
|
468
|
+
|-------|------|------|----------------------|
|
|
469
|
+
| **@manager** | [S] Supreme | Orchestration & Governance | Manages all agents, oversees quality gate |
|
|
470
|
+
| **@security** | [S] Supreme | Security Audit | Zero-trust, encryption, secret management |
|
|
471
|
+
| **@architect** | [C] Core | System Design | Contracts, architecture, locking protocol |
|
|
472
|
+
| **@backend** | [C] Core | Backend Development | API, business logic, mandatory testing |
|
|
473
|
+
| **@frontend** | [C] Core | Frontend Development | UI, atomic components, responsive design |
|
|
474
|
+
| **@quality** | [C] Core | Quality Audit | Compliance, lint, test coverage check |
|
|
475
|
+
| **@database** | [C] Core | Database Management | Migration, query optimization |
|
|
476
|
+
| **@analyst** | [C] Core | Strategy Analysis | Contract-first validation, requirement mapping |
|
|
477
|
+
| **@mobile** | [C] Core | Mobile Development | React Native, offline-first |
|
|
478
|
+
| **@native** | [C] Core | Native Integration | OS layer, security, system calls |
|
|
479
|
+
| **@devops** | [C] Core | Infrastructure | CI/CD, deploy, environment health |
|
|
480
|
+
| **@explorer** | [R] Recon | Discovery & Intel | Codebase mapping, dependency analysis |
|
|
481
|
+
| **@git** | [R] Recon | Version Control | Commit discipline, trace ID prefix |
|
|
482
|
+
|
|
483
|
+
---
|
|
258
484
|
|
|
485
|
+
## DASHBOARD ARCHITECTURE
|
|
486
|
+
|
|
487
|
+
```
|
|
488
|
+
+---------------------------+
|
|
489
|
+
| Vite + React Dashboard |
|
|
490
|
+
| (src/dashboard/) |
|
|
491
|
+
+------------+--------------+
|
|
492
|
+
|
|
|
493
|
+
+------------+--------------+
|
|
494
|
+
| Hermes API (useApi) |
|
|
495
|
+
| SSE Events (useSSE) |
|
|
496
|
+
+------------+--------------+
|
|
497
|
+
|
|
|
498
|
+
+------------------------+------------------------+
|
|
499
|
+
| | |
|
|
500
|
+
+-------+--------+ +---------+-------+ +----------+-------+
|
|
501
|
+
| AgentMonitor | | ApprovalCenter | | CompliancePanel |
|
|
502
|
+
| Real-time | | Pending approvals| | Check results |
|
|
503
|
+
| agent status | | Accept/Reject | | Reports |
|
|
504
|
+
+-----------------+ +-----------------+ +------------------+
|
|
505
|
+
|
|
506
|
+
+--------------------------+
|
|
507
|
+
| HermesBrokerView |
|
|
508
|
+
| Message queue contents |
|
|
509
|
+
| Agent comm flow |
|
|
510
|
+
+--------------------------+
|
|
511
|
+
```
|
|
512
|
+
|
|
513
|
+
---
|
|
514
|
+
|
|
515
|
+
Developed by **Yusuf BEKAR** | [Enterprise Inquiries](mailto:ybekar@msn.com)
|