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