atabey 0.0.12 → 0.0.14
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 +45 -499
- package/PRIVACY.md +161 -0
- package/README.md +553 -88
- package/bin/validate-al-registry.js +4 -4
- package/dist/framework-mcp/src/index.js +914 -62
- package/dist/framework-mcp/src/index.js.map +1 -1
- package/dist/framework-mcp/src/tools/compliance/mask_pii.d.ts +17 -0
- package/dist/framework-mcp/src/tools/compliance/mask_pii.js +56 -0
- package/dist/framework-mcp/src/tools/compliance/mask_pii.js.map +1 -0
- package/dist/framework-mcp/src/tools/definitions.js +24 -1
- package/dist/framework-mcp/src/tools/definitions.js.map +1 -1
- package/dist/framework-mcp/src/tools/framework/run_tests.js +25 -0
- package/dist/framework-mcp/src/tools/framework/run_tests.js.map +1 -1
- package/dist/framework-mcp/src/tools/gateway/llm_gateway_query.d.ts +19 -0
- package/dist/framework-mcp/src/tools/gateway/llm_gateway_query.js +138 -0
- package/dist/framework-mcp/src/tools/gateway/llm_gateway_query.js.map +1 -0
- package/dist/framework-mcp/src/tools/gateway/llm_gateway_status.d.ts +8 -0
- package/dist/framework-mcp/src/tools/gateway/llm_gateway_status.js +91 -0
- package/dist/framework-mcp/src/tools/gateway/llm_gateway_status.js.map +1 -0
- package/dist/framework-mcp/src/tools/index.d.ts +1 -1
- package/dist/framework-mcp/src/tools/index.js +34 -20
- package/dist/framework-mcp/src/tools/index.js.map +1 -1
- package/dist/framework-mcp/src/tools/messaging/approve_operation.d.ts +22 -0
- package/dist/framework-mcp/src/tools/messaging/approve_operation.js +81 -0
- package/dist/framework-mcp/src/tools/messaging/approve_operation.js.map +1 -0
- package/dist/framework-mcp/src/tools/messaging/ask_human.d.ts +15 -0
- package/dist/framework-mcp/src/tools/messaging/ask_human.js +89 -20
- package/dist/framework-mcp/src/tools/messaging/ask_human.js.map +1 -1
- package/dist/framework-mcp/src/tools/observability/check_ports.js +3 -1
- package/dist/framework-mcp/src/tools/observability/check_ports.js.map +1 -1
- package/dist/framework-mcp/src/tools/quality/analyze_code_quality.d.ts +11 -0
- package/dist/framework-mcp/src/tools/quality/analyze_code_quality.js +115 -0
- package/dist/framework-mcp/src/tools/quality/analyze_code_quality.js.map +1 -0
- package/dist/framework-mcp/src/tools/quality/check_architecture_compliance.d.ts +11 -0
- package/dist/framework-mcp/src/tools/quality/check_architecture_compliance.js +135 -0
- package/dist/framework-mcp/src/tools/quality/check_architecture_compliance.js.map +1 -0
- package/dist/framework-mcp/src/tools/schemas.d.ts +90 -15
- package/dist/framework-mcp/src/tools/schemas.js +32 -7
- package/dist/framework-mcp/src/tools/schemas.js.map +1 -1
- package/dist/framework-mcp/src/tools/shell/run_command.js +12 -2
- package/dist/framework-mcp/src/tools/shell/run_command.js.map +1 -1
- package/dist/framework-mcp/src/tools/types.d.ts +11 -105
- package/dist/framework-mcp/src/tools/types.js +1 -0
- package/dist/framework-mcp/src/tools/types.js.map +1 -1
- package/dist/framework-mcp/src/utils/auth.d.ts +36 -0
- package/dist/framework-mcp/src/utils/auth.js +79 -0
- package/dist/framework-mcp/src/utils/auth.js.map +1 -0
- package/dist/framework-mcp/src/utils/auto-rollback.d.ts +71 -0
- package/dist/framework-mcp/src/utils/auto-rollback.js +266 -0
- package/dist/framework-mcp/src/utils/auto-rollback.js.map +1 -0
- package/dist/framework-mcp/src/utils/compliance.js +12 -4
- package/dist/framework-mcp/src/utils/compliance.js.map +1 -1
- package/dist/framework-mcp/src/utils/context-optimizer.d.ts +69 -0
- package/dist/framework-mcp/src/utils/context-optimizer.js +157 -0
- package/dist/framework-mcp/src/utils/context-optimizer.js.map +1 -0
- package/dist/framework-mcp/src/utils/discipline.d.ts +68 -0
- package/dist/framework-mcp/src/utils/discipline.js +218 -0
- package/dist/framework-mcp/src/utils/discipline.js.map +1 -0
- package/dist/framework-mcp/src/utils/finops.d.ts +143 -0
- package/dist/framework-mcp/src/utils/finops.js +326 -0
- package/dist/framework-mcp/src/utils/finops.js.map +1 -0
- package/dist/framework-mcp/src/utils/human-in-loop.d.ts +95 -0
- package/dist/framework-mcp/src/utils/human-in-loop.js +216 -0
- package/dist/framework-mcp/src/utils/human-in-loop.js.map +1 -0
- package/dist/framework-mcp/src/utils/license-scanner.d.ts +71 -0
- package/dist/framework-mcp/src/utils/license-scanner.js +284 -0
- package/dist/framework-mcp/src/utils/license-scanner.js.map +1 -0
- package/dist/framework-mcp/src/utils/loop-detector.d.ts +105 -0
- package/dist/framework-mcp/src/utils/loop-detector.js +362 -0
- package/dist/framework-mcp/src/utils/loop-detector.js.map +1 -0
- package/dist/framework-mcp/src/utils/quality.d.ts +19 -0
- package/dist/framework-mcp/src/utils/quality.js +124 -0
- package/dist/framework-mcp/src/utils/quality.js.map +1 -0
- package/dist/framework-mcp/src/utils/rules-engine.d.ts +78 -0
- package/dist/framework-mcp/src/utils/rules-engine.js +232 -0
- package/dist/framework-mcp/src/utils/rules-engine.js.map +1 -0
- package/dist/framework-mcp/src/utils/silent-router.d.ts +47 -0
- package/dist/framework-mcp/src/utils/silent-router.js +129 -0
- package/dist/framework-mcp/src/utils/silent-router.js.map +1 -0
- package/dist/framework-mcp/src/utils/storage.d.ts +1 -0
- package/dist/framework-mcp/src/utils/storage.js +2 -2
- package/dist/framework-mcp/src/utils/storage.js.map +1 -1
- package/dist/framework-mcp/src/utils/telemetry-streamer.d.ts +133 -0
- package/dist/framework-mcp/src/utils/telemetry-streamer.js +397 -0
- package/dist/framework-mcp/src/utils/telemetry-streamer.js.map +1 -0
- package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js +2 -2
- package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js.map +1 -1
- package/dist/framework-mcp/tests/tools/framework/run_tests.test.d.ts +1 -0
- package/dist/framework-mcp/tests/tools/framework/run_tests.test.js +49 -0
- package/dist/framework-mcp/tests/tools/framework/run_tests.test.js.map +1 -0
- package/dist/framework-mcp/tests/tools/messaging/send_message.test.js +14 -5
- package/dist/framework-mcp/tests/tools/messaging/send_message.test.js.map +1 -1
- package/dist/framework-mcp/tests/tools/observability/check_ports.test.d.ts +1 -0
- package/dist/framework-mcp/tests/tools/observability/check_ports.test.js +30 -0
- package/dist/framework-mcp/tests/tools/observability/check_ports.test.js.map +1 -0
- package/dist/framework-mcp/tests/tools/shell/run_command.test.js +7 -0
- package/dist/framework-mcp/tests/tools/shell/run_command.test.js.map +1 -1
- package/dist/framework-mcp/tests/utils/auto-rollback.test.d.ts +7 -0
- package/dist/framework-mcp/tests/utils/auto-rollback.test.js +178 -0
- package/dist/framework-mcp/tests/utils/auto-rollback.test.js.map +1 -0
- package/dist/framework-mcp/tests/utils/context-optimizer.test.d.ts +1 -0
- package/dist/framework-mcp/tests/utils/context-optimizer.test.js +62 -0
- package/dist/framework-mcp/tests/utils/context-optimizer.test.js.map +1 -0
- package/dist/framework-mcp/tests/utils/finops.test.d.ts +7 -0
- package/dist/framework-mcp/tests/utils/finops.test.js +157 -0
- package/dist/framework-mcp/tests/utils/finops.test.js.map +1 -0
- package/dist/framework-mcp/tests/utils/human-in-loop.test.d.ts +1 -0
- package/dist/framework-mcp/tests/utils/human-in-loop.test.js +59 -0
- package/dist/framework-mcp/tests/utils/human-in-loop.test.js.map +1 -0
- package/dist/framework-mcp/tests/utils/license-scanner.test.d.ts +7 -0
- package/dist/framework-mcp/tests/utils/license-scanner.test.js +131 -0
- package/dist/framework-mcp/tests/utils/license-scanner.test.js.map +1 -0
- package/dist/framework-mcp/tests/utils/loop-detector.test.d.ts +7 -0
- package/dist/framework-mcp/tests/utils/loop-detector.test.js +204 -0
- package/dist/framework-mcp/tests/utils/loop-detector.test.js.map +1 -0
- package/dist/framework-mcp/tests/utils/rules-engine.test.d.ts +1 -0
- package/dist/framework-mcp/tests/utils/rules-engine.test.js +106 -0
- package/dist/framework-mcp/tests/utils/rules-engine.test.js.map +1 -0
- package/dist/framework-mcp/tests/utils/telemetry-streamer.test.d.ts +7 -0
- package/dist/framework-mcp/tests/utils/telemetry-streamer.test.js +201 -0
- package/dist/framework-mcp/tests/utils/telemetry-streamer.test.js.map +1 -0
- package/dist/src/cli/commands/check.js +18 -3
- package/dist/src/cli/commands/check.js.map +1 -1
- package/dist/src/cli/commands/dashboard.d.ts +1 -1
- package/dist/src/cli/commands/dashboard.js +343 -96
- package/dist/src/cli/commands/dashboard.js.map +1 -1
- package/dist/src/cli/commands/gateway.d.ts +1 -0
- package/dist/src/cli/commands/gateway.js +172 -0
- package/dist/src/cli/commands/gateway.js.map +1 -0
- package/dist/src/cli/commands/init/create-agent.js +3 -3
- package/dist/src/cli/commands/init/create-agent.js.map +1 -1
- package/dist/src/cli/commands/init/scaffold-core.d.ts +3 -1
- package/dist/src/cli/commands/init/scaffold-core.js +17 -2
- package/dist/src/cli/commands/init/scaffold-core.js.map +1 -1
- package/dist/src/cli/commands/init/scaffold-ops.js +2 -2
- package/dist/src/cli/commands/init/scaffold-ops.js.map +1 -1
- package/dist/src/cli/commands/init/scaffold-standards.js +13 -1
- package/dist/src/cli/commands/init/scaffold-standards.js.map +1 -1
- package/dist/src/cli/commands/init.d.ts +6 -0
- package/dist/src/cli/commands/init.js +163 -25
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/mcp.d.ts +7 -0
- package/dist/src/cli/commands/mcp.js +45 -22
- package/dist/src/cli/commands/mcp.js.map +1 -1
- package/dist/src/cli/commands/orchestrate.d.ts +8 -7
- package/dist/src/cli/commands/orchestrate.js +2 -1
- package/dist/src/cli/commands/orchestrate.js.map +1 -1
- package/dist/src/cli/commands/quickstart.d.ts +5 -5
- package/dist/src/cli/commands/quickstart.js +30 -42
- package/dist/src/cli/commands/quickstart.js.map +1 -1
- package/dist/src/cli/index.js +228 -317
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/cli/platforms/core.d.ts +12 -0
- package/dist/src/cli/platforms/core.js +73 -0
- package/dist/src/cli/platforms/core.js.map +1 -0
- package/dist/src/cli/platforms/index.d.ts +5 -0
- package/dist/src/cli/platforms/index.js +6 -0
- package/dist/src/cli/platforms/index.js.map +1 -0
- package/dist/src/cli/platforms/paths.d.ts +15 -0
- package/dist/src/cli/platforms/paths.js +102 -0
- package/dist/src/cli/platforms/paths.js.map +1 -0
- package/dist/src/cli/platforms/scaffold.d.ts +2 -0
- package/dist/src/cli/platforms/scaffold.js +73 -0
- package/dist/src/cli/platforms/scaffold.js.map +1 -0
- package/dist/src/cli/platforms/utils.d.ts +4 -0
- package/dist/src/cli/platforms/utils.js +76 -0
- package/dist/src/cli/platforms/utils.js.map +1 -0
- package/dist/src/cli/shims.js +11 -11
- package/dist/src/cli/utils/fs.d.ts +1 -1
- package/dist/src/cli/utils/fs.js +1 -1
- package/dist/src/cli/utils/fs.js.map +1 -1
- package/dist/src/cli/utils/pkg.js +2 -3
- package/dist/src/cli/utils/pkg.js.map +1 -1
- package/dist/src/cli/utils/quality.d.ts +10 -0
- package/dist/src/cli/utils/quality.js +10 -0
- package/dist/src/cli/utils/quality.js.map +1 -0
- package/dist/src/modules/agents/definitions.d.ts +2 -2
- package/dist/src/modules/agents/definitions.js +104 -63
- package/dist/src/modules/agents/definitions.js.map +1 -1
- package/dist/src/modules/agents/registry/manager.js +6 -1
- package/dist/src/modules/agents/registry/manager.js.map +1 -1
- package/dist/src/modules/contracts/api.d.ts +178 -0
- package/dist/src/modules/contracts/api.js +56 -0
- package/dist/src/modules/contracts/api.js.map +1 -0
- package/dist/src/modules/contracts/index.d.ts +5 -0
- package/dist/src/modules/contracts/index.js +6 -0
- package/dist/src/modules/contracts/index.js.map +1 -0
- package/dist/src/modules/engines/agent-executor.d.ts +25 -30
- package/dist/src/modules/engines/agent-executor.js +133 -73
- package/dist/src/modules/engines/agent-executor.js.map +1 -1
- package/dist/src/modules/engines/agent-loop.d.ts +34 -0
- package/dist/src/modules/engines/agent-loop.js +102 -0
- package/dist/src/modules/engines/agent-loop.js.map +1 -0
- package/dist/src/modules/engines/evaluation-engine.js +2 -2
- package/dist/src/modules/engines/evaluation-engine.js.map +1 -1
- package/dist/src/modules/engines/quality-gate.d.ts +16 -8
- package/dist/src/modules/engines/quality-gate.js +42 -34
- package/dist/src/modules/engines/quality-gate.js.map +1 -1
- package/dist/src/modules/engines/routing-engine.d.ts +21 -28
- package/dist/src/modules/engines/routing-engine.js +83 -50
- package/dist/src/modules/engines/routing-engine.js.map +1 -1
- package/dist/src/modules/gateway/circuit-breaker.d.ts +40 -0
- package/dist/src/modules/gateway/circuit-breaker.js +163 -0
- package/dist/src/modules/gateway/circuit-breaker.js.map +1 -0
- package/dist/src/modules/gateway/cost-tracker.d.ts +60 -0
- package/dist/src/modules/gateway/cost-tracker.js +198 -0
- package/dist/src/modules/gateway/cost-tracker.js.map +1 -0
- package/dist/src/modules/gateway/gateway.d.ts +72 -0
- package/dist/src/modules/gateway/gateway.js +243 -0
- package/dist/src/modules/gateway/gateway.js.map +1 -0
- package/dist/src/modules/gateway/index.d.ts +19 -0
- package/dist/src/modules/gateway/index.js +19 -0
- package/dist/src/modules/gateway/index.js.map +1 -0
- package/dist/src/modules/gateway/load-balancer.d.ts +86 -0
- package/dist/src/modules/gateway/load-balancer.js +230 -0
- package/dist/src/modules/gateway/load-balancer.js.map +1 -0
- package/dist/src/modules/gateway/providers/anthropic.d.ts +14 -0
- package/dist/src/modules/gateway/providers/anthropic.js +169 -0
- package/dist/src/modules/gateway/providers/anthropic.js.map +1 -0
- package/dist/src/modules/gateway/providers/base.d.ts +38 -0
- package/dist/src/modules/gateway/providers/base.js +42 -0
- package/dist/src/modules/gateway/providers/base.js.map +1 -0
- package/dist/src/modules/gateway/providers/google.d.ts +18 -0
- package/dist/src/modules/gateway/providers/google.js +176 -0
- package/dist/src/modules/gateway/providers/google.js.map +1 -0
- package/dist/src/modules/gateway/providers/grok.d.ts +14 -0
- package/dist/src/modules/gateway/providers/grok.js +166 -0
- package/dist/src/modules/gateway/providers/grok.js.map +1 -0
- package/dist/src/modules/gateway/providers/index.d.ts +21 -0
- package/dist/src/modules/gateway/providers/index.js +38 -0
- package/dist/src/modules/gateway/providers/index.js.map +1 -0
- package/dist/src/modules/gateway/providers/ollama.d.ts +23 -0
- package/dist/src/modules/gateway/providers/ollama.js +187 -0
- package/dist/src/modules/gateway/providers/ollama.js.map +1 -0
- package/dist/src/modules/gateway/providers/openai.d.ts +14 -0
- package/dist/src/modules/gateway/providers/openai.js +170 -0
- package/dist/src/modules/gateway/providers/openai.js.map +1 -0
- package/dist/src/modules/gateway/rate-limiter.d.ts +41 -0
- package/dist/src/modules/gateway/rate-limiter.js +119 -0
- package/dist/src/modules/gateway/rate-limiter.js.map +1 -0
- package/dist/src/modules/gateway/types.d.ts +114 -0
- package/dist/src/modules/gateway/types.js +8 -0
- package/dist/src/modules/gateway/types.js.map +1 -0
- package/dist/src/modules/memory/core.d.ts +4 -12
- package/dist/src/modules/memory/core.js +10 -17
- package/dist/src/modules/memory/core.js.map +1 -1
- package/dist/src/modules/memory/embedding.d.ts +28 -0
- package/dist/src/modules/memory/embedding.js +131 -0
- package/dist/src/modules/memory/embedding.js.map +1 -0
- package/dist/src/modules/providers/definitions.d.ts +9 -0
- package/dist/src/modules/providers/definitions.js +141 -0
- package/dist/src/modules/providers/definitions.js.map +1 -0
- package/dist/src/modules/providers/registry.d.ts +12 -0
- package/dist/src/modules/providers/registry.js +19 -0
- package/dist/src/modules/providers/registry.js.map +1 -0
- package/dist/src/modules/providers/shared.d.ts +1 -0
- package/dist/src/modules/providers/shared.js +105 -0
- package/dist/src/modules/providers/shared.js.map +1 -0
- package/dist/src/modules/providers/types.d.ts +14 -0
- package/dist/src/modules/providers/types.js +2 -0
- package/dist/src/modules/providers/types.js.map +1 -0
- package/dist/src/modules/skills/adapter-skills.d.ts +68 -0
- package/dist/src/modules/skills/adapter-skills.js +450 -0
- package/dist/src/modules/skills/adapter-skills.js.map +1 -0
- package/dist/src/shared/audit.d.ts +105 -0
- package/dist/src/shared/audit.js +221 -0
- package/dist/src/shared/audit.js.map +1 -0
- package/dist/src/shared/fs.js +4 -2
- package/dist/src/shared/fs.js.map +1 -1
- package/dist/src/shared/lock.d.ts +82 -0
- package/dist/src/shared/lock.js +160 -0
- package/dist/src/shared/lock.js.map +1 -0
- package/dist/src/shared/logger.d.ts +2 -0
- package/dist/src/shared/logger.js +15 -5
- package/dist/src/shared/logger.js.map +1 -1
- package/dist/src/shared/pii.d.ts +69 -0
- package/dist/src/shared/pii.js +213 -0
- package/dist/src/shared/pii.js.map +1 -0
- package/dist/src/shared/retention.d.ts +63 -0
- package/dist/src/shared/retention.js +171 -0
- package/dist/src/shared/retention.js.map +1 -0
- package/dist/src/shared/storage.d.ts +22 -1
- package/dist/src/shared/storage.js +49 -7
- package/dist/src/shared/storage.js.map +1 -1
- package/dist/tests/adapter.test.js +1 -1
- package/dist/tests/adapter.test.js.map +1 -1
- package/dist/tests/adapters/paths.test.js +4 -4
- package/dist/tests/adapters/paths.test.js.map +1 -1
- package/dist/tests/cli/commands/dashboard-coverage.test.d.ts +1 -0
- package/dist/tests/cli/commands/dashboard-coverage.test.js +88 -0
- package/dist/tests/cli/commands/dashboard-coverage.test.js.map +1 -0
- package/dist/tests/cli/init/adapter_init.test.js +4 -5
- package/dist/tests/cli/init/adapter_init.test.js.map +1 -1
- package/dist/tests/cli/init/unified_init.test.js +5 -7
- package/dist/tests/cli/init/unified_init.test.js.map +1 -1
- package/dist/tests/embedding.test.d.ts +1 -0
- package/dist/tests/embedding.test.js +82 -0
- package/dist/tests/embedding.test.js.map +1 -0
- package/dist/tests/engines/evaluation-engine.test.d.ts +1 -0
- package/dist/tests/engines/evaluation-engine.test.js +71 -0
- package/dist/tests/engines/evaluation-engine.test.js.map +1 -0
- package/dist/tests/engines/planning-engine.test.d.ts +1 -0
- package/dist/tests/engines/planning-engine.test.js +100 -0
- package/dist/tests/engines/planning-engine.test.js.map +1 -0
- package/dist/tests/engines/quality-gate.test.d.ts +1 -0
- package/dist/tests/engines/quality-gate.test.js +59 -0
- package/dist/tests/engines/quality-gate.test.js.map +1 -0
- package/dist/tests/engines/risk-engine.test.d.ts +1 -0
- package/dist/tests/engines/risk-engine.test.js +80 -0
- package/dist/tests/engines/risk-engine.test.js.map +1 -0
- package/dist/tests/engines/routing-engine.test.d.ts +1 -0
- package/dist/tests/engines/routing-engine.test.js +78 -0
- package/dist/tests/engines/routing-engine.test.js.map +1 -0
- package/dist/tests/integration/agent_flow.test.js +14 -8
- package/dist/tests/integration/agent_flow.test.js.map +1 -1
- package/dist/tests/integration/hermes_locking.test.js +1 -0
- package/dist/tests/integration/hermes_locking.test.js.map +1 -1
- package/dist/tests/modules/adapters/adapters.test.js +2 -2
- package/dist/tests/modules/adapters/adapters.test.js.map +1 -1
- package/dist/tests/modules/contracts/contracts.test.d.ts +1 -0
- package/dist/tests/modules/contracts/contracts.test.js +73 -0
- package/dist/tests/modules/contracts/contracts.test.js.map +1 -0
- package/dist/tests/modules/engines/agent-executor.test.js +30 -23
- package/dist/tests/modules/engines/agent-executor.test.js.map +1 -1
- package/dist/tests/modules/gateway/circuit-breaker.test.d.ts +1 -0
- package/dist/tests/modules/gateway/circuit-breaker.test.js +124 -0
- package/dist/tests/modules/gateway/circuit-breaker.test.js.map +1 -0
- package/dist/tests/modules/gateway/cost-tracker.test.d.ts +1 -0
- package/dist/tests/modules/gateway/cost-tracker.test.js +93 -0
- package/dist/tests/modules/gateway/cost-tracker.test.js.map +1 -0
- package/dist/tests/modules/gateway/load-balancer.test.d.ts +1 -0
- package/dist/tests/modules/gateway/load-balancer.test.js +70 -0
- package/dist/tests/modules/gateway/load-balancer.test.js.map +1 -0
- package/dist/tests/modules/gateway/rate-limiter.test.d.ts +1 -0
- package/dist/tests/modules/gateway/rate-limiter.test.js +62 -0
- package/dist/tests/modules/gateway/rate-limiter.test.js.map +1 -0
- package/dist/tests/orchestrator-dependencies.test.js +23 -6
- package/dist/tests/orchestrator-dependencies.test.js.map +1 -1
- package/dist/tests/shared/audit.test.d.ts +1 -0
- package/dist/tests/shared/audit.test.js +53 -0
- package/dist/tests/shared/audit.test.js.map +1 -0
- package/dist/tests/shared/lock.test.d.ts +1 -0
- package/dist/tests/shared/lock.test.js +95 -0
- package/dist/tests/shared/lock.test.js.map +1 -0
- package/dist/tests/shared/pii.test.d.ts +1 -0
- package/dist/tests/shared/pii.test.js +183 -0
- package/dist/tests/shared/pii.test.js.map +1 -0
- package/dist/tests/storage-operations.test.d.ts +1 -0
- package/dist/tests/storage-operations.test.js +116 -0
- package/dist/tests/storage-operations.test.js.map +1 -0
- package/framework-mcp/README.md +596 -77
- package/framework-mcp/dist/dashboard/assets/index-B2mYld0c.js +1221 -0
- package/framework-mcp/dist/dashboard/index.html +15 -0
- package/framework-mcp/dist/framework-mcp/src/index.js +914 -62
- package/framework-mcp/dist/framework-mcp/src/tools/compliance/mask_pii.js +55 -0
- package/framework-mcp/dist/framework-mcp/src/tools/definitions.js +24 -1
- package/framework-mcp/dist/framework-mcp/src/tools/framework/run_tests.js +25 -0
- package/framework-mcp/dist/framework-mcp/src/tools/gateway/llm_gateway_query.js +137 -0
- package/framework-mcp/dist/framework-mcp/src/tools/gateway/llm_gateway_status.js +90 -0
- package/framework-mcp/dist/framework-mcp/src/tools/index.js +34 -20
- package/framework-mcp/dist/framework-mcp/src/tools/messaging/approve_operation.js +80 -0
- package/framework-mcp/dist/framework-mcp/src/tools/messaging/ask_human.js +89 -20
- package/framework-mcp/dist/framework-mcp/src/tools/observability/check_ports.js +3 -1
- package/framework-mcp/dist/framework-mcp/src/tools/quality/analyze_code_quality.js +114 -0
- package/framework-mcp/dist/framework-mcp/src/tools/quality/check_architecture_compliance.js +134 -0
- package/framework-mcp/dist/framework-mcp/src/tools/schemas.js +32 -7
- package/framework-mcp/dist/framework-mcp/src/tools/shell/run_command.js +12 -2
- package/framework-mcp/dist/framework-mcp/src/tools/types.js +1 -0
- package/framework-mcp/dist/framework-mcp/src/utils/auth.js +78 -0
- package/framework-mcp/dist/framework-mcp/src/utils/auto-rollback.js +265 -0
- package/framework-mcp/dist/framework-mcp/src/utils/compliance.js +12 -4
- package/framework-mcp/dist/framework-mcp/src/utils/context-optimizer.js +156 -0
- package/framework-mcp/dist/framework-mcp/src/utils/discipline.js +217 -0
- package/framework-mcp/dist/framework-mcp/src/utils/finops.js +325 -0
- package/framework-mcp/dist/framework-mcp/src/utils/human-in-loop.js +215 -0
- package/framework-mcp/dist/framework-mcp/src/utils/license-scanner.js +283 -0
- package/framework-mcp/dist/framework-mcp/src/utils/loop-detector.js +361 -0
- package/framework-mcp/dist/framework-mcp/src/utils/quality.js +123 -0
- package/framework-mcp/dist/framework-mcp/src/utils/rules-engine.js +231 -0
- package/framework-mcp/dist/framework-mcp/src/utils/silent-router.js +128 -0
- package/framework-mcp/dist/framework-mcp/src/utils/storage.js +2 -2
- package/framework-mcp/dist/framework-mcp/src/utils/telemetry-streamer.js +396 -0
- package/framework-mcp/dist/src/cli/platforms/core.js +72 -0
- package/framework-mcp/dist/src/cli/platforms/index.js +5 -0
- package/framework-mcp/dist/src/cli/platforms/paths.js +101 -0
- package/framework-mcp/dist/src/cli/platforms/scaffold.js +72 -0
- package/framework-mcp/dist/src/cli/platforms/utils.js +75 -0
- package/framework-mcp/dist/src/cli/utils/claude.js +57 -0
- package/framework-mcp/dist/src/cli/utils/compliance.js +12 -0
- package/framework-mcp/dist/src/cli/utils/fs.js +138 -0
- package/framework-mcp/dist/src/cli/utils/pkg.js +282 -0
- package/framework-mcp/dist/src/cli/utils/quality.js +9 -0
- package/framework-mcp/dist/src/modules/agents/definitions.js +563 -0
- package/framework-mcp/dist/src/modules/agents/registry/analyst.js +39 -0
- package/framework-mcp/dist/src/modules/agents/registry/architect.js +42 -0
- package/framework-mcp/dist/src/modules/agents/registry/backend.js +50 -0
- package/framework-mcp/dist/src/modules/agents/registry/database.js +45 -0
- package/framework-mcp/dist/src/modules/agents/registry/devops.js +45 -0
- package/framework-mcp/dist/src/modules/agents/registry/explorer.js +37 -0
- package/framework-mcp/dist/src/modules/agents/registry/frontend.js +52 -0
- package/framework-mcp/dist/src/modules/agents/registry/git.js +36 -0
- package/framework-mcp/dist/src/modules/agents/registry/manager.js +64 -0
- package/framework-mcp/dist/src/modules/agents/registry/mobile.js +41 -0
- package/framework-mcp/dist/src/modules/agents/registry/native.js +41 -0
- package/framework-mcp/dist/src/modules/agents/registry/quality.js +43 -0
- package/framework-mcp/dist/src/modules/agents/registry/security.js +42 -0
- package/framework-mcp/dist/src/modules/agents/types.js +1 -0
- package/framework-mcp/dist/src/modules/engines/quality-gate.js +92 -0
- package/framework-mcp/dist/src/modules/engines/risk-engine.js +105 -0
- package/framework-mcp/dist/src/modules/engines/routing-engine.js +408 -0
- package/framework-mcp/dist/src/modules/engines/types.js +1 -0
- package/framework-mcp/dist/src/modules/memory/core.js +10 -17
- package/framework-mcp/dist/src/modules/memory/embedding.js +130 -0
- package/framework-mcp/dist/src/modules/providers/definitions.js +140 -0
- package/framework-mcp/dist/src/modules/providers/registry.js +18 -0
- package/framework-mcp/dist/src/modules/providers/shared.js +104 -0
- package/framework-mcp/dist/src/modules/providers/types.js +1 -0
- package/framework-mcp/dist/src/modules/skills/adapter-skills.js +449 -0
- package/framework-mcp/dist/src/modules/skills/definitions.js +70 -0
- package/framework-mcp/dist/src/shared/audit.js +220 -0
- package/framework-mcp/dist/src/shared/errors.js +68 -0
- package/framework-mcp/dist/src/shared/fs.js +4 -2
- package/framework-mcp/dist/src/shared/lock.js +159 -0
- package/framework-mcp/dist/src/shared/logger.js +15 -5
- package/framework-mcp/dist/src/shared/pii.js +212 -0
- package/framework-mcp/dist/src/shared/retention.js +170 -0
- package/framework-mcp/dist/src/shared/storage.js +49 -7
- package/framework-mcp/dist/src/shared/string.js +29 -0
- package/framework-mcp/package.json +8 -2
- package/mcp.json +11 -6
- package/package.json +22 -9
- package/templates/full/ATABEY_FULL.md +515 -0
package/ATABEY.md
CHANGED
|
@@ -1,515 +1,61 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Place in project root. This file is the single source of truth for Base Project AI Extensions.
|
|
1
|
+
# Atabey Governance Layer — Supreme Law (Summary)
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
>
|
|
6
|
-
- [ ] **Surgical Precision:** No file editing is allowed except via `replace_text` or `patch_file`. Overwriting the entire file is forbidden.
|
|
7
|
-
- [ ] **Zero Type Hole:** Using the `any` type is a disciplinary offense at the level of 'treason'.
|
|
8
|
-
- [ ] **Zero Console:** Usage of `console.log` is forbidden; only `EnterpriseLogger` is used.
|
|
9
|
-
- [ ] **Phase Discipline:** Phases cannot be skipped. No transition to the next step until success criteria are met.
|
|
10
|
-
- [ ] **Contract First:** Code cannot be written if the contract signature (`contract_hash`) is broken.
|
|
3
|
+
> This file contains the core rules that AI agents must follow.
|
|
4
|
+
> **Full version:** `templates/full/ATABEY_FULL.md`
|
|
11
5
|
|
|
12
|
-
## [
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
6
|
+
## [RULE 1] Always Work Inside the Project Directory
|
|
7
|
+
- **NEVER write to `/tmp`, `/var/tmp`, `temp` or similar locations.** All files, logs, and state must remain inside the project directory.
|
|
8
|
+
- All work is done under `apps/`, `src/`, `docs/`, `tests/`.
|
|
9
|
+
- Do not touch framework files (`framework-mcp/src/`, `bin/`, `.atabey/agents/`).
|
|
16
10
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
### 🔍 Architecture Discovery Protocol (ADP)
|
|
22
|
-
When encountering a project, agents must never assume a specific folder structure. Use the following algorithm:
|
|
23
|
-
1. **Entry Point Hunt:** Identify main entry points (`index.ts`, `main.ts`, `server.ts`) via `search_codebase`.
|
|
24
|
-
2. **Business Logic Mapping:** Search for core domain keywords (e.g. `service`, `repository`, `controller`) to find where logic resides, regardless of directory names.
|
|
25
|
-
3. **Contract Analysis:** Locate type definitions and API schemas to establish the "System Contract".
|
|
26
|
-
4. **Adaptive Scaffolding:** Always propose architectural improvements or scaffolding *before* writing code. Wait for explicit User consent.
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## 🪙 TOKEN ECONOMY & CONTEXT MANAGEMENT
|
|
31
|
-
|
|
32
|
-
To minimize AI costs and maximize speed, all agents must adhere to the **Token Economy Protocol**:
|
|
33
|
-
|
|
34
|
-
1. **Search Before Reading (MANDATORY):** Never `read_file` an entire directory or large file without searching for specific points of interest first.
|
|
35
|
-
2. **Surgical Operations:** When editing, use the `replace` tool for targeted changes instead of overwriting entire files unless the file is very small (<50 lines).
|
|
36
|
-
3. **Output Conciseness:** MCP tools must return the minimum required data. Avoid verbose logs or redundant status messages in tool outputs.
|
|
37
|
-
4. **Context Compaction:** Before starting a new task, use `get_memory_insights` to retrieve only the relevant historical context.
|
|
38
|
-
5. **No Blind Coding:** Stop and ask if a task requires reading more than 5 large files without a clear search result.
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
## Constitution Status
|
|
43
|
-
This file (`./ATABEY.md`) and the `.atabey/knowledge/` folder represent the "Supreme Law" of the project. All agents must read this file first in every session and strictly comply with its rules 100%. All framework-specific documentation is stored within `.atabey/knowledge/`.
|
|
44
|
-
|
|
45
|
-
---
|
|
46
|
-
|
|
47
|
-
## STEP 0 — STARTUP (EVERY SESSION, NON-NEGOTIABLE)
|
|
48
|
-
|
|
49
|
-
1. **Restore Session Memory & Load Role (NON-NEGOTIABLE):**
|
|
50
|
-
- **Immediately Read `.atabey/memory/PROJECT_MEMORY.md`** as the very first action.
|
|
51
|
-
- **Check `memory/DECISIONS.md`** for project-specific architecture constraints.
|
|
52
|
-
- **Load Agent Prompt:** Adopt the **Commander** (for Gemini/Claude) or **Implementer** (for Cursor) identity.
|
|
53
|
-
2. **Read Platform Shim First:** Read `GEMINI.md`, `CLAUDE.md`, or `.cursor/rules/global.mdc` based on your platform.
|
|
54
|
-
3. **Respect Authority:** All specialists MUST report to the **Commander** and follow **Architect** reviews.
|
|
55
|
-
|
|
56
|
-
---
|
|
57
|
-
|
|
58
|
-
## [GOV] HIERARCHY OF AUTHORITY
|
|
59
|
-
1. **ATABEY.md:** The Supreme Law.
|
|
60
|
-
2. **SECURITY.md:** Domain Laws.
|
|
61
|
-
3. **memory/DECISIONS.md:** Fixed architectural choices.
|
|
62
|
-
4. **Platform Shim:** Role-specific instructions.
|
|
63
|
-
5. **memory/PROJECT_MEMORY.md:** Active state.
|
|
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
|
-
|
|
70
|
-
**NEVER SKIP THIS STEP.** Do not assume context; read first, then act as @manager.
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
## CORE PRINCIPLES
|
|
75
|
-
|
|
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
|
-
- **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
|
-
- **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 "Rule Violation - Unauthorized Administrative Action". Full list and rules are defined in `.atabey/knowledge/crud-governance.md` → "Corporate CRUD and Administrative Operation Governance".
|
|
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
|
-
- **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 (`/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
|
-
- **Contract-First Agent Evolution:** Tools and SOPs used by agents must be defined via schemas and contracts first.
|
|
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
|
-
- **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.
|
|
86
|
-
- **CLI-First Policy:** Due to the AI CLI Assistant focus, all outputs must be user-friendly (using Chalk, Clack, etc.) and stream-based. All commands must support the `--output json` flag and produce machine-readable output.
|
|
87
|
-
- **Audit Logging Necessity:** Every critical action must be logged traceably under the `.atabey/logs/` folder.
|
|
88
|
-
- **Design Continuity & Response Policy:** All UI changes MUST be responsive (Mobile-First + Fluid) and surgical. Unnecessary overhauls of existing layouts are strictly forbidden.
|
|
89
|
-
- **Shared Component First Policy (Zero Tolerance):** Defining common UI elements (Button, Input, Card, etc.) inside page files is FORBIDDEN. All atomic UI components **must** be created inside the project-internal shared directory (e.g. `apps/web/src/components/ui/`).
|
|
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
|
-
- **File Ownership Rule:** Each file is the responsibility of a single agent.
|
|
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, 71: Connection Error) must be used in error situations.
|
|
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 CLI.
|
|
96
|
-
- **Monorepo Discipline:** Commands must always be run from the monorepo root directory using npm workspaces (e.g., `npm run dev --workspace=web`).
|
|
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`, etc.).
|
|
99
|
-
All development must happen exclusively inside the user's project structure (`apps/backend/src/`, `apps/web/src/`, `src/`, etc.).
|
|
100
|
-
The only exception is when the **explicit goal** of the session is to improve or extend the Agent Atabey framework itself.
|
|
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.
|
|
102
|
-
|
|
103
|
-
- **Documentation Ownership Rule (Enterprise Standard — Zero Tolerance):**
|
|
104
|
-
Agents are **mandatory** to write all documentation they produce for the user's project (architectural decisions, patterns, implementation details, toaster/approval flow documents, research findings, etc.) **exclusively into the user's own `docs/` folder**.
|
|
105
|
-
These documents must **never** be written into `.atabey/knowledge/`, `.atabey/agents/`, or any framework folder.
|
|
106
|
-
Violation is considered a serious rule breach and is corrected by @manager.
|
|
107
|
-
The detailed and binding rule is defined in `.atabey/knowledge/documentation_ownership.md`.
|
|
108
|
-
|
|
109
|
-
---
|
|
110
|
-
|
|
111
|
-
## STEP 1 — VALIDATE BEFORE ACTING
|
|
112
|
-
|
|
113
|
-
Before writing any code or design, check `docs/tech-stack.md`:
|
|
114
|
-
|
|
115
|
-
| Unknown | Action |
|
|
116
|
-
|---|---|
|
|
117
|
-
| Target Audience | Ask — do not proceed |
|
|
118
|
-
| Platform (web / mobile / desktop / backend) | Ask — do not proceed |
|
|
119
|
-
| **Technology Stack** | **Check `docs/tech-stack.md` → If missing → ASK** |
|
|
120
|
-
| Database (MariaDB / SQLite / PostgreSQL) | Ask — do not proceed |
|
|
121
|
-
| Environment (prototype / production) | Ask — do not proceed |
|
|
122
|
-
| Auth required? | Ask — do not proceed |
|
|
123
|
-
| Monorepo or separate repos? | Ask — do not proceed |
|
|
124
|
-
| Deploy target (Vercel / Bare metal / Managed platform)? | Ask — do not proceed |
|
|
125
|
-
| i18n (multi-language) required? | Ask — do not proceed |
|
|
126
|
-
| API versioning strategy? | Ask — do not proceed |
|
|
127
|
-
| Accessibility level (WCAG AA / AAA)? | Default AA — ask if different |
|
|
128
|
-
| Scope too broad ("build the whole app") | Break into parts → confirm each part |
|
|
129
|
-
|
|
130
|
-
Small details (port, filename, folder name) → assume and state them.
|
|
131
|
-
|
|
132
|
-
Always write assumptions at the top of your response:
|
|
133
|
-
```
|
|
134
|
-
Assumption: [what] — [why]
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
## OUTPUT FLOWS (MANDATORY STANDARDS)
|
|
140
|
-
|
|
141
|
-
Every agent must use the **Mandatory Output Flow** defined in their specific `.md` file. However, the following sections are mandatory in all outputs:
|
|
142
|
-
|
|
143
|
-
- **Assumptions:** All assumptions made.
|
|
144
|
-
- **Problem:** What is being built and why (Max 2-3 sentences).
|
|
145
|
-
- **File Tree:** Complete folder and file structure.
|
|
146
|
-
- **Code:** Complete code content (using "..." is forbidden).
|
|
147
|
-
- **Audit Logging:** How the changes are logged.
|
|
148
|
-
- **Tests:** Test file for every service and utility.
|
|
149
|
-
|
|
150
|
-
---
|
|
151
|
-
|
|
152
|
-
## ABSOLUTE DON'TS — APPLIES TO EVERY RESPONSE
|
|
153
|
-
|
|
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. Use `EnterpriseLogger` (from `src/shared/logger.ts`) instead.
|
|
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
|
-
- **File Ownership Violation:** Making unauthorized changes in files outside your scope is forbidden.
|
|
158
|
-
- **Security Rule Violation:** Violating security protocols is strictly forbidden.
|
|
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 the project's database library (`better-sqlite3` with prepared statements, or Kysely if available).
|
|
161
|
-
- **Direct DB call in a controller:** Database operations cannot be performed directly inside a Controller.
|
|
162
|
-
- **Missing try/catch on async operations:** Error handling (try/catch) is mandatory for asynchronous operations.
|
|
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).
|
|
164
|
-
|
|
165
|
-
---
|
|
166
|
-
|
|
167
|
-
## LANGUAGE POLICY
|
|
168
|
-
|
|
169
|
-
- Code comments: English (Explain why it was done, not what it does).
|
|
170
|
-
- Variable / function / class / file names: English.
|
|
171
|
-
- User-facing UI text: English (Default).
|
|
172
|
-
- Communication: English by default (Global rule).
|
|
173
|
-
|
|
174
|
-
---
|
|
175
|
-
|
|
176
|
-
## API & CONTRACT MANAGEMENT
|
|
177
|
-
|
|
178
|
-
### 1. contract.version.json Standard
|
|
179
|
-
This file is the single source of truth for API stability. `@architect` is responsible for its integrity.
|
|
180
|
-
|
|
181
|
-
```json
|
|
182
|
-
{
|
|
183
|
-
"version": "MAJOR.MINOR",
|
|
184
|
-
"last_updated": "ISO-8601",
|
|
185
|
-
"contract_hash": "sha256-hash-of-shared-types",
|
|
186
|
-
"breaking_changes": [
|
|
187
|
-
{ "version": "1.0", "description": "Initial stable release" }
|
|
188
|
-
],
|
|
189
|
-
"deprecated_versions": []
|
|
190
|
-
}
|
|
191
|
-
```
|
|
192
|
-
- **MAJOR:** Incremented on breaking changes (Phase Rollback required).
|
|
193
|
-
- **MINOR:** Incremented on additive changes (New fields/endpoints).
|
|
194
|
-
|
|
195
|
-
---
|
|
196
|
-
|
|
197
|
-
## STATE MACHINE & EXECUTION PHASES
|
|
198
|
-
|
|
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
|
-
|
|
201
|
-
- **[STATE: PHASE_0] Discovery & Setup:** Requirement analysis, and validating `docs/tech-stack.md`.
|
|
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
|
-
- **[STATE: PHASE_2] Core Development:** Active agents build core features in parallel. (Under the apps/ folder)
|
|
204
|
-
- **[STATE: PHASE_3] Integration & Testing:** System integration.
|
|
205
|
-
- **[STATE: PHASE_4] Optimization & Deployment:** Performance audit and deployment.
|
|
206
|
-
|
|
207
|
-
**Rollback Rule:** If a missing field or error is detected in the API schema (app types) during Phase 2 or later, the system immediately transitions to `[STATE: ROLLBACK_PHASE_1]`. All relevant agents stop their processes, switch to `WAITING` state, and cannot return to Phase 2 until the `@architect` resolves the issues.
|
|
208
|
-
|
|
209
|
-
---
|
|
210
|
-
|
|
211
|
-
Every agent must produce a response for their assigned task within a maximum of 30 minutes (or the time defined per project). Upon timeout, `@manager` automatically moves the relevant task to `BLOCKED` status and logs the escalation.
|
|
212
|
-
|
|
213
|
-
---
|
|
214
|
-
|
|
215
|
-
## CLI STANDARDS & CONFIGURATION
|
|
216
|
-
|
|
217
|
-
### 1. CLI Command Map (`.atabey/cli-commands.json`)
|
|
218
|
-
All CLI commands are centrally managed in this file. Each command must have a designated owner agent.
|
|
219
|
-
|
|
220
|
-
### 2. Configuration (`.atabey/config.json`)
|
|
221
|
-
CLI behaviors (logLevel, outputFormat, defaultProfile) are managed through this file.
|
|
222
|
-
|
|
223
|
-
**Priority Rule:** CLI Flags > `.atabey/config.json` > `.env` > Default Values.
|
|
224
|
-
|
|
225
|
-
### 3. Exit Codes
|
|
226
|
-
- `0`: Success
|
|
227
|
-
- `64`: User Error (Invalid argument, missing parameter)
|
|
228
|
-
- `70`: Internal Error (Software error, crash)
|
|
229
|
-
- `71`: Connection/Network Error
|
|
11
|
+
## [RULE 2] Hierarchy
|
|
12
|
+
1. **ATABEY.md** — Supreme Law
|
|
13
|
+
2. **`.atabey/knowledge/*.md`** — Standard Operating Procedures
|
|
14
|
+
3. **@manager directives** — Tasks and approvals
|
|
230
15
|
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
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 |
|
|
16
|
+
## [RULE 3] 13 Specialized Agents
|
|
17
|
+
| Agent | Tier | Responsibility |
|
|
18
|
+
|-------|------|----------------|
|
|
19
|
+
| @manager | Supreme | Orchestration, governance, quality gate |
|
|
20
|
+
| @security | Supreme | Security audit |
|
|
21
|
+
| @architect | Core | System design, contracts |
|
|
22
|
+
| @backend | Core | API, business logic, tests |
|
|
23
|
+
| @frontend | Core | UI, atomic components, responsive |
|
|
24
|
+
| @quality | Core | Compliance, lint, test coverage |
|
|
25
|
+
| @database | Core | Database management |
|
|
26
|
+
| @analyst | Core | Strategy analysis |
|
|
27
|
+
| @mobile | Core | React Native |
|
|
28
|
+
| @native | Core | Native integration |
|
|
29
|
+
| @devops | Core | CI/CD, deploy |
|
|
30
|
+
| @explorer | Recon | Codebase discovery |
|
|
31
|
+
| @git | Recon | Version control |
|
|
254
32
|
|
|
255
|
-
|
|
256
|
-
|
|
33
|
+
## [RULE 4] Prohibitions
|
|
34
|
+
- `any` type is forbidden
|
|
35
|
+
- `console.log` is forbidden — use `EnterpriseLogger`
|
|
36
|
+
- Mock data is forbidden (except 3rd party services)
|
|
37
|
+
- Writing to `/tmp` or similar is forbidden
|
|
38
|
+
- Raw SQL is forbidden — use Kysely/ORM
|
|
39
|
+
- Direct DB calls in controllers are forbidden
|
|
257
40
|
|
|
258
|
-
|
|
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
|
|
41
|
+
## [RULE 5] Phase System
|
|
272
42
|
```
|
|
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
|
|
43
|
+
PHASE_0 → PHASE_1 → PHASE_2 → PHASE_3 → PHASE_4
|
|
384
44
|
```
|
|
45
|
+
Skipping phases is forbidden. If contracts break, ROLLBACK_PHASE_1.
|
|
385
46
|
|
|
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
|
|
47
|
+
## [RULE 6] Quality Gate
|
|
396
48
|
```
|
|
397
|
-
|
|
398
|
-
|
|
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
|
|
49
|
+
Agent completes → @quality review → PASS → Memory update
|
|
50
|
+
→ FAIL → 3x retry → Human
|
|
440
51
|
```
|
|
441
52
|
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
---
|
|
446
|
-
|
|
447
|
-
## PARALLEL EXECUTION & COORDINATION RULES
|
|
448
|
-
|
|
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.
|
|
450
|
-
2. **Commit-Level Logging:** Every agent must log every atomic change to the `.atabey/logs/[agent-name].json` file.
|
|
451
|
-
3. **Implicit Dependency Lock:** If an agent's required output is not ready, it switches to `WAITING` state.
|
|
452
|
-
4. **Ownership Enforcement:** Changes to files outside an agent's scope cannot be made without `@manager` approval.
|
|
453
|
-
5. **No Blind Coding:** Agents must periodically read `.atabey/logs/` and `.atabey/STATUS.md`.
|
|
454
|
-
6. **Agent Directives (Message Queue):** `.atabey/messages/` is used for inter-agent communication.
|
|
455
|
-
- **Message Queue Lock Protocol:** Before writing to a file, check for `.atabey/messages/.lock`.
|
|
456
|
-
- If it exists, wait 500ms and retry (max 3 retries).
|
|
457
|
-
- If lock persists after 3 retries, the agent MUST assume a **stale lock**, delete it, and notify `@manager` in their log.
|
|
458
|
-
- Delete `.lock` and the message file immediately after processing.
|
|
459
|
-
7. **Phase Rollback Protocol:** If contracts are insufficient, return to Phase 1. All agents become `WAITING` and write `CONTRACT_CHANGED` to their log.
|
|
460
|
-
8. **Next.js Ownership Rule:** `apps/web/api/` and `server/actions/` -> @backend. `apps/web/(routes)/` and `components/` -> @frontend.
|
|
461
|
-
9. **Zero Mock Test Policy:** Integration tests must use a real database or service-compatible test backend; do not rely on mocks for persistence behavior.
|
|
462
|
-
|
|
463
|
-
---
|
|
53
|
+
## [RULE 7] Risk Engine
|
|
54
|
+
Score ≥ 60 → Human approval required (`atabey approve <traceId>`)
|
|
464
55
|
|
|
465
|
-
##
|
|
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
|
-
---
|
|
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
|
-
```
|
|
56
|
+
## [RULE 8] Contract-First
|
|
57
|
+
Validate contracts before writing code (`atabey verify-contract`).
|
|
512
58
|
|
|
513
59
|
---
|
|
514
60
|
|
|
515
|
-
|
|
61
|
+
*Detailed rules: `templates/full/ATABEY_FULL.md`*
|