agent-enderun 0.8.1 → 0.8.2
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/.enderun/STATUS.md +2 -1
- package/.enderun/agents/{analyst/prompt.md → analyst.md} +21 -4
- package/.enderun/agents/{backend/prompt.md → backend.md} +23 -5
- package/.enderun/agents/{devops/prompt.md → devops.md} +53 -3
- package/.enderun/agents/{explorer/prompt.md → explorer.md} +21 -5
- package/.enderun/agents/{frontend/prompt.md → frontend.md} +25 -5
- package/.enderun/agents/{git/prompt.md → git.md} +20 -4
- package/.enderun/agents/{manager/prompt.md → manager.md} +53 -4
- package/.enderun/agents/{mobile/prompt.md → mobile.md} +19 -5
- package/.enderun/agents/{native/prompt.md → native.md} +18 -4
- package/.enderun/agents/{orchestrator/prompt.md → orchestrator.md} +45 -2
- package/.enderun/agents/qa.md +116 -0
- package/.enderun/agents/{security/prompt.md → security.md} +47 -2
- package/.enderun/gemini.md +5 -5
- package/.enderun/knowledge/corporate-governance/corporate-project-kickoff-checklist.md +1 -1
- package/.enderun/knowledge/corporate-governance/corporate-project-scaffolding-sop.md +1 -1
- package/.enderun/knowledge/framework_vs_user_project_boundary.md +3 -3
- package/.enderun/knowledge/frontend_professionalization_guidelines.md +2 -2
- package/.enderun/knowledge/hermes_live_test_guidelines.md +4 -4
- package/.enderun/knowledge/hermes_protocol.md +2 -2
- package/.enderun/knowledge/manager_authority_audit_enforcement.md +4 -4
- package/.enderun/knowledge/project_scaffold_guidelines.md +4 -4
- package/.enderun/knowledge/reference_application_guidelines.md +1 -1
- package/.enderun/memory-graph/shared-facts.json +1 -1
- package/ENDERUN.md +3 -3
- package/README.md +8 -8
- package/bin/validate-agent-army.js +34 -9
- package/docs/getting-started.md +2 -2
- package/docs/roadmap.md +1 -1
- package/framework-mcp/package.json +1 -1
- package/framework-mcp/src/tools/governance.ts +1 -1
- package/framework-mcp/src/utils.ts +1 -1
- package/gemini.md +5 -5
- package/package.json +1 -1
- package/src/cli/index.ts +8 -2
- package/.enderun/agents/analyst/agent.json +0 -23
- package/.enderun/agents/backend/agent.json +0 -24
- package/.enderun/agents/devops/agent.json +0 -61
- package/.enderun/agents/explorer/agent.json +0 -22
- package/.enderun/agents/frontend/agent.json +0 -24
- package/.enderun/agents/git/agent.json +0 -22
- package/.enderun/agents/manager/agent.json +0 -48
- package/.enderun/agents/mobile/agent.json +0 -21
- package/.enderun/agents/native/agent.json +0 -21
- package/.enderun/agents/orchestrator/agent.json +0 -53
- package/.enderun/agents/qa/agent.json +0 -57
- package/.enderun/agents/qa/prompt.md +0 -69
- package/.enderun/agents/security/agent.json +0 -54
|
@@ -1,10 +1,54 @@
|
|
|
1
|
-
---
|
|
2
1
|
agent: "@security"
|
|
3
|
-
version: "
|
|
2
|
+
version: "0.8.2"
|
|
4
3
|
role: Security Auditor & Compliance Officer
|
|
5
4
|
capability: 9.3
|
|
6
5
|
---
|
|
7
6
|
|
|
7
|
+
# @security — Security Auditor & Compliance Officer (v0.8.2)
|
|
8
|
+
rules:
|
|
9
|
+
- "NEVER write application code. Your role is exclusively to audit, assess, and report — never to implement."
|
|
10
|
+
- "Run security_audit_scan before every merge/deploy gate. A failing scan is a hard BLOCK — no exceptions."
|
|
11
|
+
- "All findings must be categorized by severity: CRITICAL, HIGH, MEDIUM, LOW. Only CRITICAL and HIGH require immediate escalation to @manager."
|
|
12
|
+
- "Never expose secrets, credentials, or PII in your reports — redact all sensitive values."
|
|
13
|
+
- "Maintain a running security findings log in {{FRAMEWORK_DIR}}/logs/security.json. Every scan appends — never overwrites."
|
|
14
|
+
- "Constitution compliance (analyze_constitution_compliance) must be run on every full session, not just on deploys."
|
|
15
|
+
- "Dependency vulnerability scans must reference a real package manifest (package.json, requirements.txt, etc.) — never fabricate CVE data."
|
|
16
|
+
- "All penetration test scenarios must be tagged with the OWASP category they target."
|
|
17
|
+
permittedDirectories:
|
|
18
|
+
- "{{FRAMEWORK_DIR}}/"
|
|
19
|
+
- "apps/backend/src/"
|
|
20
|
+
- "apps/web/"
|
|
21
|
+
- "framework-mcp/src/"
|
|
22
|
+
- "docs/"
|
|
23
|
+
hermesChannels:
|
|
24
|
+
- "@security->@manager"
|
|
25
|
+
- "@security->@backend"
|
|
26
|
+
- "@security->@git"
|
|
27
|
+
- "@security->@devops"
|
|
28
|
+
tags:
|
|
29
|
+
- "specialist"
|
|
30
|
+
- "security"
|
|
31
|
+
- "governance"
|
|
32
|
+
stateMachine:
|
|
33
|
+
schemaRef: "../schema/agent-lifecycle-schema.json"
|
|
34
|
+
checklists:
|
|
35
|
+
beforeEveryAudit:
|
|
36
|
+
- "Confirm scope: which directories/files are in scope for this audit?"
|
|
37
|
+
- "Verify security_audit_scan tool is available via MCP"
|
|
38
|
+
- "Check {{FRAMEWORK_DIR}}/logs/security.json for previous findings to track regressions"
|
|
39
|
+
- "Confirm no real secrets will appear in the report output"
|
|
40
|
+
afterEveryAudit:
|
|
41
|
+
- "Write all findings to {{FRAMEWORK_DIR}}/logs/security.json with Trace ID"
|
|
42
|
+
- "Escalate CRITICAL/HIGH findings to @manager via Hermes immediately"
|
|
43
|
+
- "Update STATUS.md with current security health"
|
|
44
|
+
- "Log audit action via log_agent_action MCP tool"
|
|
45
|
+
deployGate:
|
|
46
|
+
- "Run security_audit_scan — zero CRITICAL findings required"
|
|
47
|
+
- "Run analyze_constitution_compliance — zero violations required"
|
|
48
|
+
- "Confirm all hardcoded secrets check passed"
|
|
49
|
+
- "Sign off to @devops and @manager"
|
|
50
|
+
---
|
|
51
|
+
|
|
8
52
|
# @security — Security Auditor & Compliance Officer
|
|
9
53
|
|
|
10
54
|
## Identity & Mission
|
|
@@ -152,3 +196,4 @@ GATE: BLOCKED | PASSED | CONDITIONAL_PASS
|
|
|
152
196
|
- ❌ Fabricating CVE data or vulnerability reports
|
|
153
197
|
- ❌ Bypassing the deploy gate — even under time pressure from @manager
|
|
154
198
|
- ❌ Exposing real secrets in logs or reports
|
|
199
|
+
---
|
package/.enderun/gemini.md
CHANGED
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
This file is the entry point when using Agent Enderun with Gemini CLI.
|
|
4
4
|
|
|
5
|
-
The framework installs into the `.
|
|
5
|
+
The framework installs into the `.enderun/` folder for Gemini users.
|
|
6
6
|
|
|
7
7
|
### Primary Constitution
|
|
8
8
|
All governance rules, agent checklists, and project memory live here:
|
|
9
9
|
|
|
10
|
-
👉 **[.
|
|
10
|
+
👉 **[.enderun/ENDERUN.md](.enderun/ENDERUN.md)**
|
|
11
11
|
|
|
12
12
|
### 🤖 Agent Directive (Gemini CLI users)
|
|
13
13
|
You are operating under the Agent Enderun governance framework.
|
|
14
14
|
|
|
15
15
|
At the **start of every session**, before any work:
|
|
16
|
-
1. Read `.
|
|
17
|
-
2. Read the relevant agent definition under `.
|
|
16
|
+
1. Read `.enderun/PROJECT_MEMORY.md` to restore state, active Trace ID, and history.
|
|
17
|
+
2. Read the relevant agent definition under `.enderun/agents/{agent}.md` (especially `@manager`).
|
|
18
18
|
|
|
19
|
-
All paths and references inside `.
|
|
19
|
+
All paths and references inside `.enderun/` use the Enderun adapter structure. No migration to other CLIs is required.
|
|
@@ -9,7 +9,7 @@ This checklist must be completed (and documented in `PROJECT_MEMORY.md`) at the
|
|
|
9
9
|
|
|
10
10
|
## Phase 0 – Governance Alignment
|
|
11
11
|
|
|
12
|
-
- [ ] @manager has read all files in `.
|
|
12
|
+
- [ ] @manager has read all files in `.enderun/knowledge/corporate-governance/`
|
|
13
13
|
- [ ] User has been given the Governance Baseline Briefing
|
|
14
14
|
- [ ] User has explicitly acknowledged the corporate standards
|
|
15
15
|
- [ ] Decision recorded in `PROJECT_MEMORY.md` under "Critical Decisions"
|
|
@@ -82,7 +82,7 @@ When delegating any work to `@backend` or `@frontend`:
|
|
|
82
82
|
The briefing message **must** include:
|
|
83
83
|
- Exact path to the contract types for this feature.
|
|
84
84
|
- Classification of whether the feature contains high-risk actions.
|
|
85
|
-
- Explicit references to the relevant files in `.
|
|
85
|
+
- Explicit references to the relevant files in `.enderun/knowledge/corporate-governance/`.
|
|
86
86
|
- Requirement to notify @manager before implementing any high-risk path.
|
|
87
87
|
- Mandate to produce ADR documentation for any new governance decisions.
|
|
88
88
|
|
|
@@ -7,7 +7,7 @@ This is one of the most important rules in Agent Enderun.
|
|
|
7
7
|
There is a strict separation between two things:
|
|
8
8
|
|
|
9
9
|
1. **The Agent Enderun Framework** (the tool)
|
|
10
|
-
- Located in: `framework-mcp/`, `.
|
|
10
|
+
- Located in: `framework-mcp/`, `.enderun/`, `bin/`, root config files (`panda.config.ts`, etc.)
|
|
11
11
|
- Purpose: Governance, agents, MCP tools, CLI, knowledge base, blueprints
|
|
12
12
|
|
|
13
13
|
2. **The User's Application** (what the user is actually building)
|
|
@@ -22,14 +22,14 @@ All new code, files, features, and modifications must happen **exclusively** ins
|
|
|
22
22
|
|
|
23
23
|
### Forbidden Actions (When Building User's Project)
|
|
24
24
|
- Creating files in `framework-mcp/src/utils/`, `framework-mcp/src/tools/`, etc.
|
|
25
|
-
- Modifying agent definitions in `.
|
|
25
|
+
- Modifying agent definitions in `.enderun/agents/`
|
|
26
26
|
- Editing `panda.config.ts` at the root (unless the project itself uses it directly)
|
|
27
27
|
- Adding new MCP tools unless the explicit task is "improve the framework"
|
|
28
28
|
|
|
29
29
|
### Allowed Actions
|
|
30
30
|
- Creating files in `apps/backend/src/...`
|
|
31
31
|
- Creating files in `apps/web/src/...`
|
|
32
|
-
- Adding blueprints and knowledge under `.
|
|
32
|
+
- Adding blueprints and knowledge under `.enderun/` **only** when improving the framework for everyone
|
|
33
33
|
- Updating project-specific configs inside the user's `apps/` or root project files
|
|
34
34
|
|
|
35
35
|
## Why This Rule Exists
|
|
@@ -98,8 +98,8 @@ The "@frontend Zayıflığı" risk can be closed when:
|
|
|
98
98
|
|
|
99
99
|
## Related Documents
|
|
100
100
|
|
|
101
|
-
- `.
|
|
102
|
-
- `.
|
|
101
|
+
- `.enderun/agents/frontend.md` (main definition)
|
|
102
|
+
- `.enderun/knowledge/reference_application_guidelines.md`
|
|
103
103
|
- `docs/roadmap.md` → Risk Tracking Dashboard
|
|
104
104
|
- `PROJECT_MEMORY.md` → STRATEGIC ROADMAP
|
|
105
105
|
|
|
@@ -78,10 +78,10 @@ The "Hermes Kağıt Üzerinde" risk can be closed only when **all** of the follo
|
|
|
78
78
|
|
|
79
79
|
## Related Documents
|
|
80
80
|
|
|
81
|
-
- `.
|
|
82
|
-
- `.
|
|
83
|
-
- `.
|
|
84
|
-
- `.
|
|
81
|
+
- `.enderun/knowledge/hermes_protocol.md` (original protocol definition)
|
|
82
|
+
- `.enderun/agents/manager.md` → Hermes Communication Mandate section
|
|
83
|
+
- `.enderun/knowledge/frontend_professionalization_guidelines.md`
|
|
84
|
+
- `.enderun/knowledge/reference_application_guidelines.md`
|
|
85
85
|
- `docs/roadmap.md` → Risk Tracking Dashboard
|
|
86
86
|
- `PROJECT_MEMORY.md` → STRATEGIC ROADMAP
|
|
87
87
|
|
|
@@ -45,10 +45,10 @@ Every message sent via `send_agent_message` must follow this conceptual structur
|
|
|
45
45
|
|
|
46
46
|
## 🔄 Lifecycle Protocol
|
|
47
47
|
|
|
48
|
-
1. **Dispatch:** Agent calls `send_agent_message`. Message is saved in `.
|
|
48
|
+
1. **Dispatch:** Agent calls `send_agent_message`. Message is saved in `.enderun/messages/recipient.json`.
|
|
49
49
|
2. **Notification:** The recipient agent checks their inbox during their turn via `read_agent_messages`.
|
|
50
50
|
3. **Acknowledgment:** For `ACTION` or `DELEGATION`, the recipient should send an `INFO` message back once started or completed.
|
|
51
|
-
4. **Logging:** All critical communications must be summarized in the agent's log file (`.
|
|
51
|
+
4. **Logging:** All critical communications must be summarized in the agent's log file (`.enderun/logs/agent.json`).
|
|
52
52
|
|
|
53
53
|
---
|
|
54
54
|
|
|
@@ -92,10 +92,10 @@ Every time a reference application or major task is executed, @manager must run
|
|
|
92
92
|
|
|
93
93
|
## Related Documents
|
|
94
94
|
|
|
95
|
-
- `.
|
|
96
|
-
- `.
|
|
97
|
-
- `.
|
|
98
|
-
- `.
|
|
95
|
+
- `.enderun/agents/manager.md` → Kurumsal Proje İçin @manager Zorunlu Davranış Kuralları + Hermes Communication Mandate
|
|
96
|
+
- `.enderun/knowledge/hermes_live_test_guidelines.md`
|
|
97
|
+
- `.enderun/knowledge/frontend_professionalization_guidelines.md`
|
|
98
|
+
- `.enderun/knowledge/reference_application_guidelines.md`
|
|
99
99
|
- `docs/roadmap.md` → Risk Tracking Dashboard
|
|
100
100
|
- `PROJECT_MEMORY.md` → STRATEGIC ROADMAP + HISTORY
|
|
101
101
|
|
|
@@ -88,10 +88,10 @@ A project scaffold is considered successful when:
|
|
|
88
88
|
|
|
89
89
|
## Related Documents
|
|
90
90
|
|
|
91
|
-
- `.
|
|
92
|
-
- `.
|
|
93
|
-
- `.
|
|
94
|
-
- `.
|
|
91
|
+
- `.enderun/knowledge/reference_application_guidelines.md`
|
|
92
|
+
- `.enderun/knowledge/frontend_professionalization_guidelines.md`
|
|
93
|
+
- `.enderun/knowledge/hermes_live_test_guidelines.md`
|
|
94
|
+
- `.enderun/knowledge/manager_authority_audit_enforcement.md`
|
|
95
95
|
- `docs/roadmap.md` → Risk Tracking Dashboard
|
|
96
96
|
|
|
97
97
|
---
|
|
@@ -44,7 +44,7 @@ Any reference application **must** demonstrate the following:
|
|
|
44
44
|
|
|
45
45
|
6. **Framework Boundary Respect**
|
|
46
46
|
- All code lives strictly inside `apps/`
|
|
47
|
-
- No modifications to `framework-mcp/`, `.
|
|
47
|
+
- No modifications to `framework-mcp/`, `.enderun/agents/`, or root framework files
|
|
48
48
|
|
|
49
49
|
7. **Professional Standards**
|
|
50
50
|
- Error handling with DomainError hierarchy
|
package/ENDERUN.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Agent Enderun (v0.
|
|
1
|
+
# Agent Enderun (v0.8.2)
|
|
2
2
|
# Place in project root. This file is the single source of truth for Base Project AI Extensions.
|
|
3
3
|
|
|
4
4
|
## 🎖️ AGENT CHECKLIST (MANDATORY BEFORE RESPONSE)
|
|
@@ -47,7 +47,7 @@ This file (`./{{ADAPTER}}.md`) and the `{{FRAMEWORK_DIR}}/docs/` folder represen
|
|
|
47
47
|
- `CRITICAL DECISIONS` (Previous design decisions to comply with)
|
|
48
48
|
- `ACTIVE TASKS` (Ongoing work and agent assignments)
|
|
49
49
|
- `HISTORY` (To see exactly what agents did recently)
|
|
50
|
-
- **Load Agent Prompt:** By default, you operate as `@manager`. Immediately read and load `{{FRAMEWORK_DIR}}/agents/manager
|
|
50
|
+
- **Load Agent Prompt:** By default, you operate as `@manager`. Immediately read and load `{{FRAMEWORK_DIR}}/agents/manager.md` to adopt its exact rules, workflows, and checklists. If the user explicitly invokes a specialist (e.g., `@backend`), immediately read and load the corresponding agent file (e.g., `{{FRAMEWORK_DIR}}/agents/backend.md`).
|
|
51
51
|
2. **Read ./{{ADAPTER}}.md First:** Read and fully understand this file before taking any action.
|
|
52
52
|
3. **Check `docs/` Folder:** Verify the existence of the `docs/` folder (located at the root directory of the project).
|
|
53
53
|
4. **Absorb Context:** Read `docs/README.md` and `docs/getting-started.md`. If they are missing, check if the architecture folder exists.
|
|
@@ -63,7 +63,7 @@ This file (`./{{ADAPTER}}.md`) and the `{{FRAMEWORK_DIR}}/docs/` folder represen
|
|
|
63
63
|
|
|
64
64
|
- **Permanent @manager Identity (Enterprise Standard):** The AI assistant is ALWAYS the `@manager` (Team-Lead) 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.
|
|
65
65
|
- **Team-Lead 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` (Team-Lead) agent. The `@manager` is solely responsible for intent analysis, risk assessment, memory update, phase validation, and structured delegation. No specialist agent is authorized to act on any user request without receiving a formal briefing from @manager. Direct calls to other agents are still routed through @manager. Violating this rule in enterprise projects is considered a serious process failure.
|
|
66
|
-
- **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 `{{FRAMEWORK_DIR}}/agents/manager
|
|
66
|
+
- **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 `{{FRAMEWORK_DIR}}/agents/manager.md` → “Corporate CRUD and Administrative Operation Governance”.
|
|
67
67
|
- **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.
|
|
68
68
|
- **Immediate Memory Sync:** Every state change, decision, or improved capability must be reflected in the memory files immediately.
|
|
69
69
|
- **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 (`{{FRAMEWORK_DIR}}/` or `.{{ADAPTER}}/` etc.) or the project workspace. This ensures 100% state persistence and context recovery upon session restarts.
|
package/README.md
CHANGED
|
@@ -20,7 +20,7 @@ Most AI coding tools optimize for speed and generation volume. Agent Enderun opt
|
|
|
20
20
|
|
|
21
21
|
> [!NOTE]
|
|
22
22
|
> **v0.7.0 Strategic Consolidation:**
|
|
23
|
-
> The active runtime folder in user projects is `.
|
|
23
|
+
> The active runtime folder in user projects is `.enderun/`. The framework ships its templates from `.enderun/`. All specialist agent configurations live as strongly-typed `agent.json` under `.enderun/agents/{agent_name}.md`. Duplicate or staging structures have been retired.
|
|
24
24
|
|
|
25
25
|
---
|
|
26
26
|
|
|
@@ -36,7 +36,7 @@ This is the supreme law of the framework, dictating mandatory rules and protocol
|
|
|
36
36
|
- **Procedural Continuity:** All agents MUST adhere to the existing architectural and stylistic patterns of the project.
|
|
37
37
|
|
|
38
38
|
### 2. Project Memory (`PROJECT_MEMORY.md`)
|
|
39
|
-
This file, located in `.
|
|
39
|
+
This file, located in `.enderun/`, is the **Single Source of Truth (SSOT)** for the project's state. It is a human-readable Markdown file that all agents read at the start of a session and update at the end. Its key sections are:
|
|
40
40
|
- **`CURRENT STATUS`:** Tracks the active phase, Trace ID, and any blockers.
|
|
41
41
|
- **`CRITICAL DECISIONS`:** A log of important architectural choices to ensure consistency.
|
|
42
42
|
- **`ACTIVE TASKS`:** A table of all ongoing tasks, their status, priority, and assigned agent.
|
|
@@ -52,7 +52,7 @@ Every task or logical unit of work is assigned a unique **Trace ID** (a 26-chara
|
|
|
52
52
|
Each agent in the Enderun Army is governed by a strongly-typed `agent.json` definition that defines their precise rules, permitted directories, and capability ratings.
|
|
53
53
|
|
|
54
54
|
### Workspace Agent Path:
|
|
55
|
-
👉 `[project-root]/.
|
|
55
|
+
👉 `[project-root]/.enderun/agents/{agent_name}.md`
|
|
56
56
|
|
|
57
57
|
### Agent Army Overview (v1.0 - 12 Specialists):
|
|
58
58
|
|
|
@@ -75,7 +75,7 @@ Each agent in the Enderun Army is governed by a strongly-typed `agent.json` defi
|
|
|
75
75
|
|
|
76
76
|
### 📂 Core Directories Analysis & Operational Purposes
|
|
77
77
|
|
|
78
|
-
The Agent Enderun framework organizes agent actions and runtime intelligence through highly structured directories remapped to `.
|
|
78
|
+
The Agent Enderun framework organizes agent actions and runtime intelligence through highly structured directories remapped to `.enderun/` (or `.claude/` / `.cursor/`) inside user workspaces:
|
|
79
79
|
|
|
80
80
|
* **`skills/` (Dynamic Executables):** Serves as a folder for model-specific executable scripts and custom tools. Developers can inject project-specific helpers here, allowing agents to load and execute them dynamically on-demand during active briefs.
|
|
81
81
|
* **`benchmarks/` (LLM Evaluation):** Dedicated folder for metrics, token consumption, and response accuracy logs comparing different LLM engines (e.g. Gemini 1.5 Pro vs Claude 3.5 Sonnet vs Codex). Helps evaluate the coding intelligence of the active army.
|
|
@@ -166,7 +166,7 @@ Agent Enderun comes with a powerful set of CLI tools for managing the project.
|
|
|
166
166
|
|
|
167
167
|
> [!NOTE]
|
|
168
168
|
> **v0.7.0 Stratejik Konsolidasyon:**
|
|
169
|
-
> Çalışma zamanı klasörü kullanıcı projelerinde `.
|
|
169
|
+
> Çalışma zamanı klasörü kullanıcı projelerinde `.enderun/` olarak oluşturulur. Ajan yapılandırmaları `.enderun/agents/{agent_name}.md` altında yer alır. Eski veya mükerrer yapılar tamamen kaldırılmıştır.
|
|
170
170
|
|
|
171
171
|
---
|
|
172
172
|
|
|
@@ -182,7 +182,7 @@ Bu, tüm ajanlar için zorunlu kuralları ve protokolleri dikte eden, çerçeven
|
|
|
182
182
|
- **Prosedürel Devamlılık:** Tüm ajanlar, projenin mevcut mimari ve stilistik kalıplarına uymak ZORUNDADIR.
|
|
183
183
|
|
|
184
184
|
### 2. Proje Hafızası (`PROJECT_MEMORY.md`)
|
|
185
|
-
`.
|
|
185
|
+
`.enderun/` içinde bulunan bu dosya, projenin durumu için **Tek Doğruluk Kaynağıdır (SSOT)**. Tüm ajanların bir oturumun başında okuduğu ve sonunda güncellediği, insan tarafından okunabilir bir Markdown dosyasıdır. Ana bölümleri şunlardır:
|
|
186
186
|
- **`CURRENT STATUS`:** Aktif aşamayı, Trace ID'yi ve varsa engelleyicileri izler.
|
|
187
187
|
- **`CRITICAL DECISIONS`:** Tutarlılığı sağlamak için önemli mimari seçimlerin bir kaydı.
|
|
188
188
|
- **`ACTIVE TASKS`:** Devam eden tüm görevlerin, durumlarının, önceliklerinin ve atanan ajanın bir tablosu.
|
|
@@ -198,7 +198,7 @@ Her göreve veya mantıksal iş birimine benzersiz bir **Trace ID** (26 karakter
|
|
|
198
198
|
Enderun Ordusu'ndaki her ajan, kendilerine ait kuralları, izin verilen dizinleri ve yetenek derecelendirmelerini tanımlayan güçlü tipli bir `agent.json` dosyası tarafından yönetilir.
|
|
199
199
|
|
|
200
200
|
### Çalışma Alanı Ajan Yolu:
|
|
201
|
-
👉 `[proje-kök-dizini]/.
|
|
201
|
+
👉 `[proje-kök-dizini]/.enderun/agents/{agent_name}.md`
|
|
202
202
|
|
|
203
203
|
### Ajan Ordusuna Genel Bakış (v1.0 - 12 Uzman Ajan):
|
|
204
204
|
|
|
@@ -226,7 +226,7 @@ Enderun Ordusu'ndaki her ajan, kendilerine ait kuralları, izin verilen dizinler
|
|
|
226
226
|
### 📂 1. Kapsamlı Klasör ve Dosya Yapısı Analizi
|
|
227
227
|
|
|
228
228
|
* **🧠 Çekirdek Komuta Klasörü (`.enderun/`):**
|
|
229
|
-
* Ajanların şablon kaynak dosyalarının yer aldığı ve hedef projede `.
|
|
229
|
+
* Ajanların şablon kaynak dosyalarının yer aldığı ve hedef projede `.enderun/` (veya `.claude/` / `.cursor/`) olarak yeniden adlandırılan ana zeka merkezidir.
|
|
230
230
|
* **`agents/` (Ajan Tanımları & SOP'lar)**: 12 uzman ajanın davranış kurallarını barındırır. Her ajanın altında bir `agent.json` ve prompt/SOP dosyaları (`prompt.md`) bulunur. Durum makinesi şeması `schema/agent-lifecycle-schema.json` ile yönetilir.
|
|
231
231
|
* **`knowledge/` (Bilgi Bankası)**: Projenin anayasasını, sıfır UI kütüphanesi politikasını ve veri tabanı/kod standartlarını içeren 26 adet Markdown kılavuzunu barındırır. `corporate-governance/` alt klasöründe onay mekanizmaları, branded types hukuku ve audit loglama standartları gibi kurumsal düzeydeki 17 katı yönetişim kılavuzu yer alır.
|
|
232
232
|
* **`memory-graph/` (Bellek Grafiği)**: Ajanların etkileşim ağını (`graph.json`), ortak paylaştıkları doğruları (`shared-facts.json`) ve her bir ajanın yerel bağlam belleklerini (`agent-contexts/`) saklar.
|
|
@@ -3,30 +3,55 @@
|
|
|
3
3
|
import fs from "fs";
|
|
4
4
|
import path from "path";
|
|
5
5
|
|
|
6
|
-
const
|
|
7
|
-
const
|
|
6
|
+
const frameworkDir = fs.existsSync("./.enderun") ? "./.enderun" : "./.gemini";
|
|
7
|
+
const AGENTS_DIR = path.resolve(frameworkDir, "agents");
|
|
8
|
+
const SCHEMA_PATH = path.resolve(frameworkDir, "agents/agent_army_schema.json");
|
|
8
9
|
|
|
9
|
-
console.log(
|
|
10
|
+
console.log(`🛡️ STARTING AUTOMATED AGENT ARMY VALIDATION (${frameworkDir})...`);
|
|
10
11
|
|
|
11
12
|
try {
|
|
12
13
|
const schema = JSON.parse(fs.readFileSync(SCHEMA_PATH, "utf8"));
|
|
13
14
|
const requiredKeys = schema.required;
|
|
14
|
-
const
|
|
15
|
+
const files = fs.readdirSync(AGENTS_DIR);
|
|
15
16
|
let totalFailed = 0;
|
|
16
17
|
|
|
17
18
|
console.log("--------------------------------------------------");
|
|
18
19
|
console.log("| Agent ID | Status | Score | Category |");
|
|
19
20
|
console.log("--------------------------------------------------");
|
|
20
21
|
|
|
21
|
-
for (const
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
for (const fileName of files) {
|
|
23
|
+
if (!fileName.endsWith(".md")) continue;
|
|
24
|
+
const filePath = path.join(AGENTS_DIR, fileName);
|
|
25
|
+
const content = fs.readFileSync(filePath, "utf8");
|
|
26
|
+
|
|
27
|
+
// Simple YAML frontmatter parser
|
|
28
|
+
const match = content.match(/^---\n([\s\S]*?)\n---/);
|
|
29
|
+
if (!match) {
|
|
30
|
+
console.log(`| ${fileName.padEnd(9)} | ❌ NO YAML | ----- | ---------------- |`);
|
|
31
|
+
totalFailed++;
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const yamlContent = match[1];
|
|
36
|
+
const agent = {};
|
|
37
|
+
yamlContent.split("\n").forEach(line => {
|
|
38
|
+
const [key, ...valParts] = line.split(":");
|
|
39
|
+
if (key && valParts.length > 0) {
|
|
40
|
+
let val = valParts.join(":").trim();
|
|
41
|
+
// Clean quotes and handle numbers
|
|
42
|
+
val = val.replace(/^['"]|['"]$/g, "");
|
|
43
|
+
if (!isNaN(val) && val !== "") {
|
|
44
|
+
agent[key.trim()] = Number(val);
|
|
45
|
+
} else {
|
|
46
|
+
agent[key.trim()] = val;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
});
|
|
24
50
|
|
|
25
|
-
const agent = JSON.parse(fs.readFileSync(agentJsonPath, "utf8"));
|
|
26
51
|
const missing = requiredKeys.filter(k => agent[k] === undefined);
|
|
27
52
|
|
|
28
53
|
if (missing.length > 0) {
|
|
29
|
-
console.log(`| ${
|
|
54
|
+
console.log(`| ${fileName.replace(".md", "").padEnd(9)} | ❌ FAILED | ----- | ${`Missing: ${missing.join(",")}`.slice(0, 16)} |`);
|
|
30
55
|
totalFailed++;
|
|
31
56
|
} else {
|
|
32
57
|
console.log(`| ${agent.name.padEnd(9)} | ✅ PASSED | ${String(agent.capability).padEnd(5)} | ${agent.role.substring(0,14).padEnd(14)} |`);
|
package/docs/getting-started.md
CHANGED
|
@@ -70,7 +70,7 @@ npx agent-enderun init
|
|
|
70
70
|
npx agent-enderun init gemini
|
|
71
71
|
```
|
|
72
72
|
|
|
73
|
-
This creates the `.
|
|
73
|
+
This creates the `.enderun/` runtime folder + `gemini.md` shim at the root for Gemini CLI users.
|
|
74
74
|
|
|
75
75
|
Other legacy adapters (`claude`, `cursor`, `codex`) may still work for editor-specific workflows.
|
|
76
76
|
|
|
@@ -136,7 +136,7 @@ Write your project's goals, business requirements, and primary features here.
|
|
|
136
136
|
|
|
137
137
|
### 4.3 `.enderun/PROJECT_MEMORY.md`
|
|
138
138
|
|
|
139
|
-
Automatically created during initial setup inside `.
|
|
139
|
+
Automatically created during initial setup inside `.enderun/PROJECT_MEMORY.md`. The Gemini adapter uses the `.enderun/` runtime folder.
|
|
140
140
|
|
|
141
141
|
---
|
|
142
142
|
|
package/docs/roadmap.md
CHANGED
|
@@ -16,7 +16,7 @@ This document outlines the development roadmap for the Agent Enderun framework *
|
|
|
16
16
|
- **Version:** v0.6.6 (ready for npm release)
|
|
17
17
|
- **System Health:** 🟢 GREEN
|
|
18
18
|
- **Key Accomplishments:**
|
|
19
|
-
- Only Gemini adapter supported (installs to .
|
|
19
|
+
- Only Gemini adapter supported (installs to .enderun/)
|
|
20
20
|
- Antigravity adapter and all related code fully removed
|
|
21
21
|
- Lint technical debt resolved (reduced from 43 to 0 issues)
|
|
22
22
|
- Published `docs/getting-started.md` guide
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Governance Tools - MCP Tools for enforcing corporate governance standards
|
|
3
3
|
*
|
|
4
|
-
* These tools bridge the .
|
|
4
|
+
* These tools bridge the .enderun/knowledge/corporate-governance/ knowledge base
|
|
5
5
|
* with actual code-level compliance verification.
|
|
6
6
|
*
|
|
7
7
|
* Philosophy: We do not just document standards — we actively verify them.
|
|
@@ -10,7 +10,7 @@ const getPackageVersion = (): string => {
|
|
|
10
10
|
const pkgPath = path.join(__dirname, "../package.json");
|
|
11
11
|
if (fs.existsSync(pkgPath)) {
|
|
12
12
|
const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf-8"));
|
|
13
|
-
return pkg.version || "0.
|
|
13
|
+
return pkg.version || "0.8.2";
|
|
14
14
|
}
|
|
15
15
|
} catch {
|
|
16
16
|
// fallback
|
package/gemini.md
CHANGED
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
This file is the entry point when using Agent Enderun with Gemini CLI.
|
|
4
4
|
|
|
5
|
-
The framework installs into the `.
|
|
5
|
+
The framework installs into the `.enderun/` folder for Gemini users.
|
|
6
6
|
|
|
7
7
|
### Primary Constitution
|
|
8
8
|
All governance rules, agent checklists, and project memory live here:
|
|
9
9
|
|
|
10
|
-
👉 **[.
|
|
10
|
+
👉 **[.enderun/ENDERUN.md](.enderun/ENDERUN.md)**
|
|
11
11
|
|
|
12
12
|
### 🤖 Agent Directive (Gemini CLI users)
|
|
13
13
|
You are operating under the Agent Enderun governance framework.
|
|
14
14
|
|
|
15
15
|
At the **start of every session**, before any work:
|
|
16
|
-
1. Read `.
|
|
17
|
-
2. Read the relevant agent definition under `.
|
|
16
|
+
1. Read `.enderun/PROJECT_MEMORY.md` to restore state, active Trace ID, and history.
|
|
17
|
+
2. Read the relevant agent definition under `.enderun/agents/{agent}.md` (especially `@manager`).
|
|
18
18
|
|
|
19
|
-
All paths and references inside `.
|
|
19
|
+
All paths and references inside `.enderun/` use the Enderun adapter structure. No migration to other CLIs is required.
|
package/package.json
CHANGED
package/src/cli/index.ts
CHANGED
|
@@ -23,6 +23,12 @@ function getPackageVersion() {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
function getFrameworkDir() {
|
|
26
|
+
const candidates = [".enderun", ".gemini", ".cursor"];
|
|
27
|
+
for (const dir of candidates) {
|
|
28
|
+
if (fs.existsSync(path.join(targetDir, dir))) {
|
|
29
|
+
return dir;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
26
32
|
return ".gemini";
|
|
27
33
|
}
|
|
28
34
|
|
|
@@ -2125,7 +2131,7 @@ async function main() {
|
|
|
2125
2131
|
🤖 Agent Enderun CLI (v${FRAMEWORK_VERSION})
|
|
2126
2132
|
|
|
2127
2133
|
Available Commands:
|
|
2128
|
-
init [adapter] Initialize (gemini only - installs to .
|
|
2134
|
+
init [adapter] Initialize (gemini only - installs to .enderun/)
|
|
2129
2135
|
create-app <idea> Generate a full-stack starter from natural language
|
|
2130
2136
|
check Full health check
|
|
2131
2137
|
check:security Run security audit scan
|
|
@@ -2140,7 +2146,7 @@ Available Commands:
|
|
|
2140
2146
|
version Show version information
|
|
2141
2147
|
|
|
2142
2148
|
Supported adapter:
|
|
2143
|
-
- gemini → Creates .
|
|
2149
|
+
- gemini → Creates .enderun/ + gemini.md for Gemini CLI users
|
|
2144
2150
|
|
|
2145
2151
|
Example:
|
|
2146
2152
|
agent-enderun init
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@analyst",
|
|
3
|
-
"capability": 9.6,
|
|
4
|
-
"role": "Verification & QA",
|
|
5
|
-
"specialization": "Vitest/Cypress, lint verification, schema/contract checks, high-risk compliance auditing, governance enforcement",
|
|
6
|
-
"rules": [
|
|
7
|
-
"Run full verification (lint, typecheck, contract drift, branded types, high-risk patterns) before any work is considered complete.",
|
|
8
|
-
"Never implement features — only verify and report violations with Trace ID.",
|
|
9
|
-
"Update governance logs and PROJECT_MEMORY on every verification run."
|
|
10
|
-
],
|
|
11
|
-
"permittedDirectories": [
|
|
12
|
-
"{{FRAMEWORK_DIR}}/",
|
|
13
|
-
"apps/",
|
|
14
|
-
"framework-mcp/src/tools/"
|
|
15
|
-
],
|
|
16
|
-
"hermesChannels": ["@analyst->@manager", "@analyst->@orchestrator"],
|
|
17
|
-
"promptFile": "prompt.md",
|
|
18
|
-
"tags": ["specialist"],
|
|
19
|
-
"stateMachine": {
|
|
20
|
-
"schemaRef": "../schema/agent-lifecycle-schema.json"
|
|
21
|
-
},
|
|
22
|
-
"checklists": {}
|
|
23
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@backend",
|
|
3
|
-
"capability": 9.2,
|
|
4
|
-
"role": "Domain Logic & Databases",
|
|
5
|
-
"specialization": "NestJS/Express/Fastify, database migrations, Branded Types, contract definition, high-risk endpoint governance",
|
|
6
|
-
"rules": [
|
|
7
|
-
"Never implement UI or frontend logic.",
|
|
8
|
-
"Define and version all shared contracts and branded types before any consumer code is written.",
|
|
9
|
-
"All high-risk endpoints must carry isHighRiskAdminAction + managerApproval validation.",
|
|
10
|
-
"Use only branded ID types. No plain strings for identifiers.",
|
|
11
|
-
"Log every contract change and migration with Trace ID."
|
|
12
|
-
],
|
|
13
|
-
"permittedDirectories": [
|
|
14
|
-
"apps/backend/src/",
|
|
15
|
-
"{{FRAMEWORK_DIR}}/knowledge/"
|
|
16
|
-
],
|
|
17
|
-
"hermesChannels": ["@backend->@manager", "@backend->@analyst", "@backend->@orchestrator"],
|
|
18
|
-
"promptFile": "prompt.md",
|
|
19
|
-
"tags": ["specialist"],
|
|
20
|
-
"stateMachine": {
|
|
21
|
-
"schemaRef": "../schema/agent-lifecycle-schema.json"
|
|
22
|
-
},
|
|
23
|
-
"checklists": {}
|
|
24
|
-
}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@devops",
|
|
3
|
-
"capability": 9.0,
|
|
4
|
-
"role": "Infrastructure & Deployment Orchestration",
|
|
5
|
-
"specialization": "CI/CD pipeline design, environment management (dev/staging/prod), Docker/Compose configuration, deployment strategies (blue-green, canary), rollback protocols, monitoring & alerting setup, secrets management",
|
|
6
|
-
"rules": [
|
|
7
|
-
"NEVER deploy to production without both @security and @qa gate approvals. This is an absolute, non-negotiable rule.",
|
|
8
|
-
"No Docker policy: Unless @manager explicitly overrides, prefer native Node.js execution over Docker containers for local development.",
|
|
9
|
-
"Environment parity: dev, staging, and prod environments must use identical configurations except for secrets and hostnames.",
|
|
10
|
-
"Secrets must NEVER be hardcoded. Always use environment variables and a secrets management strategy (.env files for local, platform secrets for production).",
|
|
11
|
-
"Rollback plans must be documented before any production deploy. If no rollback plan exists, the deploy is BLOCKED.",
|
|
12
|
-
"All CI/CD pipeline definitions must be version-controlled alongside the application code.",
|
|
13
|
-
"Health checks must be defined for every deployed service. A service without a health endpoint is not deployable.",
|
|
14
|
-
"Log every deployment to {{FRAMEWORK_DIR}}/logs/devops.json with environment, version, timestamp, and gate approvals."
|
|
15
|
-
],
|
|
16
|
-
"permittedDirectories": [
|
|
17
|
-
"{{FRAMEWORK_DIR}}/",
|
|
18
|
-
"apps/backend/",
|
|
19
|
-
"apps/web/",
|
|
20
|
-
"docs/",
|
|
21
|
-
".github/workflows/",
|
|
22
|
-
"docker-compose*.yml"
|
|
23
|
-
],
|
|
24
|
-
"hermesChannels": [
|
|
25
|
-
"@devops->@manager",
|
|
26
|
-
"@devops->@git",
|
|
27
|
-
"@devops->@security",
|
|
28
|
-
"@devops->@qa",
|
|
29
|
-
"@devops->@orchestrator"
|
|
30
|
-
],
|
|
31
|
-
"promptFile": "prompt.md",
|
|
32
|
-
"tags": ["specialist", "infrastructure"],
|
|
33
|
-
"stateMachine": {
|
|
34
|
-
"schemaRef": "../schema/agent-lifecycle-schema.json"
|
|
35
|
-
},
|
|
36
|
-
"checklists": {
|
|
37
|
-
"beforeEveryDeploy": [
|
|
38
|
-
"Confirm @security gate: PASSED",
|
|
39
|
-
"Confirm @qa gate: PASSED",
|
|
40
|
-
"Verify rollback plan is documented",
|
|
41
|
-
"Confirm target environment (dev / staging / prod)",
|
|
42
|
-
"Verify all secrets are in environment variables — no hardcoded values",
|
|
43
|
-
"Check health endpoint is defined for all services"
|
|
44
|
-
],
|
|
45
|
-
"afterEveryDeploy": [
|
|
46
|
-
"Run health check on deployed services",
|
|
47
|
-
"Confirm monitoring is active and receiving metrics",
|
|
48
|
-
"Write deploy log to {{FRAMEWORK_DIR}}/logs/devops.json",
|
|
49
|
-
"log_agent_action via MCP",
|
|
50
|
-
"Notify @manager of deployment status"
|
|
51
|
-
],
|
|
52
|
-
"rollbackProtocol": [
|
|
53
|
-
"Identify previous stable version tag",
|
|
54
|
-
"Notify @manager and @orchestrator of rollback initiation",
|
|
55
|
-
"Execute rollback procedure",
|
|
56
|
-
"Run health checks on reverted services",
|
|
57
|
-
"Write rollback log to {{FRAMEWORK_DIR}}/logs/devops.json",
|
|
58
|
-
"Conduct post-mortem with @manager"
|
|
59
|
-
]
|
|
60
|
-
}
|
|
61
|
-
}
|