agent-enderun 0.4.5 → 0.4.6

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.
@@ -1,4 +1,4 @@
1
- # Agent Enderun (v0.4.4)
1
+ # Agent Enderun (v0.4.6)
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)
@@ -12,14 +12,14 @@
12
12
  ---
13
13
 
14
14
  ## Constitution Status
15
- This file (`./gemini.md`) and the `.enderun/docs/` folder represent the "Supreme Law" of the project. All agents must read this file first in every session and strictly comply with its rules 100%.
15
+ This file (`./gemini.md`) and the `.enderun/docs/` folder represent the "Supreme Law" of the project. All agents must read this file first in every session and strictly comply with its rules 100%. All framework-specific documentation is stored within `.enderun/docs/`.
16
16
 
17
17
  ---
18
18
 
19
19
  ## STEP 0 — STARTUP (EVERY SESSION, NON-NEGOTIABLE)
20
20
 
21
21
  1. **Read ./gemini.md First:** Read and fully understand this file before taking any action.
22
- 2. **Check `.enderun/docs/` Folder:** Verify the existence of the `.enderun/docs/` folder in the project root.
22
+ 2. **Check `.enderun/docs/` Folder:** Verify the existence of the `.enderun/docs/` folder (located within the framework directory).
23
23
  3. **Absorb Context:** Read `.enderun/docs/tech-stack.md`. If it is empty, ask the user to fill it before proceeding.
24
24
  4. **Demand Context:** If the `.enderun/docs/` folder does not exist, ask the user for project context and target audience information before writing any code.
25
25
  5. Default Frontend: React 19 + Vite (SPA) + react-router-dom (User Preference)
package/ENDERUN.md CHANGED
@@ -1,4 +1,4 @@
1
- # Agent Enderun (v0.3.4)
1
+ # Agent Enderun (v0.4.6)
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)
@@ -12,14 +12,14 @@
12
12
  ---
13
13
 
14
14
  ## Constitution Status
15
- This file (`./{{ADAPTER}}.md`) and the `{{FRAMEWORK_DIR}}/docs/` folder represent the "Supreme Law" of the project. All agents must read this file first in every session and strictly comply with its rules 100%.
15
+ This file (`./{{ADAPTER}}.md`) and the `{{FRAMEWORK_DIR}}/docs/` folder represent the "Supreme Law" of the project. All agents must read this file first in every session and strictly comply with its rules 100%. All framework-specific documentation is stored within `{{FRAMEWORK_DIR}}/docs/`.
16
16
 
17
17
  ---
18
18
 
19
19
  ## STEP 0 — STARTUP (EVERY SESSION, NON-NEGOTIABLE)
20
20
 
21
21
  1. **Read ./{{ADAPTER}}.md First:** Read and fully understand this file before taking any action.
22
- 2. **Check `{{FRAMEWORK_DIR}}/docs/` Folder:** Verify the existence of the `{{FRAMEWORK_DIR}}/docs/` folder in the project root.
22
+ 2. **Check `{{FRAMEWORK_DIR}}/docs/` Folder:** Verify the existence of the `{{FRAMEWORK_DIR}}/docs/` folder (located within the framework directory).
23
23
  3. **Absorb Context:** Read `{{FRAMEWORK_DIR}}/docs/tech-stack.md`. If it is empty, ask the user to fill it before proceeding.
24
24
  4. **Demand Context:** If the `{{FRAMEWORK_DIR}}/docs/` folder does not exist, ask the user for project context and target audience information before writing any code.
25
25
  5. Default Frontend: React 19 + Vite (SPA) + react-router-dom (User Preference)
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # 🏛️ Agent Enderun — v0.4.5
1
+ # 🏛️ Agent Enderun — v0.4.6
2
2
 
3
3
  **The Supreme AI Governance & Orchestration Framework for Enterprise Development**
4
4
 
package/bin/cli.js CHANGED
@@ -453,8 +453,15 @@ async function initCommand(selectedAdapter) {
453
453
  const textExtensions = [".md", ".json", ".js", ".ts", ".txt", ""];
454
454
  if (textExtensions.includes(ext)) {
455
455
  let content = fs.readFileSync(src, "utf8");
456
+ let currentAdapter = selectedAdapter || "enderun";
457
+ if (item.endsWith(".md") && Object.keys(ADAPTERS).some(a => item.startsWith(a))) {
458
+ currentAdapter = Object.keys(ADAPTERS).find(a => item.startsWith(a));
459
+ } else if (item.endsWith("-extension.json")) {
460
+ currentAdapter = Object.keys(ADAPTERS).find(a => item.startsWith(a)) || currentAdapter;
461
+ }
462
+
456
463
  content = content.replace(/\{\{FRAMEWORK_DIR\}\}/g, targetBase);
457
- content = content.replace(/\{\{ADAPTER\}\}/g, selectedAdapter || "enderun");
464
+ content = content.replace(/\{\{ADAPTER\}\}/g, currentAdapter);
458
465
 
459
466
  if (ext === ".json") {
460
467
  try {
@@ -462,7 +469,7 @@ async function initCommand(selectedAdapter) {
462
469
  content = JSON.stringify(sanitizeJson(json, targetScope), null, 2);
463
470
  // Ensure variable replacement even inside JSON strings if any
464
471
  content = content.replace(/\{\{FRAMEWORK_DIR\}\}/g, targetBase);
465
- content = content.replace(/\{\{ADAPTER\}\}/g, selectedAdapter || "enderun");
472
+ content = content.replace(/\{\{ADAPTER\}\}/g, currentAdapter);
466
473
  } catch (e) {
467
474
  content = content.replace(/workspace:[^"'\s]*/g, "*");
468
475
  }
@@ -738,9 +745,14 @@ function copyDir(src, dest, skipSet = new Set(), nonDestructive = false, framewo
738
745
  content = content.replace(/workspace:[^"'\s]*/g, "*");
739
746
  }
740
747
 
741
- // Also replace ADAPTER
742
- const adapterName = frameworkDir.startsWith(".") ? frameworkDir.slice(1) : frameworkDir;
743
- content = content.replace(/\{\{ADAPTER\}\}/g, adapterName);
748
+ const frameworkBase = frameworkDir.startsWith(".") ? frameworkDir.slice(1) : frameworkDir;
749
+ let currentAdapter = frameworkBase;
750
+ if (entry.name.endsWith(".md") && [ "gemini", "claude", "cursor", "codex" ].some(a => entry.name.startsWith(a))) {
751
+ currentAdapter = [ "gemini", "claude", "cursor", "codex" ].find(a => entry.name.startsWith(a));
752
+ }
753
+
754
+ content = content.replace(/\{\{FRAMEWORK_DIR\}\}/g, frameworkDir);
755
+ content = content.replace(/\{\{ADAPTER\}\}/g, currentAdapter);
744
756
 
745
757
  fs.writeFileSync(destPath, content);
746
758
  } else {
package/claude.md CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  This file is the entry point for Claude. The project's "Supreme Law" and all instructions are located in the following file:
4
4
 
5
- 👉 **[{{FRAMEWORK_DIR}}/ENDERUN.md]({{FRAMEWORK_DIR}}/ENDERUN.md)**
5
+ 👉 **[.enderun/ENDERUN.md](.enderun/ENDERUN.md)**
6
6
 
7
7
  Please read that file thoroughly before taking any action.
package/codex.md CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  This file is the entry point for Codex. The project's "Supreme Law" and all instructions are located in the following file:
4
4
 
5
- 👉 **[{{FRAMEWORK_DIR}}/ENDERUN.md]({{FRAMEWORK_DIR}}/ENDERUN.md)**
5
+ 👉 **[.enderun/ENDERUN.md](.enderun/ENDERUN.md)**
6
6
 
7
7
  Please read that file thoroughly before taking any action.
package/cursor.md CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  This file is the entry point for Cursor. The project's "Supreme Law" and all instructions are located in the following file:
4
4
 
5
- 👉 **[{{FRAMEWORK_DIR}}/ENDERUN.md]({{FRAMEWORK_DIR}}/ENDERUN.md)**
5
+ 👉 **[.enderun/ENDERUN.md](.enderun/ENDERUN.md)**
6
6
 
7
7
  Please read that file thoroughly before taking any action.
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "Agent Enderun",
3
3
  "description": "Enterprise-grade AI orchestration framework for software teams.",
4
- "instructions": "{{FRAMEWORK_DIR}}/ENDERUN.md"
4
+ "instructions": ".enderun/ENDERUN.md"
5
5
  }
package/gemini.md CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  This file is the entry point for Gemini. The project's "Supreme Law" and all instructions are located in the following file:
4
4
 
5
- 👉 **[{{FRAMEWORK_DIR}}/ENDERUN.md]({{FRAMEWORK_DIR}}/ENDERUN.md)**
5
+ 👉 **[.enderun/ENDERUN.md](.enderun/ENDERUN.md)**
6
6
 
7
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.5",
3
+ "version": "0.4.6",
4
4
  "description": "The Supreme AI Governance & Orchestration Framework for Enterprise Development",
5
5
  "author": "Yusuf BEKAR",
6
6
  "license": "MIT",
@@ -76,7 +76,7 @@
76
76
  "concurrently": "^9.1.2"
77
77
  },
78
78
  "enderun": {
79
- "version": "0.4.5",
79
+ "version": "0.4.6",
80
80
  "initializedAt": "2026-05-09T13:24:27.472Z"
81
81
  }
82
82
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-enderun-mcp",
3
- "version": "0.4.5",
3
+ "version": "0.4.6",
4
4
  "description": "Enterprise-grade MCP Server for AI Agent Framework",
5
5
  "author": "Yusuf BEKAR",
6
6
  "license": "MIT",
@@ -1,7 +1,7 @@
1
1
  import path from "path";
2
2
  import fs from "fs";
3
3
 
4
- export const FRAMEWORK_VERSION = "0.3.4";
4
+ export const FRAMEWORK_VERSION = "0.4.6";
5
5
 
6
6
  export function getFrameworkDir(projectRoot: string): string {
7
7
  const adapters = [".gemini", ".claude", ".cursor", ".codex", ".enderun"];
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-enderun/shared-types",
3
- "version": "0.4.5",
3
+ "version": "0.4.6",
4
4
  "description": "Shared TypeScript types for AI-Enderun Framework. Ensures Contract-First synchronization between agents.",
5
5
  "author": "Yusuf BEKAR",
6
6
  "license": "MIT",