agent-enderun 0.4.2 → 0.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.enderun/ENDERUN.md +1 -1
- package/.enderun/PROJECT_MEMORY.md +9 -3
- package/.enderun/agents/analyst.md +2 -2
- package/.enderun/agents/backend.md +2 -2
- package/.enderun/agents/explorer.md +2 -2
- package/.enderun/agents/frontend.md +2 -2
- package/.enderun/agents/git.md +2 -2
- package/.enderun/agents/manager.md +3 -3
- package/.enderun/agents/mobile.md +2 -2
- package/.enderun/agents/native.md +2 -2
- package/README.md +1 -1
- package/bin/cli.js +4 -4
- package/claude.md +7 -0
- package/codex.md +7 -0
- package/cursor.md +7 -0
- package/gemini-extension.json +5 -0
- package/gemini.md +7 -0
- package/package.json +8 -3
- package/packages/framework-mcp/dist/tools/security.js +36 -21
- package/packages/framework-mcp/package.json +1 -1
- package/packages/shared-types/package.json +1 -1
package/.enderun/ENDERUN.md
CHANGED
|
@@ -32,7 +32,7 @@ This file is the Single Source of Truth (SSOT) and the persistent memory of the
|
|
|
32
32
|
|
|
33
33
|
| Date | Decision | Rationale | Agent |
|
|
34
34
|
| :--- | :--- | :--- | :--- |
|
|
35
|
-
| 2026-05-12 | Framework Unified to v0.4.
|
|
35
|
+
| 2026-05-12 | Framework Unified to v0.4.5 | Inclusion of missing adapter files and installation fix | @manager |
|
|
36
36
|
| 2026-05-09 | Project Initialized | Framework setup via CLI | @manager |
|
|
37
37
|
|
|
38
38
|
## DELIVERABLES
|
|
@@ -49,11 +49,17 @@ This file is the Single Source of Truth (SSOT) and the persistent memory of the
|
|
|
49
49
|
|
|
50
50
|
## HISTORY (Persistent Memory)
|
|
51
51
|
|
|
52
|
-
### 2026-05-12 — The
|
|
52
|
+
### 2026-05-12 — The Installation Fix & v0.4.5 Release
|
|
53
|
+
+
|
|
54
|
+
+- **Agent:** @manager
|
|
55
|
+
+- **Trace ID:** 01KR6EJA6GG3RPS849097KS37Q
|
|
56
|
+
+- **Action:** Bumped version to v0.4.5. Fixed a critical issue where adapter files (gemini.md, cursor.md, claude.md, codex.md) were excluded from the npm package. Verified the fix via local and npx-simulated tests. Cleaned up logs and temporary test files.
|
|
57
|
+
+
|
|
58
|
+
+### 2026-05-12 — The Unified Milestone & v0.4.4 Release
|
|
53
59
|
|
|
54
60
|
- **Agent:** @manager
|
|
55
61
|
- **Trace ID:** 01KR6EJA6GG3RPS849097KS37Q
|
|
56
|
-
- **Action:** Full framework synchronization to v0.4.
|
|
62
|
+
- **Action:** Full framework synchronization to v0.4.4. Unified versioning across all core packages, specialist agents, and the supreme law. Consolidated history for a clean production debut.
|
|
57
63
|
|
|
58
64
|
### 2026-05-12 — Pure Start & v0.4.1 Release
|
|
59
65
|
|
|
@@ -3,7 +3,7 @@ name: analyst
|
|
|
3
3
|
description: "Project memory, QA gate, and documentation specialist. Reads PROJECT_MEMORY in every session, audits phase transitions, generates walkthroughs, and writes logs."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Project Analyst & QA Gate — v0.4.
|
|
6
|
+
# Project Analyst & QA Gate — v0.4.4 Master
|
|
7
7
|
|
|
8
8
|
**Role:** Maintain project memory, serve as a quality gate, and manage documentation. The following protocols are automatically applied in every task.
|
|
9
9
|
|
|
@@ -199,7 +199,7 @@ Use the `log_agent_action` tool to record your activities securely.
|
|
|
199
199
|
|
|
200
200
|
---
|
|
201
201
|
|
|
202
|
-
**Agent Completion Report** (v0.4.
|
|
202
|
+
**Agent Completion Report** (v0.4.4)
|
|
203
203
|
|
|
204
204
|
- Mock used? [ ] No / [ ] Yes
|
|
205
205
|
- shared-types changed? [ ] No / [ ] Yes
|
|
@@ -3,7 +3,7 @@ name: backend
|
|
|
3
3
|
description: "Backend Architect. Expert in Node.js, Fastify, Kysely, and PostgreSQL. Leader of Contract and Database. Automatically applies backend-architecture standards in every task."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Backend Architect — v0.4.
|
|
6
|
+
# Backend Architect — v0.4.4 Master
|
|
7
7
|
|
|
8
8
|
**Role:** Build a secure, high-performance, and consistent server architecture. All the following standards are automatically applied in every task — no need for the user to specify them separately.
|
|
9
9
|
|
|
@@ -242,7 +242,7 @@ When `shared-types` or API documentation changes:
|
|
|
242
242
|
|
|
243
243
|
---
|
|
244
244
|
|
|
245
|
-
**Agent Completion Report** (v0.4.
|
|
245
|
+
**Agent Completion Report** (v0.4.4)
|
|
246
246
|
- Mock used? [ ] No / [ ] Yes
|
|
247
247
|
- shared-types changed? [ ] No / [ ] Yes → contract.version updated
|
|
248
248
|
- **API contract written? [ ] No / [ ] Yes → .enderun/docs/api/[domain].md**
|
|
@@ -3,7 +3,7 @@ name: explorer
|
|
|
3
3
|
description: "Codebase Research & Dependency Specialist. Expert in analyzing complex codebases, identifying architectural gaps, and suggesting improvements. Automatically provides context in every research task."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Codebase Explorer — v0.4.
|
|
6
|
+
# Codebase Explorer — v0.4.4 Master
|
|
7
7
|
|
|
8
8
|
**Role:** Analyze the codebase, map architectures, and understand system-wide dependencies. Your primary duty is to provide context to other agents.
|
|
9
9
|
|
|
@@ -90,7 +90,7 @@ Every research report must include:
|
|
|
90
90
|
|
|
91
91
|
---
|
|
92
92
|
|
|
93
|
-
**Agent Completion Report** (v0.4.
|
|
93
|
+
**Agent Completion Report** (v0.4.4)
|
|
94
94
|
|
|
95
95
|
- Mock used? [ ] No / [ ] Yes
|
|
96
96
|
- Codebase searched? [ ] No / [ ] Yes
|
|
@@ -3,7 +3,7 @@ name: frontend
|
|
|
3
3
|
description: "UI/UX & Frontend Architect. Expert in React 19, Vite, Zustand, and Panda CSS. Fluid & Modern design specialist. Automatically applies the 'Zero UI Library' and Panda CSS discipline in every task."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Frontend Architect — v0.4.
|
|
6
|
+
# Frontend Architect — v0.4.4 Master
|
|
7
7
|
|
|
8
8
|
**Role:** Build original, high-performance, and responsive user interfaces. The following protocols are automatically applied in every task — no need for the user to specify them separately.
|
|
9
9
|
|
|
@@ -156,7 +156,7 @@ Frontend never creates its own types for backend data.
|
|
|
156
156
|
|
|
157
157
|
---
|
|
158
158
|
|
|
159
|
-
**Agent Completion Report** (v0.4.
|
|
159
|
+
**Agent Completion Report** (v0.4.4)
|
|
160
160
|
- Mock used? [ ] No / [ ] Yes
|
|
161
161
|
- shared-types imported? [ ] No / [ ] Yes
|
|
162
162
|
- **API contract read? [ ] No / [ ] Yes → .enderun/docs/api/**
|
package/.enderun/agents/git.md
CHANGED
|
@@ -3,7 +3,7 @@ name: git
|
|
|
3
3
|
description: "Version Control Specialist. Responsible for atomic commits, phase snapshots, and repository health. Orchestrated by @manager to maintain 100% traceability."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Version Control Specialist (@git) — v0.4.
|
|
6
|
+
# Version Control Specialist (@git) — v0.4.4 Master
|
|
7
7
|
|
|
8
8
|
You are the @git agent, responsible for the professional management of the project's repository. Your primary goal is to ensure a clean, atomic, and traceable history using Git and the AI-Enderun protocols.
|
|
9
9
|
|
|
@@ -90,7 +90,7 @@ If conflicts arise during integration, @git is responsible for performing a clea
|
|
|
90
90
|
|
|
91
91
|
> Every response MUST end with the **Agent Completion Report**.
|
|
92
92
|
|
|
93
|
-
### Agent Completion Report (v0.4.
|
|
93
|
+
### Agent Completion Report (v0.4.4)
|
|
94
94
|
- Trace ID: [ULID]
|
|
95
95
|
- Atomic Commits made? [ ] No / [ ] Yes
|
|
96
96
|
- Phase Snapshot created? [ ] No / [ ] Yes
|
|
@@ -3,7 +3,7 @@ name: manager
|
|
|
3
3
|
description: "CTO & Controller. Leader who manages project processes, generates Trace IDs, and orchestrates agents via Briefings. Responsible for Git Orchestration via the @git specialist. Reads .enderun/ENDERUN.md and .enderun/PROJECT_MEMORY.md in every session, validates the phase, and assigns agents."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Manager (CTO & Controller) — v0.4.
|
|
6
|
+
# Manager (CTO & Controller) — v0.4.4 Master
|
|
7
7
|
|
|
8
8
|
**Role:** Enforce all framework rules without compromise and direct agents to the correct tasks. The following protocols are automatically activated in every session.
|
|
9
9
|
|
|
@@ -68,7 +68,7 @@ Trace ID: 01H... (26-character ULID)
|
|
|
68
68
|
|
|
69
69
|
---
|
|
70
70
|
|
|
71
|
-
## Briefing Template v0.4.
|
|
71
|
+
## Briefing Template v0.4.4 (Mandatory in Every Agent Directive)
|
|
72
72
|
|
|
73
73
|
```
|
|
74
74
|
## Agent Directive
|
|
@@ -165,7 +165,7 @@ graph TD
|
|
|
165
165
|
|
|
166
166
|
---
|
|
167
167
|
|
|
168
|
-
**Agent Completion Report** (v0.4.
|
|
168
|
+
**Agent Completion Report** (v0.4.4)
|
|
169
169
|
|
|
170
170
|
- Mock used? [ ] No / [ ] Yes
|
|
171
171
|
- shared-types changed? [ ] No / [ ] Yes
|
|
@@ -3,7 +3,7 @@ name: mobile
|
|
|
3
3
|
description: "Mobile Application Expert. Specialist in React Native and Expo. Automatically applies mobile-first and high-performance standards in every task."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Mobile Architect — v0.4.
|
|
6
|
+
# Mobile Architect — v0.4.4 Master
|
|
7
7
|
|
|
8
8
|
**Role:** Build high-performance mobile applications using React Native. Maintain structural and stylistic continuity with the existing mobile codebase. All the following standards are automatically applied in every task.
|
|
9
9
|
|
|
@@ -51,7 +51,7 @@ Never start coding before understanding the current state of the components and
|
|
|
51
51
|
|
|
52
52
|
---
|
|
53
53
|
|
|
54
|
-
**Agent Completion Report** (v0.4.
|
|
54
|
+
**Agent Completion Report** (v0.4.4)
|
|
55
55
|
|
|
56
56
|
- Mock used? [ ] No / [ ] Yes
|
|
57
57
|
- shared-types imported? [ ] No / [ ] Yes
|
|
@@ -3,7 +3,7 @@ name: native
|
|
|
3
3
|
description: "Native Application Expert. Specialist in Rust, Tauri, and Electron. Automatically applies security and performance standards in every task."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Native Desktop Architect — v0.4.
|
|
6
|
+
# Native Desktop Architect — v0.4.4 Master
|
|
7
7
|
|
|
8
8
|
**Role:** Build secure and efficient desktop applications using Tauri or Electron. Ensure procedural continuity across the native codebase.
|
|
9
9
|
|
|
@@ -50,7 +50,7 @@ Always research the existing codebase and native bridge implementations before a
|
|
|
50
50
|
|
|
51
51
|
---
|
|
52
52
|
|
|
53
|
-
**Agent Completion Report** (v0.4.
|
|
53
|
+
**Agent Completion Report** (v0.4.4)
|
|
54
54
|
|
|
55
55
|
- Mock used? [ ] No / [ ] Yes
|
|
56
56
|
- shared-types imported? [ ] No / [ ] Yes
|
package/README.md
CHANGED
package/bin/cli.js
CHANGED
|
@@ -325,10 +325,10 @@ function getPackageManager() {
|
|
|
325
325
|
*/
|
|
326
326
|
async function initCommand(selectedAdapter) {
|
|
327
327
|
const ADAPTERS = {
|
|
328
|
-
gemini: ["
|
|
329
|
-
claude: ["
|
|
330
|
-
cursor: ["
|
|
331
|
-
codex: ["
|
|
328
|
+
gemini: ["gemini.md", "gemini-extension.json"],
|
|
329
|
+
claude: ["claude.md"],
|
|
330
|
+
cursor: ["cursor.md"],
|
|
331
|
+
codex: ["codex.md"],
|
|
332
332
|
};
|
|
333
333
|
|
|
334
334
|
const targetBase = selectedAdapter ? `.${selectedAdapter}` : ".enderun";
|
package/claude.md
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Agent Enderun — Claude Adapter
|
|
2
|
+
|
|
3
|
+
This file is the entry point for Claude. The project's "Supreme Law" and all instructions are located in the following file:
|
|
4
|
+
|
|
5
|
+
👉 **[{{FRAMEWORK_DIR}}/ENDERUN.md]({{FRAMEWORK_DIR}}/ENDERUN.md)**
|
|
6
|
+
|
|
7
|
+
Please read that file thoroughly before taking any action.
|
package/codex.md
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Agent Enderun — Codex Adapter
|
|
2
|
+
|
|
3
|
+
This file is the entry point for Codex. The project's "Supreme Law" and all instructions are located in the following file:
|
|
4
|
+
|
|
5
|
+
👉 **[{{FRAMEWORK_DIR}}/ENDERUN.md]({{FRAMEWORK_DIR}}/ENDERUN.md)**
|
|
6
|
+
|
|
7
|
+
Please read that file thoroughly before taking any action.
|
package/cursor.md
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Agent Enderun — Cursor Adapter
|
|
2
|
+
|
|
3
|
+
This file is the entry point for Cursor. The project's "Supreme Law" and all instructions are located in the following file:
|
|
4
|
+
|
|
5
|
+
👉 **[{{FRAMEWORK_DIR}}/ENDERUN.md]({{FRAMEWORK_DIR}}/ENDERUN.md)**
|
|
6
|
+
|
|
7
|
+
Please read that file thoroughly before taking any action.
|
package/gemini.md
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Agent Enderun — Gemini Adapter
|
|
2
|
+
|
|
3
|
+
This file is the entry point for Gemini. The project's "Supreme Law" and all instructions are located in the following file:
|
|
4
|
+
|
|
5
|
+
👉 **[{{FRAMEWORK_DIR}}/ENDERUN.md]({{FRAMEWORK_DIR}}/ENDERUN.md)**
|
|
6
|
+
|
|
7
|
+
Please read that file thoroughly before taking any action.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-enderun",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.5",
|
|
4
4
|
"description": "The Supreme AI Governance & Orchestration Framework for Enterprise Development",
|
|
5
5
|
"author": "Yusuf BEKAR",
|
|
6
6
|
"license": "MIT",
|
|
@@ -46,7 +46,12 @@
|
|
|
46
46
|
"mcp.json",
|
|
47
47
|
".env.example",
|
|
48
48
|
"tsconfig.json",
|
|
49
|
-
"panda.config.ts"
|
|
49
|
+
"panda.config.ts",
|
|
50
|
+
"gemini.md",
|
|
51
|
+
"gemini-extension.json",
|
|
52
|
+
"cursor.md",
|
|
53
|
+
"claude.md",
|
|
54
|
+
"codex.md"
|
|
50
55
|
],
|
|
51
56
|
"scripts": {
|
|
52
57
|
"enderun:build": "npm run build --workspaces --if-present",
|
|
@@ -71,7 +76,7 @@
|
|
|
71
76
|
"concurrently": "^9.1.2"
|
|
72
77
|
},
|
|
73
78
|
"enderun": {
|
|
74
|
-
"version": "0.4.
|
|
79
|
+
"version": "0.4.5",
|
|
75
80
|
"initializedAt": "2026-05-09T13:24:27.472Z"
|
|
76
81
|
}
|
|
77
82
|
}
|
|
@@ -88,32 +88,47 @@ export const securityHandlers = {
|
|
|
88
88
|
try {
|
|
89
89
|
const safePath = resolveSafePath(projectRoot, parsed.data.path);
|
|
90
90
|
const violations = [];
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
const
|
|
94
|
-
|
|
91
|
+
const forbiddenLibraries = ["@shadcn", "mui", "@chakra-ui", "antd", "bootstrap", "tailwindcss"];
|
|
92
|
+
if (fs.existsSync(safePath) && fs.lstatSync(safePath).isDirectory()) {
|
|
93
|
+
const tsProject = new Project({ compilerOptions: { allowJs: true } });
|
|
94
|
+
tsProject.addSourceFilesAtPaths(path.join(safePath, "**/*.{ts,tsx,js,jsx}"));
|
|
95
|
+
for (const sourceFile of tsProject.getSourceFiles()) {
|
|
96
|
+
const relativePath = path.relative(projectRoot, sourceFile.getFilePath());
|
|
97
|
+
if (relativePath.includes("node_modules") || relativePath.includes("dist"))
|
|
98
|
+
continue;
|
|
99
|
+
// AST-based Import Check for Zero UI Policy
|
|
100
|
+
sourceFile.getImportDeclarations().forEach(imp => {
|
|
101
|
+
const moduleValue = imp.getModuleSpecifierValue();
|
|
102
|
+
if (forbiddenLibraries.some(lib => moduleValue.includes(lib))) {
|
|
103
|
+
violations.push(`${relativePath}: AST Violation - Zero UI Library Policy (imported '${moduleValue}')`);
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
// AST-based String ID Check for Branded Types Law
|
|
107
|
+
sourceFile.getInterfaces().forEach(iface => {
|
|
108
|
+
const idProp = iface.getProperty("id");
|
|
109
|
+
if (idProp && idProp.getType().isString() && !idProp.getType().getText().includes("Brand")) {
|
|
110
|
+
violations.push(`${relativePath}: AST Violation - Branded Types Law (interface '${iface.getName()}' uses plain string for ID)`);
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
const content = sourceFile.getFullText();
|
|
114
|
+
if (content.includes("console.log") && !relativePath.includes("cli.js")) {
|
|
115
|
+
violations.push(`${relativePath}: Text Violation - Logging Policy (found 'console.log')`);
|
|
116
|
+
}
|
|
117
|
+
if (content.includes("sql`")) {
|
|
118
|
+
violations.push(`${relativePath}: Text Violation - Potential Kysely Standards (found raw 'sql' tag)`);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
else if (fs.existsSync(safePath)) {
|
|
123
|
+
// Fallback for single files
|
|
124
|
+
const content = fs.readFileSync(safePath, "utf-8");
|
|
125
|
+
const relativePath = path.relative(projectRoot, safePath);
|
|
95
126
|
for (const lib of forbiddenLibraries) {
|
|
96
127
|
if (content.includes(lib))
|
|
97
128
|
violations.push(`${relativePath}: Violation of Zero UI Library Policy (found '${lib}')`);
|
|
98
129
|
}
|
|
99
|
-
if (content.includes("console.log") && !filePath.includes("cli.js") && !filePath.includes("node_modules")) {
|
|
100
|
-
violations.push(`${relativePath}: Violation of Logging Policy (found 'console.log', use proper logger)`);
|
|
101
|
-
}
|
|
102
|
-
if (content.includes("sql`") && !filePath.includes("node_modules")) {
|
|
103
|
-
violations.push(`${relativePath}: Potential Violation of Kysely Standards (found raw 'sql' tag)`);
|
|
104
|
-
}
|
|
105
|
-
if (filePath.endsWith(".ts") && !filePath.includes("shared-types") && !filePath.includes("node_modules")) {
|
|
106
|
-
if (content.match(/interface.*ID\s*:\s*string/))
|
|
107
|
-
violations.push(`${relativePath}: Violation of Branded Types Law (found ID typed as plain string)`);
|
|
108
|
-
}
|
|
109
|
-
};
|
|
110
|
-
if (fs.lstatSync(safePath).isDirectory()) {
|
|
111
|
-
collectFilesRecursively(safePath, new Set(["ts", "tsx", "js", "jsx"])).forEach(checkFile);
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
checkFile(safePath);
|
|
115
130
|
}
|
|
116
|
-
return { content: [{ type: "text", text: `### CONSTITUTION COMPLIANCE REPORT\n\n` + (violations.length > 0 ? `⚠️ **VIOLATIONS FOUND:**\n${violations.map(v => `- ${v}`).join("\n")}` : "✅ **ALL SYSTEMS COMPLIANT:**
|
|
131
|
+
return { content: [{ type: "text", text: `### CONSTITUTION COMPLIANCE REPORT\n\n` + (violations.length > 0 ? `⚠️ **VIOLATIONS FOUND:**\n${violations.map(v => `- ${v}`).join("\n")}` : "✅ **ALL SYSTEMS COMPLIANT:** AST and Regex scans passed. No rule violations detected.") }] };
|
|
117
132
|
}
|
|
118
133
|
catch (error) {
|
|
119
134
|
return { content: [{ type: "text", text: "Compliance analysis failed." }] };
|