godot-cli 0.6.0 → 0.7.0
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/README.md +22 -6
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +1 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/setup-skills.d.ts +2 -0
- package/dist/commands/setup-skills.js +61 -0
- package/dist/commands/setup-skills.js.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/open.js +9 -1
- package/dist/lib/open.js.map +1 -1
- package/dist/lib/setup-mcp.js +7 -2
- package/dist/lib/setup-mcp.js.map +1 -1
- package/dist/lib/setup-skills.d.ts +19 -0
- package/dist/lib/setup-skills.js +123 -0
- package/dist/lib/setup-skills.js.map +1 -0
- package/dist/lib/types.d.ts +24 -0
- package/dist/lib.d.ts +2 -1
- package/dist/lib.js +1 -0
- package/dist/lib.js.map +1 -1
- package/dist/utils/agents.d.ts +34 -3
- package/dist/utils/agents.js +248 -0
- package/dist/utils/agents.js.map +1 -1
- package/dist/utils/godot-editor.d.ts +8 -4
- package/dist/utils/godot-editor.js +213 -49
- package/dist/utils/godot-editor.js.map +1 -1
- package/dist/utils/skills.d.ts +34 -0
- package/dist/utils/skills.js +216 -0
- package/dist/utils/skills.js.map +1 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -31,6 +31,7 @@ Requires Node `^20.19.0 || >=22.12.0`.
|
|
|
31
31
|
| `status [path]` | Detect a running Godot editor for the project and probe MCP-server health. |
|
|
32
32
|
| `wait-for-ready [path]` | Poll the MCP server until it answers `ping`. |
|
|
33
33
|
| `setup-mcp <agent> [path]` | Write the agent's MCP-client config pointing at the Godot server's `<host>/mcp` URL. |
|
|
34
|
+
| `setup-skills <agent> [path]` | Generate Godot-MCP skill files (a `SKILL.md`-per-tool-family) under the agent's skills path. `--list` shows each agent's skills support. |
|
|
34
35
|
| `configure [path]` | List / enable / disable tools, prompts, and resources in the project-local `.godot-mcp/features.json`. |
|
|
35
36
|
| `close [path]` | Gracefully stop the Godot editor running for a project (`--force` to hard-kill). |
|
|
36
37
|
| `install-plugin [path]` | Enable the `godot_mcp` addon in `project.godot` `[editor_plugins]`. |
|
|
@@ -73,13 +74,28 @@ resolved as:
|
|
|
73
74
|
|
|
74
75
|
Pass `--url http://localhost:<port>` to target a local/self-hosted server.
|
|
75
76
|
|
|
76
|
-
## `setup-skills`
|
|
77
|
+
## `setup-skills`
|
|
77
78
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
79
|
+
`godot-cli setup-skills <agent> [path]` generates AI-agent **skill files** for a Godot project under the
|
|
80
|
+
selected agent's skills path (e.g. Claude Code's `.claude/skills`). Use `--list` to see every agent and its
|
|
81
|
+
skills support.
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
godot-cli setup-skills claude-code # generate into ./.claude/skills
|
|
85
|
+
godot-cli setup-skills cursor ./MyGame # generate into MyGame/.cursor/skills
|
|
86
|
+
godot-cli setup-skills --list # list agents + their skills paths
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
The command writes a `SKILL.md`-per-tool-family directory (a `godot-mcp/` overview plus one per family:
|
|
90
|
+
`godot-mcp-node`, `godot-mcp-scene`, `godot-mcp-resource`, …) describing the `godot_mcp` addon's tool
|
|
91
|
+
families. It is **idempotent** — re-running rewrites the same bytes.
|
|
92
|
+
|
|
93
|
+
Unlike the Unity CLI — which POSTs to a running editor's `/api/system-tools/unity-skill-generate`
|
|
94
|
+
endpoint — the Godot CLI generates the files **locally** from a built-in catalog: the Godot MCP server
|
|
95
|
+
exposes no skill-generate HTTP endpoint, so no server or running editor is required. (The addon
|
|
96
|
+
*additionally* auto-generates skills in-process on plugin boot via
|
|
97
|
+
`GodotMcpConnection.Start` → `GenerateSkillFilesIfNeeded`; the CLI command is the
|
|
98
|
+
server-less, scriptable path that does not need a live editor.)
|
|
83
99
|
|
|
84
100
|
## Library API
|
|
85
101
|
|
package/dist/cli.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export { runSystemToolCommand } from './commands/run-system-tool.js';
|
|
|
4
4
|
export { statusCommand } from './commands/status.js';
|
|
5
5
|
export { waitForReadyCommand } from './commands/wait-for-ready.js';
|
|
6
6
|
export { setupMcpCommand } from './commands/setup-mcp.js';
|
|
7
|
+
export { setupSkillsCommand } from './commands/setup-skills.js';
|
|
7
8
|
export { configureCommand } from './commands/configure.js';
|
|
8
9
|
export { closeCommand } from './commands/close.js';
|
|
9
10
|
export { createUpdateCommand } from './commands/update.js';
|
package/dist/cli.js
CHANGED
|
@@ -9,6 +9,7 @@ export { runSystemToolCommand } from './commands/run-system-tool.js';
|
|
|
9
9
|
export { statusCommand } from './commands/status.js';
|
|
10
10
|
export { waitForReadyCommand } from './commands/wait-for-ready.js';
|
|
11
11
|
export { setupMcpCommand } from './commands/setup-mcp.js';
|
|
12
|
+
export { setupSkillsCommand } from './commands/setup-skills.js';
|
|
12
13
|
export { configureCommand } from './commands/configure.js';
|
|
13
14
|
export { closeCommand } from './commands/close.js';
|
|
14
15
|
export { createUpdateCommand } from './commands/update.js';
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,EAAE;AACF,8EAA8E;AAC9E,2EAA2E;AAC3E,uBAAuB;AAEvB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,EAAE;AACF,8EAA8E;AAC9E,2EAA2E;AAC3E,uBAAuB;AAEvB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import * as ui from '../utils/ui.js';
|
|
3
|
+
import { verbose } from '../utils/ui.js';
|
|
4
|
+
import { getAgentById, getAgentIds, listAgentTable } from '../utils/agents.js';
|
|
5
|
+
import { setupSkills } from '../lib/setup-skills.js';
|
|
6
|
+
function listAgentsWithSkills() {
|
|
7
|
+
listAgentTable('AI Agents — Skills Support', 'Skills Path', (a) => a.skillsPath ?? '—');
|
|
8
|
+
}
|
|
9
|
+
export const setupSkillsCommand = new Command('setup-skills')
|
|
10
|
+
.description('Generate Godot-MCP skill files for an AI agent under its skills path')
|
|
11
|
+
.argument('[agent-id]', 'Agent to generate skills for (use --list to see all)')
|
|
12
|
+
.argument('[path]', 'Godot project path (defaults to cwd)')
|
|
13
|
+
.option('--list', 'List all agents and their skills-support status')
|
|
14
|
+
.action(async (agentId, positionalPath, options) => {
|
|
15
|
+
if (options.list) {
|
|
16
|
+
listAgentsWithSkills();
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
if (!agentId) {
|
|
20
|
+
ui.error('Missing required argument: agent-id');
|
|
21
|
+
ui.info(`Available agent IDs: ${getAgentIds().join(', ')}`);
|
|
22
|
+
process.exit(1);
|
|
23
|
+
}
|
|
24
|
+
const agent = getAgentById(agentId);
|
|
25
|
+
if (!agent) {
|
|
26
|
+
ui.error(`Unknown agent: "${agentId}"`);
|
|
27
|
+
ui.info(`Available agent IDs: ${getAgentIds().join(', ')}`);
|
|
28
|
+
process.exit(1);
|
|
29
|
+
}
|
|
30
|
+
if (!agent.skillsPath) {
|
|
31
|
+
ui.error(`Agent "${agent.name}" does not support skills.`);
|
|
32
|
+
process.exit(1);
|
|
33
|
+
}
|
|
34
|
+
const spinner = ui.startSpinner(`Generating skills for ${agent.name}...`);
|
|
35
|
+
const result = await setupSkills({
|
|
36
|
+
agentId,
|
|
37
|
+
godotProjectPath: positionalPath,
|
|
38
|
+
});
|
|
39
|
+
if (result.kind === 'failure') {
|
|
40
|
+
spinner.error('Failed to generate skills');
|
|
41
|
+
ui.error(result.error.message);
|
|
42
|
+
process.exit(1);
|
|
43
|
+
}
|
|
44
|
+
if (positionalPath) {
|
|
45
|
+
verbose(`Project path: ${positionalPath}`);
|
|
46
|
+
}
|
|
47
|
+
verbose(`Skills directory: ${result.skillsDir}`);
|
|
48
|
+
for (const file of result.filesWritten) {
|
|
49
|
+
verbose(`Wrote ${file}`);
|
|
50
|
+
}
|
|
51
|
+
spinner.success(`Skills generated for ${agent.name}`);
|
|
52
|
+
console.log('');
|
|
53
|
+
ui.label('Agent', agent.name);
|
|
54
|
+
ui.label('Skills path', result.skillsDir);
|
|
55
|
+
ui.label('Files written', String(result.filesWritten.length));
|
|
56
|
+
for (const warning of result.warnings) {
|
|
57
|
+
console.log('');
|
|
58
|
+
ui.warn(warning);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=setup-skills.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-skills.js","sourceRoot":"","sources":["../../src/commands/setup-skills.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -6,6 +6,7 @@ import { runSystemToolCommand } from './commands/run-system-tool.js';
|
|
|
6
6
|
import { statusCommand } from './commands/status.js';
|
|
7
7
|
import { waitForReadyCommand } from './commands/wait-for-ready.js';
|
|
8
8
|
import { setupMcpCommand } from './commands/setup-mcp.js';
|
|
9
|
+
import { setupSkillsCommand } from './commands/setup-skills.js';
|
|
9
10
|
import { configureCommand } from './commands/configure.js';
|
|
10
11
|
import { createProjectCommand } from './commands/create-project.js';
|
|
11
12
|
import { closeCommand } from './commands/close.js';
|
|
@@ -33,6 +34,7 @@ const subcommands = [
|
|
|
33
34
|
runToolCommand,
|
|
34
35
|
runSystemToolCommand,
|
|
35
36
|
setupMcpCommand,
|
|
37
|
+
setupSkillsCommand,
|
|
36
38
|
statusCommand,
|
|
37
39
|
createUpdateCommand(pkg.version),
|
|
38
40
|
waitForReadyCommand,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/open.js
CHANGED
|
@@ -113,7 +113,15 @@ export async function openProject(options) {
|
|
|
113
113
|
// Locate the Godot binary.
|
|
114
114
|
const editorPath = findGodotBinary(options.editorPath);
|
|
115
115
|
if (!editorPath) {
|
|
116
|
-
throw new Error('No Godot editor binary found
|
|
116
|
+
throw new Error('No Godot editor binary found.\n' +
|
|
117
|
+
'Searched: --editor-path, the GODOT_BIN / GODOT4_BIN env vars, your PATH, and common\n' +
|
|
118
|
+
'install locations (Downloads, Program Files, LocalAppData, Scoop, Chocolatey, winget,\n' +
|
|
119
|
+
'Steam) including version-stamped release names like\n' +
|
|
120
|
+
'"Godot_v<version>-stable_mono_win64.exe" nested in their extracted folder.\n' +
|
|
121
|
+
'To fix, do one of:\n' +
|
|
122
|
+
' • pass the full path: godot-cli open --editor-path "<path-to-Godot-executable>"\n' +
|
|
123
|
+
' • set an env var: GODOT_BIN=<path-to-Godot-executable> (or GODOT4_BIN)\n' +
|
|
124
|
+
' • add the Godot binary to your PATH.');
|
|
117
125
|
}
|
|
118
126
|
resolvedEditorPath = editorPath;
|
|
119
127
|
emitProgress(options.onProgress, {
|
package/dist/lib/open.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open.js","sourceRoot":"","sources":["../../src/lib/open.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"open.js","sourceRoot":"","sources":["../../src/lib/open.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/setup-mcp.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as path from 'path';
|
|
2
2
|
import { CLOUD_MCP_URL, DEFAULT_CUSTOM_HOST, ENV_HOST, ENV_TOKEN, MCP_HUB_PATH, } from '../utils/connection.js';
|
|
3
|
-
import { getAgentById, getAgentIds, writeJsonAgentConfig, MCP_SERVER_NAME, } from '../utils/agents.js';
|
|
3
|
+
import { getAgentById, getAgentIds, writeJsonAgentConfig, writeTomlAgentConfig, MCP_SERVER_NAME, } from '../utils/agents.js';
|
|
4
4
|
import { emitProgress } from './progress.js';
|
|
5
5
|
import { requireExistingPath } from './validation.js';
|
|
6
6
|
/**
|
|
@@ -84,7 +84,12 @@ export async function setupMcp(opts) {
|
|
|
84
84
|
const authRequired = token.length > 0;
|
|
85
85
|
const configPath = agent.getConfigPath(projectPath);
|
|
86
86
|
const props = agent.getHttpProps(serverUrl, token, authRequired);
|
|
87
|
-
|
|
87
|
+
if (agent.configFormat === 'toml') {
|
|
88
|
+
writeTomlAgentConfig(configPath, agent.bodyPath, MCP_SERVER_NAME, props, agent.httpRemoveKeys);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
writeJsonAgentConfig(configPath, agent.bodyPath, MCP_SERVER_NAME, props, agent.httpRemoveKeys);
|
|
92
|
+
}
|
|
88
93
|
emitProgress(opts.onProgress, {
|
|
89
94
|
phase: 'manifest-patched',
|
|
90
95
|
message: `Wrote ${configPath}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-mcp.js","sourceRoot":"","sources":["../../src/lib/setup-mcp.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"setup-mcp.js","sourceRoot":"","sources":["../../src/lib/setup-mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { SetupSkillsOptions, SetupSkillsResult } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Generate AI-agent skill files for a Godot project under the selected agent's
|
|
4
|
+
* `skillsPath`. Library-safe: no stdout noise, no `process.exit`, no throws past
|
|
5
|
+
* the public boundary.
|
|
6
|
+
*
|
|
7
|
+
* Unlike the Unity CLI (which POSTs to a running editor's skill-generate HTTP
|
|
8
|
+
* endpoint), this generates the files LOCALLY from the Godot-MCP tool-family
|
|
9
|
+
* catalog — no server and no running editor are required. The content describes
|
|
10
|
+
* the `godot_mcp` addon's tool families (`Tool_Node`, `Tool_Scene`, …), NOT
|
|
11
|
+
* Unity tool names.
|
|
12
|
+
*
|
|
13
|
+
* Idempotent: re-running rewrites the same bytes and prunes any
|
|
14
|
+
* `godot-mcp*` skill directories the current catalog no longer emits (so a
|
|
15
|
+
* shrunk catalog does not leave stale family dirs behind). A
|
|
16
|
+
* `SKILL.md`-per-family directory is written under
|
|
17
|
+
* `<projectPath>/<agent.skillsPath>`.
|
|
18
|
+
*/
|
|
19
|
+
export declare function setupSkills(opts: SetupSkillsOptions): Promise<SetupSkillsResult>;
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
import { getAgentById, getAgentIds } from '../utils/agents.js';
|
|
4
|
+
import { buildSkillFiles } from '../utils/skills.js';
|
|
5
|
+
import { emitProgress } from './progress.js';
|
|
6
|
+
import { requireExistingPath } from './validation.js';
|
|
7
|
+
/**
|
|
8
|
+
* Generate AI-agent skill files for a Godot project under the selected agent's
|
|
9
|
+
* `skillsPath`. Library-safe: no stdout noise, no `process.exit`, no throws past
|
|
10
|
+
* the public boundary.
|
|
11
|
+
*
|
|
12
|
+
* Unlike the Unity CLI (which POSTs to a running editor's skill-generate HTTP
|
|
13
|
+
* endpoint), this generates the files LOCALLY from the Godot-MCP tool-family
|
|
14
|
+
* catalog — no server and no running editor are required. The content describes
|
|
15
|
+
* the `godot_mcp` addon's tool families (`Tool_Node`, `Tool_Scene`, …), NOT
|
|
16
|
+
* Unity tool names.
|
|
17
|
+
*
|
|
18
|
+
* Idempotent: re-running rewrites the same bytes and prunes any
|
|
19
|
+
* `godot-mcp*` skill directories the current catalog no longer emits (so a
|
|
20
|
+
* shrunk catalog does not leave stale family dirs behind). A
|
|
21
|
+
* `SKILL.md`-per-family directory is written under
|
|
22
|
+
* `<projectPath>/<agent.skillsPath>`.
|
|
23
|
+
*/
|
|
24
|
+
export async function setupSkills(opts) {
|
|
25
|
+
const warnings = [];
|
|
26
|
+
try {
|
|
27
|
+
if (!opts || typeof opts.agentId !== 'string' || opts.agentId.length === 0) {
|
|
28
|
+
return {
|
|
29
|
+
kind: 'failure',
|
|
30
|
+
success: false,
|
|
31
|
+
warnings,
|
|
32
|
+
error: new Error(`agentId is required. Available agent IDs: ${getAgentIds().join(', ')}`),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
const agent = getAgentById(opts.agentId);
|
|
36
|
+
if (!agent) {
|
|
37
|
+
return {
|
|
38
|
+
kind: 'failure',
|
|
39
|
+
success: false,
|
|
40
|
+
warnings,
|
|
41
|
+
error: new Error(`Unknown agent: "${opts.agentId}". Available agent IDs: ${getAgentIds().join(', ')}`),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
if (!agent.skillsPath) {
|
|
45
|
+
return {
|
|
46
|
+
kind: 'failure',
|
|
47
|
+
success: false,
|
|
48
|
+
warnings,
|
|
49
|
+
error: new Error(`Agent "${agent.name}" does not support skills.`),
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
// Resolve project path. If supplied it must exist; otherwise fall back to cwd.
|
|
53
|
+
let projectPath;
|
|
54
|
+
if (opts.godotProjectPath) {
|
|
55
|
+
const validated = requireExistingPath(opts.godotProjectPath);
|
|
56
|
+
if (!validated.ok) {
|
|
57
|
+
return { kind: 'failure', success: false, warnings, error: validated.error };
|
|
58
|
+
}
|
|
59
|
+
projectPath = validated.projectPath;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
projectPath = path.resolve(process.cwd());
|
|
63
|
+
}
|
|
64
|
+
const skillsDir = path.join(projectPath, agent.skillsPath);
|
|
65
|
+
emitProgress(opts.onProgress, {
|
|
66
|
+
phase: 'start',
|
|
67
|
+
message: `Generating ${agent.name} skills in ${skillsDir}`,
|
|
68
|
+
});
|
|
69
|
+
const skillFiles = buildSkillFiles();
|
|
70
|
+
const filesWritten = [];
|
|
71
|
+
// Prune orphaned `godot-mcp*` family dirs the current catalog no longer
|
|
72
|
+
// emits, so a shrunk catalog does not leave stale SKILL.md dirs behind.
|
|
73
|
+
// Only our own generated dirs (top-level segment of each emitted path) are
|
|
74
|
+
// ever removed — unrelated content under skillsDir is untouched.
|
|
75
|
+
const emittedDirs = new Set(skillFiles.map((f) => f.relativePath.split('/')[0]));
|
|
76
|
+
if (fs.existsSync(skillsDir)) {
|
|
77
|
+
for (const entry of fs.readdirSync(skillsDir, { withFileTypes: true })) {
|
|
78
|
+
if (entry.isDirectory() &&
|
|
79
|
+
(entry.name === 'godot-mcp' || entry.name.startsWith('godot-mcp-')) &&
|
|
80
|
+
!emittedDirs.has(entry.name)) {
|
|
81
|
+
fs.rmSync(path.join(skillsDir, entry.name), { recursive: true, force: true });
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
for (const file of skillFiles) {
|
|
86
|
+
const absPath = path.join(skillsDir, file.relativePath);
|
|
87
|
+
const dir = path.dirname(absPath);
|
|
88
|
+
if (!fs.existsSync(dir)) {
|
|
89
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
90
|
+
}
|
|
91
|
+
// LF line endings; trailing newline. Deterministic → idempotent re-write.
|
|
92
|
+
const content = file.content.endsWith('\n') ? file.content : file.content + '\n';
|
|
93
|
+
fs.writeFileSync(absPath, content);
|
|
94
|
+
filesWritten.push(absPath);
|
|
95
|
+
emitProgress(opts.onProgress, {
|
|
96
|
+
phase: 'manifest-patched',
|
|
97
|
+
message: `Wrote ${absPath}`,
|
|
98
|
+
manifestPath: absPath,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
emitProgress(opts.onProgress, {
|
|
102
|
+
phase: 'done',
|
|
103
|
+
message: `${agent.name} skills generated (${filesWritten.length} files).`,
|
|
104
|
+
});
|
|
105
|
+
return {
|
|
106
|
+
kind: 'success',
|
|
107
|
+
success: true,
|
|
108
|
+
agentId: agent.id,
|
|
109
|
+
skillsDir,
|
|
110
|
+
filesWritten,
|
|
111
|
+
warnings,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
catch (err) {
|
|
115
|
+
return {
|
|
116
|
+
kind: 'failure',
|
|
117
|
+
success: false,
|
|
118
|
+
warnings,
|
|
119
|
+
error: err instanceof Error ? err : new Error(String(err)),
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=setup-skills.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-skills.js","sourceRoot":"","sources":["../../src/lib/setup-skills.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -64,6 +64,30 @@ export interface SetupMcpFailure {
|
|
|
64
64
|
error: Error;
|
|
65
65
|
}
|
|
66
66
|
export type SetupMcpResult = SetupMcpSuccess | SetupMcpFailure;
|
|
67
|
+
export interface SetupSkillsOptions {
|
|
68
|
+
/** Agent to generate skills for. Use `listAgentIds()` to discover valid values. */
|
|
69
|
+
agentId: string;
|
|
70
|
+
/** Optional Godot project path. Defaults to `process.cwd()` if omitted. */
|
|
71
|
+
godotProjectPath?: string;
|
|
72
|
+
onProgress?: ProgressCallback;
|
|
73
|
+
}
|
|
74
|
+
export interface SetupSkillsSuccess {
|
|
75
|
+
kind: 'success';
|
|
76
|
+
success: true;
|
|
77
|
+
agentId: string;
|
|
78
|
+
/** Absolute path to the agent's skills directory the files were written into. */
|
|
79
|
+
skillsDir: string;
|
|
80
|
+
/** Absolute paths of every skill file written, in write order. */
|
|
81
|
+
filesWritten: string[];
|
|
82
|
+
warnings: string[];
|
|
83
|
+
}
|
|
84
|
+
export interface SetupSkillsFailure {
|
|
85
|
+
kind: 'failure';
|
|
86
|
+
success: false;
|
|
87
|
+
warnings: string[];
|
|
88
|
+
error: Error;
|
|
89
|
+
}
|
|
90
|
+
export type SetupSkillsResult = SetupSkillsSuccess | SetupSkillsFailure;
|
|
67
91
|
/** Auth option propagated to the editor as `GODOT_MCP_AUTH_OPTION`. */
|
|
68
92
|
export type OpenProjectAuthOption = 'None' | 'Required';
|
|
69
93
|
/** Connection mode propagated to the editor as `GODOT_MCP_CONNECTION_MODE`. */
|
package/dist/lib.d.ts
CHANGED
|
@@ -2,5 +2,6 @@ export { openProject } from './lib/open.js';
|
|
|
2
2
|
export { createProject } from './lib/create-project.js';
|
|
3
3
|
export { runTool, runSystemTool } from './lib/run-tool.js';
|
|
4
4
|
export { setupMcp, listAgentIds } from './lib/setup-mcp.js';
|
|
5
|
+
export { setupSkills } from './lib/setup-skills.js';
|
|
5
6
|
export { installPlugin, removePlugin } from './lib/install-plugin.js';
|
|
6
|
-
export type { ProgressEvent, ProgressCallback, ResultKind, OpenProjectOptions, OpenProjectResult, OpenProjectSuccess, OpenProjectFailure, OpenProjectAuthOption, OpenProjectConnectionMode, CreateProjectOptions, CreateProjectResult, CreateProjectSuccess, CreateProjectFailure, RunToolOptions, RunToolResult, RunToolSuccess, RunToolFailure, RunToolFailureReason, RunSystemToolOptions, RunSystemToolResult, RunSystemToolSuccess, RunSystemToolFailure, SetupMcpOptions, SetupMcpResult, SetupMcpSuccess, SetupMcpFailure, InstallPluginOptions, InstallPluginResult, InstallPluginSuccess, InstallPluginFailure, RemovePluginOptions, RemovePluginResult, RemovePluginSuccess, RemovePluginFailure, } from './lib/types.js';
|
|
7
|
+
export type { ProgressEvent, ProgressCallback, ResultKind, OpenProjectOptions, OpenProjectResult, OpenProjectSuccess, OpenProjectFailure, OpenProjectAuthOption, OpenProjectConnectionMode, CreateProjectOptions, CreateProjectResult, CreateProjectSuccess, CreateProjectFailure, RunToolOptions, RunToolResult, RunToolSuccess, RunToolFailure, RunToolFailureReason, RunSystemToolOptions, RunSystemToolResult, RunSystemToolSuccess, RunSystemToolFailure, SetupMcpOptions, SetupMcpResult, SetupMcpSuccess, SetupMcpFailure, SetupSkillsOptions, SetupSkillsResult, SetupSkillsSuccess, SetupSkillsFailure, InstallPluginOptions, InstallPluginResult, InstallPluginSuccess, InstallPluginFailure, RemovePluginOptions, RemovePluginResult, RemovePluginSuccess, RemovePluginFailure, } from './lib/types.js';
|
package/dist/lib.js
CHANGED
|
@@ -16,5 +16,6 @@ export { openProject } from './lib/open.js';
|
|
|
16
16
|
export { createProject } from './lib/create-project.js';
|
|
17
17
|
export { runTool, runSystemTool } from './lib/run-tool.js';
|
|
18
18
|
export { setupMcp, listAgentIds } from './lib/setup-mcp.js';
|
|
19
|
+
export { setupSkills } from './lib/setup-skills.js';
|
|
19
20
|
export { installPlugin, removePlugin } from './lib/install-plugin.js';
|
|
20
21
|
//# sourceMappingURL=lib.js.map
|
package/dist/lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,EAAE;AACF,eAAe;AACf,+EAA+E;AAC/E,wDAAwD;AACxD,oDAAoD;AACpD,yEAAyE;AACzE,4DAA4D;AAC5D,+EAA+E;AAC/E,gEAAgE;AAChE,6EAA6E;AAC7E,EAAE;AACF,0EAA0E;AAC1E,4CAA4C;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,EAAE;AACF,eAAe;AACf,+EAA+E;AAC/E,wDAAwD;AACxD,oDAAoD;AACpD,yEAAyE;AACzE,4DAA4D;AAC5D,+EAA+E;AAC/E,gEAAgE;AAChE,6EAA6E;AAC7E,EAAE;AACF,0EAA0E;AAC1E,4CAA4C;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC"}
|
package/dist/utils/agents.d.ts
CHANGED
|
@@ -1,19 +1,34 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* An AI-agent MCP-client configurator. Mirrors the Godot addon's
|
|
3
3
|
* `GodotAgentConfigurator` registry (`addons/godot_mcp/UI/Agents/`), adapted
|
|
4
|
-
* to the CLI's file-writing surface
|
|
5
|
-
*
|
|
4
|
+
* to the CLI's file-writing surface, and brought to parity with the Unity CLI's
|
|
5
|
+
* agent roster (`Unity-MCP/cli/src/utils/agents.ts`). Each agent knows where its
|
|
6
|
+
* MCP-client config lives and what HTTP-transport server entry to write.
|
|
6
7
|
*
|
|
7
8
|
* Godot is a server-less client: the plugin connects out to a server, and an
|
|
8
9
|
* external AI client connects to the same server's `<host>/mcp` streamable-HTTP
|
|
9
10
|
* endpoint. So every configurator here writes an HTTP server entry pointing at
|
|
10
11
|
* the resolved MCP-client URL (NOT the plugin's `<host>/hub/mcp-server` SignalR
|
|
11
|
-
* endpoint).
|
|
12
|
+
* endpoint). Unlike the Unity CLI, there is NO stdio transport / local
|
|
13
|
+
* server-binary path here — the Godot CLI never spawns a local server process —
|
|
14
|
+
* so the Unity `getStdioProps` / `stdioRemoveKeys` surface is intentionally
|
|
15
|
+
* omitted.
|
|
16
|
+
*
|
|
17
|
+
* `skillsPath` mirrors the Unity definition's per-agent skills directory. The
|
|
18
|
+
* Godot CLI does not yet ship a `setup-skills` command (skills are generated
|
|
19
|
+
* addon-side on plugin boot — see `Godot-MCP/CLAUDE.md` § CLI), but the field is
|
|
20
|
+
* populated now so a follow-up `setup-skills` command can consume it without
|
|
21
|
+
* another registry migration. `null` means the agent has no project-local skills
|
|
22
|
+
* directory.
|
|
12
23
|
*/
|
|
13
24
|
export interface AgentDefinition {
|
|
14
25
|
id: string;
|
|
15
26
|
name: string;
|
|
27
|
+
/** Per-agent project-relative skills directory, or `null` if the agent has none. */
|
|
28
|
+
skillsPath: string | null;
|
|
16
29
|
configPathDisplay: string;
|
|
30
|
+
/** Config-file serialization format. `toml` is the Codex branch. */
|
|
31
|
+
configFormat: 'json' | 'toml';
|
|
17
32
|
bodyPath: string;
|
|
18
33
|
/** Resolve the absolute config-file path for a given project root. */
|
|
19
34
|
getConfigPath(projectPath: string): string;
|
|
@@ -23,9 +38,25 @@ export interface AgentDefinition {
|
|
|
23
38
|
httpRemoveKeys: string[];
|
|
24
39
|
}
|
|
25
40
|
declare const MCP_SERVER_NAME = "ai-game-developer";
|
|
41
|
+
/**
|
|
42
|
+
* Note on the Unity-only `unity-ai` agent: the Unity CLI registry includes a
|
|
43
|
+
* `unity-ai` entry that writes `UserSettings/mcp.json` for Unity's built-in AI
|
|
44
|
+
* assistant. That agent is intentionally OMITTED here — it targets a Unity-only
|
|
45
|
+
* surface (`UserSettings/` is a Unity project convention) with no Godot analog.
|
|
46
|
+
*/
|
|
26
47
|
export declare const agentRegistry: readonly AgentDefinition[];
|
|
27
48
|
export declare function getAgentById(id: string): AgentDefinition | undefined;
|
|
28
49
|
export declare function getAgentIds(): string[];
|
|
29
50
|
export declare function listAgentTable(heading: string, locationLabel: string, locationFn: (agent: AgentDefinition) => string): void;
|
|
30
51
|
export declare function writeJsonAgentConfig(configPath: string, bodyPath: string, serverName: string, props: Record<string, unknown>, removeKeys: string[]): void;
|
|
52
|
+
/**
|
|
53
|
+
* Write/merge a single `[bodyPath.serverName]` TOML section into `configPath`,
|
|
54
|
+
* mirroring the Unity CLI's Codex TOML branch. Existing sections under other
|
|
55
|
+
* headers are preserved; the target section is replaced wholesale (so a re-run
|
|
56
|
+
* is idempotent and stale keys are dropped). Keys in `removeKeys` are never
|
|
57
|
+
* written. This is a deliberately minimal TOML emitter — Codex's config schema
|
|
58
|
+
* here is flat (string/number/bool/array scalars only), so a full TOML library
|
|
59
|
+
* dependency is unwarranted.
|
|
60
|
+
*/
|
|
61
|
+
export declare function writeTomlAgentConfig(configPath: string, bodyPath: string, serverName: string, props: Record<string, unknown>, removeKeys: string[]): void;
|
|
31
62
|
export { MCP_SERVER_NAME };
|