agent-enderun 1.1.0 → 1.1.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.
Files changed (141) hide show
  1. package/.enderun/ENDERUN.md +1 -1
  2. package/.enderun/STATUS.md +2 -2
  3. package/.enderun/agents/analyst.json +4 -4
  4. package/.enderun/agents/backend.json +4 -4
  5. package/.enderun/agents/database.json +4 -4
  6. package/.enderun/agents/devops.json +4 -4
  7. package/.enderun/agents/explorer.json +4 -4
  8. package/.enderun/agents/frontend.json +4 -4
  9. package/.enderun/agents/git.json +4 -4
  10. package/.enderun/agents/manager.json +4 -6
  11. package/.enderun/agents/mobile.json +4 -4
  12. package/.enderun/agents/native.json +4 -4
  13. package/.enderun/agents/quality.json +4 -4
  14. package/.enderun/agents/security.json +4 -4
  15. package/.enderun/config.json +3 -2
  16. package/.enderun/logs/manager.json +26 -47
  17. package/.enderun/memory/PROJECT_MEMORY.md +42 -9
  18. package/CLAUDE.md +5 -4
  19. package/GEMINI.md +5 -4
  20. package/GROK.md +3 -3
  21. package/README.md +8 -8
  22. package/agent.md +6 -6
  23. package/bin/cli.js +3 -4
  24. package/bin/compile.js +22 -0
  25. package/bin/test-init-run.js +136 -0
  26. package/dist/framework-mcp/src/index.js +1 -1
  27. package/dist/framework-mcp/src/tools/definitions.js +3 -1
  28. package/dist/framework-mcp/src/tools/definitions.js.map +1 -1
  29. package/dist/framework-mcp/src/tools/file_system/read_file.js +20 -0
  30. package/dist/framework-mcp/src/tools/file_system/read_file.js.map +1 -1
  31. package/dist/framework-mcp/src/tools/messaging/send_message.js +37 -14
  32. package/dist/framework-mcp/src/tools/messaging/send_message.js.map +1 -1
  33. package/dist/src/cli/adapters.d.ts +3 -1
  34. package/dist/src/cli/adapters.js +13 -11
  35. package/dist/src/cli/adapters.js.map +1 -1
  36. package/dist/src/cli/commands/check.js +12 -1
  37. package/dist/src/cli/commands/check.js.map +1 -1
  38. package/dist/src/cli/commands/init.js +21 -11
  39. package/dist/src/cli/commands/init.js.map +1 -1
  40. package/dist/src/cli/commands/orchestrate.d.ts +15 -0
  41. package/dist/src/cli/commands/orchestrate.js +45 -1
  42. package/dist/src/cli/commands/orchestrate.js.map +1 -1
  43. package/dist/src/cli/index.js +84 -19
  44. package/dist/src/cli/index.js.map +1 -1
  45. package/dist/src/cli/utils/memory.js +4 -0
  46. package/dist/src/cli/utils/memory.js.map +1 -1
  47. package/dist/src/cli/utils/pkg.js +5 -1
  48. package/dist/src/cli/utils/pkg.js.map +1 -1
  49. package/dist/tests/adapter.test.js +10 -8
  50. package/dist/tests/adapter.test.js.map +1 -1
  51. package/dist/tests/gemini.test.js +8 -7
  52. package/dist/tests/gemini.test.js.map +1 -1
  53. package/dist/vitest.config.js +1 -1
  54. package/dist/vitest.config.js.map +1 -1
  55. package/docs/project_analysis_report.md +69 -0
  56. package/eslint.config.js +2 -2
  57. package/framework-mcp/dist/src/index.js +1 -1
  58. package/framework-mcp/dist/src/tools/definitions.js +3 -1
  59. package/framework-mcp/dist/src/tools/file_system/read_file.js +20 -0
  60. package/framework-mcp/package.json +2 -2
  61. package/framework-mcp/src/index.ts +1 -1
  62. package/framework-mcp/src/tools/definitions.ts +3 -1
  63. package/framework-mcp/src/tools/file_system/read_file.ts +24 -0
  64. package/package.json +10 -8
  65. package/src/cli/adapters.ts +13 -11
  66. package/src/cli/commands/check.ts +13 -1
  67. package/src/cli/commands/init.ts +20 -11
  68. package/src/cli/commands/orchestrate.ts +1 -1
  69. package/src/cli/utils/memory.ts +4 -0
  70. package/src/cli/utils/pkg.ts +5 -1
  71. package/tsconfig.json +0 -2
  72. package/.enderun/ARCHITECTURE.md +0 -1
  73. package/.enderun/SECURITY.md +0 -1
  74. package/bin/init-check.js +0 -86
  75. package/bin/update-contract.js +0 -93
  76. package/dist/apps/backend/src/types/index.d.ts +0 -9
  77. package/dist/apps/backend/src/types/index.js +0 -5
  78. package/dist/apps/backend/src/types/index.js.map +0 -1
  79. package/dist/apps/web/src/main.d.ts +0 -1
  80. package/dist/apps/web/src/main.js +0 -9
  81. package/dist/apps/web/src/main.js.map +0 -1
  82. package/dist/apps/web/vite.config.d.ts +0 -2
  83. package/dist/apps/web/vite.config.js +0 -6
  84. package/dist/apps/web/vite.config.js.map +0 -1
  85. package/dist/tests/framework-init-test/framework-mcp/src/index.d.ts +0 -1
  86. package/dist/tests/framework-init-test/framework-mcp/src/index.js +0 -71
  87. package/dist/tests/framework-init-test/framework-mcp/src/index.js.map +0 -1
  88. package/dist/tests/framework-init-test/framework-mcp/src/tools/definitions.d.ts +0 -2
  89. package/dist/tests/framework-init-test/framework-mcp/src/tools/definitions.js +0 -111
  90. package/dist/tests/framework-init-test/framework-mcp/src/tools/definitions.js.map +0 -1
  91. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/patch_file.d.ts +0 -2
  92. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/patch_file.js +0 -19
  93. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/patch_file.js.map +0 -1
  94. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/read_file.d.ts +0 -2
  95. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/read_file.js +0 -8
  96. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/read_file.js.map +0 -1
  97. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/replace_text.d.ts +0 -2
  98. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/replace_text.js +0 -32
  99. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/replace_text.js.map +0 -1
  100. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/write_file.d.ts +0 -2
  101. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/write_file.js +0 -10
  102. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/write_file.js.map +0 -1
  103. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/get_status.d.ts +0 -2
  104. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/get_status.js +0 -6
  105. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/get_status.js.map +0 -1
  106. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/orchestrate.d.ts +0 -2
  107. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/orchestrate.js +0 -6
  108. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/orchestrate.js.map +0 -1
  109. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/update_contract_hash.d.ts +0 -2
  110. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/update_contract_hash.js +0 -6
  111. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/update_contract_hash.js.map +0 -1
  112. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/update_memory.d.ts +0 -2
  113. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/update_memory.js +0 -9
  114. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/update_memory.js.map +0 -1
  115. package/dist/tests/framework-init-test/framework-mcp/src/tools/index.d.ts +0 -5
  116. package/dist/tests/framework-init-test/framework-mcp/src/tools/index.js +0 -26
  117. package/dist/tests/framework-init-test/framework-mcp/src/tools/index.js.map +0 -1
  118. package/dist/tests/framework-init-test/framework-mcp/src/tools/messaging/log_action.d.ts +0 -2
  119. package/dist/tests/framework-init-test/framework-mcp/src/tools/messaging/log_action.js +0 -23
  120. package/dist/tests/framework-init-test/framework-mcp/src/tools/messaging/log_action.js.map +0 -1
  121. package/dist/tests/framework-init-test/framework-mcp/src/tools/messaging/send_message.d.ts +0 -2
  122. package/dist/tests/framework-init-test/framework-mcp/src/tools/messaging/send_message.js +0 -24
  123. package/dist/tests/framework-init-test/framework-mcp/src/tools/messaging/send_message.js.map +0 -1
  124. package/dist/tests/framework-init-test/framework-mcp/src/tools/types.d.ts +0 -47
  125. package/dist/tests/framework-init-test/framework-mcp/src/tools/types.js +0 -2
  126. package/dist/tests/framework-init-test/framework-mcp/src/tools/types.js.map +0 -1
  127. package/dist/tests/framework-init-test/framework-mcp/src/utils/cli.d.ts +0 -5
  128. package/dist/tests/framework-init-test/framework-mcp/src/utils/cli.js +0 -21
  129. package/dist/tests/framework-init-test/framework-mcp/src/utils/cli.js.map +0 -1
  130. package/dist/tests/framework-init-test/framework-mcp/src/utils/security.d.ts +0 -12
  131. package/dist/tests/framework-init-test/framework-mcp/src/utils/security.js +0 -54
  132. package/dist/tests/framework-init-test/framework-mcp/src/utils/security.js.map +0 -1
  133. package/dist/tests/framework-init-test/framework-mcp/tests/tools/file_system/replace_text.test.d.ts +0 -1
  134. package/dist/tests/framework-init-test/framework-mcp/tests/tools/file_system/replace_text.test.js +0 -69
  135. package/dist/tests/framework-init-test/framework-mcp/tests/tools/file_system/replace_text.test.js.map +0 -1
  136. package/dist/tests/framework-init-test/panda.config.d.ts +0 -4
  137. package/dist/tests/framework-init-test/panda.config.js +0 -95
  138. package/dist/tests/framework-init-test/panda.config.js.map +0 -1
  139. package/dist/tests/framework-init-test/vitest.config.d.ts +0 -2
  140. package/dist/tests/framework-init-test/vitest.config.js +0 -19
  141. package/dist/tests/framework-init-test/vitest.config.js.map +0 -1
package/agent.md CHANGED
@@ -2,24 +2,24 @@
2
2
 
3
3
  This is the primary entry point when using Agent Enderun within the Antigravity (IDE & CLI) ecosystem.
4
4
 
5
- The framework operates under a unified governance structure located in the .enderun/ directory.
5
+ The framework operates under a unified governance structure located in the .agent/ directory.
6
6
 
7
7
  ### Primary Constitution
8
8
  All governance rules, agent checklists, and project memory live here:
9
9
 
10
- 👉 **[.enderun/ENDERUN.md](.enderun/ENDERUN.md)**
10
+ 👉 **[.agent/ENDERUN.md](.agent/ENDERUN.md)**
11
11
 
12
12
  ### 🤖 Agent Directive
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. **Restore Memory:** Read `.enderun/PROJECT_MEMORY.md` to restore state, active Trace ID, and history.
17
- 2. **Load Identity:** Read the relevant agent definition under `.enderun/agents/{agent}.json` (default to `@manager`).
18
- 3. **Internalize Knowledge:** Reference the `.enderun/knowledge/` base for architectural and coding standards.
16
+ 1. **Restore Memory:** Read `.agent/PROJECT_MEMORY.md` to restore state, active Trace ID, and history.
17
+ 2. **Load Identity:** Read the relevant agent definition under `.agent/skills/{agent}.json` (default to `@manager`).
18
+ 3. **Internalize Knowledge:** Reference the `.agent/rules/` base for architectural and coding standards.
19
19
 
20
20
  ### 🛡️ Core Mandates
21
21
  - **Surgical Edits:** Use `replace_text` or `patch_file` via MCP for precise changes.
22
22
  - **Traceability:** Every action must inherit the active Trace ID from memory.
23
23
  - **Contract First:** No implementation without verified types.
24
24
 
25
- All paths and references inside the project must comply with the Supreme Constitution located at `.enderun/ENDERUN.md`.
25
+ All paths and references inside the project must comply with the Supreme Constitution located at `.agent/ENDERUN.md`.
package/bin/cli.js CHANGED
@@ -6,11 +6,10 @@ import { dirname, join } from "node:path";
6
6
  const __filename = fileURLToPath(import.meta.url);
7
7
  const __dirname = dirname(__filename);
8
8
 
9
- const cliPath = join(__dirname, "../src/cli/index.ts");
9
+ const cliPath = join(__dirname, "../dist/src/cli/index.js");
10
10
 
11
- // use shell: false to prevent argument (quote) corruption
12
- const cmd = process.platform === "win32" ? "npx.cmd" : "npx";
13
- const child = spawn(cmd, ["tsx", cliPath, ...process.argv.slice(2)], {
11
+ const cmd = "node";
12
+ const child = spawn(cmd, [cliPath, ...process.argv.slice(2)], {
14
13
  stdio: "inherit",
15
14
  shell: false
16
15
  });
package/bin/compile.js ADDED
@@ -0,0 +1,22 @@
1
+ import ts from 'typescript';
2
+ import fs from 'fs';
3
+ import path from 'path';
4
+
5
+ const configJson = JSON.parse(fs.readFileSync('tsconfig.json', 'utf8'));
6
+ const parsedConfig = ts.parseJsonConfigFileContent(configJson, ts.sys, '.');
7
+ const program = ts.createProgram(parsedConfig.fileNames, parsedConfig.options);
8
+ const emitResult = program.emit();
9
+
10
+ const allDiagnostics = ts
11
+ .getPreEmitDiagnostics(program)
12
+ .concat(emitResult.diagnostics);
13
+
14
+ allDiagnostics.forEach(diagnostic => {
15
+ if (diagnostic.file) {
16
+ let { line, character } = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start);
17
+ let message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n');
18
+ console.log(`${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`);
19
+ } else {
20
+ console.log(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n'));
21
+ }
22
+ });
@@ -0,0 +1,136 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import { initCommand } from '../dist/src/cli/commands/init.js';
4
+
5
+ const adapters = [
6
+ { id: "gemini", dir: ".enderun", shim: "GEMINI.md" },
7
+ { id: "claude", dir: ".enderun", shim: "CLAUDE.md" },
8
+ { id: "cursor", dir: ".enderun", shim: ".cursor/rules/global.mdc" },
9
+ { id: "codex", dir: ".enderun", shim: ".github/copilot-instructions.md" },
10
+ { id: "grok", dir: ".enderun", shim: "GROK.md" },
11
+ { id: "antigravity", dir: ".enderun", shim: "agent.md" },
12
+ { id: "antigravity-cli", dir: ".enderun", shim: "agent.md" }
13
+ ];
14
+
15
+ const projectRoot = process.cwd();
16
+ const testBase = path.join(projectRoot, "dist", "init-adapters");
17
+
18
+ // Redirect HOME to a mock directory inside the permitted workspace
19
+ const mockHome = path.join(testBase, "mock-home");
20
+ process.env.HOME = mockHome;
21
+ process.env.USERPROFILE = mockHome;
22
+
23
+ // Pre-create the directory structure and file for Claude Desktop config so the post-init step successfully runs
24
+ const claudeConfigDir = path.join(mockHome, "Library", "Application Support", "Claude");
25
+ fs.mkdirSync(claudeConfigDir, { recursive: true });
26
+ fs.writeFileSync(path.join(claudeConfigDir, "claude_desktop_config.json"), JSON.stringify({ mcpServers: {} }));
27
+
28
+ console.log("🚀 Starting Realistic Programmatic Validation of Adapter Init Commands...");
29
+
30
+ let failed = 0;
31
+
32
+ for (const adapter of adapters) {
33
+ console.log(`\n--------------------------------------------`);
34
+ console.log(`🧪 Testing Adapter: ${adapter.id}`);
35
+
36
+ const targetDir = path.join(testBase, adapter.id);
37
+ if (!fs.existsSync(targetDir)) {
38
+ fs.mkdirSync(targetDir, { recursive: true });
39
+ }
40
+ // Write a mock package.json to act as project root
41
+ const mockPkgPath = path.join(targetDir, "package.json");
42
+ if (!fs.existsSync(mockPkgPath)) {
43
+ fs.writeFileSync(mockPkgPath, JSON.stringify({
44
+ name: `mock-project-${adapter.id}`,
45
+ version: "1.0.0",
46
+ type: "module"
47
+ }, null, 2));
48
+ }
49
+ // Pre-create .git directory to prevent initCommand from invoking 'git init' (which is blocked by the sandbox)
50
+ const mockGitDir = path.join(targetDir, ".git");
51
+ if (!fs.existsSync(mockGitDir)) {
52
+ fs.mkdirSync(mockGitDir, { recursive: true });
53
+ }
54
+
55
+ try {
56
+ // Change process CWD to target directory to simulate running init there
57
+ process.chdir(targetDir);
58
+
59
+ // Temporarily bypass the CLI check and validations in init.ts (which would try to run validate-agent-army)
60
+ process.env.ENDERUN_SKIP_INSTALL = "1";
61
+
62
+ // Execute the initCommand programmatically
63
+ await initCommand(adapter.id, false);
64
+
65
+ // Restore CWD
66
+ process.chdir(projectRoot);
67
+
68
+ // 1. Check framework directory
69
+ const frameworkPath = path.join(targetDir, adapter.dir);
70
+ if (fs.existsSync(frameworkPath)) {
71
+ console.log(`✅ Framework directory created: ${adapter.dir}`);
72
+ } else {
73
+ console.log(`❌ Framework directory MISSING: ${adapter.dir}`);
74
+ failed++;
75
+ continue;
76
+ }
77
+
78
+ // 2. Check shim file
79
+ const shimPath = path.join(targetDir, adapter.shim);
80
+ if (fs.existsSync(shimPath)) {
81
+ console.log(`✅ Shim file created: ${adapter.shim}`);
82
+ } else {
83
+ console.log(`❌ Shim file MISSING: ${adapter.shim}`);
84
+ failed++;
85
+ continue;
86
+ }
87
+
88
+ // 3. Check memory initialization
89
+ const memoryPath = fs.existsSync(path.join(frameworkPath, "memory/PROJECT_MEMORY.md"))
90
+ ? path.join(frameworkPath, "memory/PROJECT_MEMORY.md")
91
+ : path.join(frameworkPath, "PROJECT_MEMORY.md");
92
+
93
+ if (fs.existsSync(memoryPath)) {
94
+ console.log(`✅ PROJECT_MEMORY.md created successfully.`);
95
+ } else {
96
+ console.log(`❌ PROJECT_MEMORY.md is MISSING!`);
97
+ failed++;
98
+ continue;
99
+ }
100
+
101
+ // 4. Check agents folder
102
+ let agentFolder = "agents";
103
+ if (adapter.id === "antigravity") {
104
+ agentFolder = "skills";
105
+ } else if (adapter.id === "grok") {
106
+ agentFolder = "plugins";
107
+ }
108
+ const agentsPath = path.join(frameworkPath, agentFolder);
109
+ if (fs.existsSync(agentsPath)) {
110
+ const files = fs.readdirSync(agentsPath);
111
+ const agentCount = files.filter(f => f.endsWith(".json")).length;
112
+ console.log(`✅ Agent configurations created: ${agentsPath} (${agentCount} agents found)`);
113
+ if (agentCount === 0) {
114
+ console.log(`❌ No agent configuration files found in folder!`);
115
+ failed++;
116
+ }
117
+ } else {
118
+ console.log(`❌ Agents directory MISSING: ${agentsPath}`);
119
+ failed++;
120
+ }
121
+
122
+ } catch (error) {
123
+ // Ensure CWD is restored in case of error
124
+ process.chdir(projectRoot);
125
+ console.error(`❌ Init failed with error:`, error.message);
126
+ failed++;
127
+ }
128
+ }
129
+
130
+ console.log(`\n--------------------------------------------`);
131
+ if (failed > 0) {
132
+ console.error(`❌ Validation FAILED. ${failed} checks failed.`);
133
+ process.exit(1);
134
+ } else {
135
+ console.log(`🎉 SUCCESS! All ${adapters.length} adapters initialized programmatically and passed checks.`);
136
+ }
@@ -5,7 +5,7 @@ import { TOOLS, toolHandlers } from "./tools/index.js";
5
5
  // ─── Server Setup ─────────────────────────────────────────────────
6
6
  const server = new Server({
7
7
  name: "@agent-enderun/mcp",
8
- version: "1.0.9",
8
+ version: "1.1.2",
9
9
  }, {
10
10
  capabilities: {
11
11
  tools: {},
@@ -1,11 +1,13 @@
1
1
  export const TOOLS = [
2
2
  {
3
3
  name: "read_file",
4
- description: "Read the content of a file within the project.",
4
+ description: "Read the content of a file within the project. Supports optional line range reading to prevent stream overload.",
5
5
  inputSchema: {
6
6
  type: "object",
7
7
  properties: {
8
8
  path: { type: "string", description: "Path to the file relative to project root" },
9
+ startLine: { type: "number", description: "Optional starting line number (1-indexed)" },
10
+ endLine: { type: "number", description: "Optional ending line number (inclusive)" },
9
11
  },
10
12
  required: ["path"],
11
13
  },
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../../../framework-mcp/src/tools/definitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../../../framework-mcp/src/tools/definitions.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,27 @@ import fs from "fs";
2
2
  import { safePath } from "../../utils/security.js";
3
3
  export function handleReadFile(projectRoot, args) {
4
4
  const filePath = safePath(projectRoot, args.path);
5
+ const startLine = args.startLine !== undefined ? Number(args.startLine) : undefined;
6
+ const endLine = args.endLine !== undefined ? Number(args.endLine) : undefined;
5
7
  const content = fs.readFileSync(filePath, "utf8");
8
+ const lines = content.split(/\r?\n/);
9
+ if (startLine !== undefined || endLine !== undefined) {
10
+ const start = startLine !== undefined ? Math.max(1, startLine) - 1 : 0;
11
+ const end = endLine !== undefined ? Math.min(lines.length, endLine) : lines.length;
12
+ const sliced = lines.slice(start, end).join("\n");
13
+ return { content: [{ type: "text", text: sliced }] };
14
+ }
15
+ // Default protection limit: 1000 lines
16
+ const DEFAULT_MAX_LINES = 1000;
17
+ if (lines.length > DEFAULT_MAX_LINES) {
18
+ const sliced = lines.slice(0, DEFAULT_MAX_LINES).join("\n");
19
+ return {
20
+ content: [{
21
+ type: "text",
22
+ text: `${sliced}\n\n... [TRUNCATED - File is too long (${lines.length} lines). Only the first ${DEFAULT_MAX_LINES} lines are shown. Use startLine and endLine parameters to read other parts of the file.]`
23
+ }]
24
+ };
25
+ }
6
26
  return { content: [{ type: "text", text: content }] };
7
27
  }
8
28
  //# sourceMappingURL=read_file.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"read_file.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/file_system/read_file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGnD,MAAM,UAAU,cAAc,CAAC,WAAmB,EAAE,IAAc;IAC9D,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,IAAc,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"read_file.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/file_system/read_file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGnD,MAAM,UAAU,cAAc,CAAC,WAAmB,EAAE,IAAc;IAC9D,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,IAAc,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE9E,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAErC,IAAI,SAAS,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QACnF,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACzD,CAAC;IAED,uCAAuC;IACvC,MAAM,iBAAiB,GAAG,IAAI,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,OAAO;YACH,OAAO,EAAE,CAAC;oBACN,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,GAAG,MAAM,0CAA0C,KAAK,CAAC,MAAM,2BAA2B,iBAAiB,0FAA0F;iBAC9M,CAAC;SACL,CAAC;IACN,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AAC1D,CAAC"}
@@ -3,22 +3,45 @@ import path from "path";
3
3
  import { resolveFrameworkDir } from "../../utils/security.js";
4
4
  export function handleSendAgentMessage(projectRoot, args) {
5
5
  const { to, category, content, traceId } = args;
6
- // `from` is optional — falls back to "@mcp" for backward compatibility
7
6
  const from = args.from || "@mcp";
8
7
  const frameworkDir = resolveFrameworkDir(projectRoot);
8
+ const messagesDir = path.join(projectRoot, frameworkDir, "messages");
9
9
  const agentName = to.replace("@", "");
10
- const messagePath = path.join(projectRoot, frameworkDir, "messages", `${agentName}.json`);
11
- const message = {
12
- timestamp: new Date().toISOString(),
13
- from,
14
- to,
15
- category,
16
- traceId,
17
- content,
18
- status: "PENDING"
19
- };
20
- fs.mkdirSync(path.dirname(messagePath), { recursive: true });
21
- fs.appendFileSync(messagePath, JSON.stringify(message) + "\n");
22
- return { content: [{ type: "text", text: `✅ Message sent to ${to} (from: ${from})` }] };
10
+ const messagePath = path.join(messagesDir, `${agentName}.json`);
11
+ const lockPath = path.join(messagesDir, ".lock");
12
+ // Hermes Lock Protocol: Retry 3 times with 500ms delay
13
+ let retries = 3;
14
+ while (retries > 0 && fs.existsSync(lockPath)) {
15
+ const stats = fs.statSync(lockPath);
16
+ if (Date.now() - stats.mtimeMs > 5000) {
17
+ fs.unlinkSync(lockPath);
18
+ break;
19
+ }
20
+ retries--;
21
+ if (retries > 0) {
22
+ const start = Date.now();
23
+ while (Date.now() - start < 500)
24
+ ; // Simple busy wait for MCP environment
25
+ }
26
+ }
27
+ try {
28
+ fs.mkdirSync(messagesDir, { recursive: true });
29
+ fs.writeFileSync(lockPath, `Locked by ${from} at ${new Date().toISOString()}`);
30
+ const message = {
31
+ timestamp: new Date().toISOString(),
32
+ from,
33
+ to,
34
+ category,
35
+ traceId,
36
+ content,
37
+ status: "PENDING"
38
+ };
39
+ fs.appendFileSync(messagePath, JSON.stringify(message) + "\n");
40
+ return { content: [{ type: "text", text: `✅ Message sent to ${to} (from: ${from})` }] };
41
+ }
42
+ finally {
43
+ if (fs.existsSync(lockPath))
44
+ fs.unlinkSync(lockPath);
45
+ }
23
46
  }
24
47
  //# sourceMappingURL=send_message.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"send_message.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/messaging/send_message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,MAAM,UAAU,sBAAsB,CAAC,WAAmB,EAAE,IAAc;IACtE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAA2E,CAAC;IACvH,uEAAuE;IACvE,MAAM,IAAI,GAAI,IAAI,CAAC,IAAe,IAAI,MAAM,CAAC;IAE7C,MAAM,YAAY,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;IAE1F,MAAM,OAAO,GAAG;QACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,IAAI;QACJ,EAAE;QACF,QAAQ;QACR,OAAO;QACP,OAAO;QACP,MAAM,EAAE,SAAS;KACpB,CAAC;IAEF,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,EAAE,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IAE/D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,WAAW,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC;AAC5F,CAAC"}
1
+ {"version":3,"file":"send_message.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/messaging/send_message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,MAAM,UAAU,sBAAsB,CAAC,WAAmB,EAAE,IAAc;IACtE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAA2E,CAAC;IACvH,MAAM,IAAI,GAAI,IAAI,CAAC,IAAe,IAAI,MAAM,CAAC;IAE7C,MAAM,YAAY,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAEjD,uDAAuD;IACvD,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,OAAO,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;YACpC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACxB,MAAM;QACV,CAAC;QACD,OAAO,EAAE,CAAC;QACV,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG;gBAAC,CAAC,CAAC,uCAAuC;QAC7E,CAAC;IACL,CAAC;IAED,IAAI,CAAC;QACD,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,aAAa,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAE/E,MAAM,OAAO,GAAG;YACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,IAAI;YACJ,EAAE;YACF,QAAQ;YACR,OAAO;YACP,OAAO;YACP,MAAM,EAAE,SAAS;SACpB,CAAC;QAEF,EAAE,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,WAAW,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC;IAC5F,CAAC;YAAS,CAAC;QACP,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;AACL,CAAC"}
@@ -24,7 +24,9 @@ export declare function remapFrameworkContent(content: string, frameworkDir: str
24
24
  export declare function buildMcpServerEntry(projectRoot: string): {
25
25
  command: string;
26
26
  args: string[];
27
- env: {};
27
+ env: {
28
+ ENDERUN_PROJECT_ROOT: string;
29
+ };
28
30
  };
29
31
  /**
30
32
  * Adapter-specific MCP and IDE hooks after scaffold.
@@ -6,14 +6,14 @@ export const ADAPTER_IDS = ["gemini", "claude", "grok", "cursor", "codex", "anti
6
6
  export const ADAPTERS = {
7
7
  gemini: {
8
8
  id: "gemini",
9
- frameworkDir: ".gemini",
10
- shimFile: "gemini.md",
9
+ frameworkDir: ".enderun",
10
+ shimFile: "GEMINI.md",
11
11
  templateDir: ".enderun",
12
12
  nestedDirs: ["agents", "skills", "knowledge"],
13
13
  },
14
14
  claude: {
15
15
  id: "claude",
16
- frameworkDir: ".claude",
16
+ frameworkDir: ".enderun",
17
17
  shimFile: "CLAUDE.md",
18
18
  templateDir: ".enderun",
19
19
  nestedDirs: ["agents", "skills", "knowledge"],
@@ -34,24 +34,24 @@ export const ADAPTERS = {
34
34
  },
35
35
  grok: {
36
36
  id: "grok",
37
- frameworkDir: ".grok",
38
- shimFile: "grok.md",
37
+ frameworkDir: ".enderun",
38
+ shimFile: "GROK.md",
39
39
  templateDir: ".enderun",
40
- nestedDirs: ["plugins", "agents", "knowledge"],
40
+ nestedDirs: ["agents", "skills", "knowledge"],
41
41
  },
42
42
  antigravity: {
43
43
  id: "antigravity",
44
- frameworkDir: ".agent",
44
+ frameworkDir: ".enderun",
45
45
  shimFile: "agent.md",
46
46
  templateDir: ".enderun",
47
- nestedDirs: ["skills", "workflows", "rules", "knowledge"],
47
+ nestedDirs: ["agents", "skills", "knowledge"],
48
48
  },
49
49
  "antigravity-cli": {
50
50
  id: "antigravity-cli",
51
- frameworkDir: ".gemini/antigravity-cli",
51
+ frameworkDir: ".enderun",
52
52
  shimFile: "agent.md",
53
53
  templateDir: ".enderun",
54
- nestedDirs: ["agents", "skills"],
54
+ nestedDirs: ["agents", "skills", "knowledge"],
55
55
  },
56
56
  };
57
57
  /**
@@ -181,7 +181,9 @@ export function buildMcpServerEntry(projectRoot) {
181
181
  return {
182
182
  command: "node",
183
183
  args: [path.join(projectRoot, "framework-mcp/dist/index.js")],
184
- env: {},
184
+ env: {
185
+ ENDERUN_PROJECT_ROOT: projectRoot,
186
+ },
185
187
  };
186
188
  }
187
189
  function writeAntigravityScaffold(frameworkDirPath) {
@@ -1 +1 @@
1
- {"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../../src/cli/adapters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../../src/cli/adapters.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,6 @@ export function checkCommand() {
33
33
  { name: "MCP Config (mcp.json)", path: "mcp.json" },
34
34
  { name: "ESLint Config (eslint.config.js)", path: "eslint.config.js" },
35
35
  { name: "ESLint Standards", path: path.join(frameworkDir, `${knowledgeDir}/eslint-standards.md`) },
36
- { name: "Backend Contract", path: path.join(pathsMap.backend, "contract.version.json") },
37
36
  { name: "MCP Server", path: "framework-mcp/package.json" },
38
37
  { name: "Panda CSS Config", path: "panda.config.ts" },
39
38
  { name: "Brain Dashboard", path: path.join(frameworkDir, "BRAIN_DASHBOARD.md") },
@@ -43,6 +42,10 @@ export function checkCommand() {
43
42
  { name: "Professional Error Handling Pattern", path: path.join(pathsMap.docs, "backend/error-handling.md") },
44
43
  { name: "Atomic Component Standards", path: path.join(pathsMap.docs, "frontend/component-patterns.md") },
45
44
  ];
45
+ // Optional app-level checks (only when apps/ has content)
46
+ const optionalChecks = [
47
+ { name: "Backend Contract", path: path.join(pathsMap.backend, "contract.version.json") },
48
+ ];
46
49
  for (const check of checks) {
47
50
  if (fs.existsSync(path.join(process.cwd(), check.path))) {
48
51
  console.warn(`✅ ${check.name} found.`);
@@ -52,6 +55,14 @@ export function checkCommand() {
52
55
  issues++;
53
56
  }
54
57
  }
58
+ for (const check of optionalChecks) {
59
+ if (fs.existsSync(path.join(process.cwd(), check.path))) {
60
+ console.warn(`✅ ${check.name} found.`);
61
+ }
62
+ else {
63
+ console.warn(`ℹ️ ${check.name} not found (${check.path}) — created with 'create-app'.`);
64
+ }
65
+ }
55
66
  // Dependency Check
56
67
  const mcpNodeModules = path.join(process.cwd(), "framework-mcp/node_modules");
57
68
  const rootNodeModules = path.join(process.cwd(), "node_modules");
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../../src/cli/commands/check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../../src/cli/commands/check.ts"],"names":[],"mappings":"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"}
@@ -3,14 +3,13 @@ import path from "path";
3
3
  import { fileURLToPath } from "url";
4
4
  import { execSync } from "child_process";
5
5
  import { resolveAdapter, isAdapterShimFile, remapFrameworkContent, runAdapterPostInit, } from "../adapters.js";
6
- import { mergePackageJson, deepCleanProtocols, sanitizeJson, getPackageVersion, getValidatorPath } from "../utils/pkg.js";
6
+ import { mergePackageJson, deepCleanProtocols, sanitizeJson, getPackageVersion, getValidatorPath, getPackageRoot } from "../utils/pkg.js";
7
7
  import { updateGitIgnore, ensureDir, writeJsonFile, copyDir, writeTextFile } from "../utils/fs.js";
8
8
  import { initializeMemory } from "../utils/memory.js";
9
9
  import { checkCommand } from "./check.js";
10
10
  const __filename = fileURLToPath(import.meta.url);
11
11
  const __dirname = path.dirname(__filename);
12
- const sourceDir = path.join(__dirname, "../../..");
13
- const targetDir = process.cwd();
12
+ const sourceDir = getPackageRoot();
14
13
  const FRAMEWORK_VERSION = getPackageVersion();
15
14
  const CORE_FILES = [
16
15
  ".enderun",
@@ -117,7 +116,7 @@ const allAgents = [
117
116
  instructions: "You are the analyst agent. Independently verify compliance with contracts and specifications between frontend, backend, and the constitution.\n\n🛑 NON-NEGOTIABLE CORE RULES:\n- Independent Stance: Act as an objective verification gate.\n- Contract-First Law: Ensure contract.version.json perfectly matches types.\n- Escalation Priority: Report all contract drift to manager immediately.\n- Surgical Edits: Use replace_text for all document updates."
118
117
  }
119
118
  ];
120
- function scaffoldCoreAgents(agentsBaseDir, dryRun) {
119
+ function scaffoldCoreAgents(targetDir, agentsBaseDir, dryRun) {
121
120
  ensureDir(agentsBaseDir, dryRun);
122
121
  const agentSchemaDir = path.join(agentsBaseDir, "schema");
123
122
  ensureDir(agentSchemaDir, dryRun);
@@ -213,8 +212,11 @@ function buildDirsToCreate(adapter) {
213
212
  const dirs = [
214
213
  adapter.frameworkDir,
215
214
  ...FRAMEWORK_SUBDIRS.map((d) => `${adapter.frameworkDir}/${d}`),
216
- "apps/web", "apps/backend", "docs", "framework-mcp", "tests",
215
+ "docs", "framework-mcp",
217
216
  ];
217
+ if (process.env.ENDERUN_SKIP_INSTALL !== "1") {
218
+ dirs.push("tests");
219
+ }
218
220
  if (adapter.nestedDirs) {
219
221
  for (const nested of adapter.nestedDirs)
220
222
  dirs.push(`${adapter.frameworkDir}/${nested}`);
@@ -224,6 +226,7 @@ function buildDirsToCreate(adapter) {
224
226
  return [...new Set(dirs)];
225
227
  }
226
228
  export async function initCommand(adapterInput, dryRun = false) {
229
+ const targetDir = process.cwd();
227
230
  const adapter = resolveAdapter(adapterInput);
228
231
  const { frameworkDir, shimFile, templateDir } = adapter;
229
232
  const targetFrameworkDir = path.join(targetDir, frameworkDir);
@@ -234,11 +237,9 @@ export async function initCommand(adapterInput, dryRun = false) {
234
237
  for (const dir of buildDirsToCreate(adapter))
235
238
  ensureDir(path.join(targetDir, dir), dryRun);
236
239
  const filesToProcess = [...CORE_FILES, shimFile].filter(f => CORE_FILES.includes(f) || f === shimFile || fs.existsSync(path.join(sourceDir, f)));
237
- ensureDir(path.join(targetDir, "apps/backend"), dryRun);
238
- const initContractPath = path.join(targetDir, "apps/backend/contract.version.json");
239
- if (!fs.existsSync(initContractPath)) {
240
- writeJsonFile(initContractPath, { contract_hash: "initial_hash_placeholder", last_updated: new Date().toISOString() }, dryRun);
241
- }
240
+ // apps/ directory is intentionally left empty during init.
241
+ // Users create apps via `agent-enderun create-app` command.
242
+ // Contract file is created during app scaffolding, not init.
242
243
  let targetPkg = {};
243
244
  try {
244
245
  const targetPkgPath = path.join(targetDir, "package.json");
@@ -314,7 +315,16 @@ export async function initCommand(adapterInput, dryRun = false) {
314
315
  if (!dryRun)
315
316
  deepCleanProtocols(targetDir, targetScope);
316
317
  // Scaffold core agents under the central framework directory
317
- scaffoldCoreAgents(path.join(targetFrameworkDir, "agents"), dryRun);
318
+ let agentFolder = "agents";
319
+ if (frameworkDir !== ".enderun") {
320
+ if (adapter.id === "antigravity") {
321
+ agentFolder = "skills";
322
+ }
323
+ else if (adapter.id === "grok") {
324
+ agentFolder = "plugins";
325
+ }
326
+ }
327
+ scaffoldCoreAgents(targetDir, path.join(targetFrameworkDir, agentFolder), dryRun);
318
328
  if (!fs.existsSync(path.join(targetDir, ".git")) && !dryRun) {
319
329
  try {
320
330
  execSync("git init", { cwd: targetDir, stdio: "ignore" });