godot-cli 0.39.1 → 0.39.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,13 @@ All notable changes to `godot-cli` are documented in this file.
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ - **`rql` takes several statements separated by `;`.** The addon's `rql-query` / `rql-mutate` run them in one call (one
8
+ result block each). `rql` now sends text to `rql-mutate` when any statement ends in `set` / `call` (it looked at the last
9
+ stage of the whole text): text that mixes a change and a read (`… | set …; nodes | count`) gets `rql-mutate`'s refusal
10
+ before anything runs instead of `rql-query`'s, and `--dry-run` / `--max-targets` are accepted for it.
11
+ - **Node.js 22.14 or later is required.** `engines.node` is now `>=22.14.0` (was `^20.19.0 || >=22.12.0`):
12
+ Node.js 20 is no longer supported. commander 15, chalk 6, vitest 5 and `@baizor/gamedev-cli-core` 0.11.1 already
13
+ require Node.js 22 or later (cli-core: 22.14). CI tests the CLI on Node.js 22, 24 and 26.
7
14
  - **Dependencies:** commander 15, chalk 6, yocto-spinner 1.2.2; dev: TypeScript 7 (native compiler), vitest 5.
8
15
  Two visible changes, both from commander: a call with too many arguments now names them
9
16
  (`error: too many arguments for 'check'. Expected 1 argument but got 2: a, b.`), and a negative number such as `-5` is
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
  <h1>Godot MCP — <i>CLI</i></h1>
3
3
 
4
4
  [![npm](https://img.shields.io/npm/v/godot-cli?label=npm&labelColor=333A41 'npm package')](https://www.npmjs.com/package/godot-cli)
5
- [![Node.js](https://img.shields.io/badge/Node.js-%5E20.19.0%20%7C%7C%20%3E%3D22.12.0-5FA04E?logo=nodedotjs&labelColor=333A41 'Node.js')](https://nodejs.org/)
5
+ [![Node.js](https://img.shields.io/badge/Node.js-%3E%3D22.14.0-5FA04E?logo=nodedotjs&labelColor=333A41 'Node.js')](https://nodejs.org/)
6
6
  [![License](https://img.shields.io/github/license/IvanMurzak/Godot-MCP?label=License&labelColor=333A41)](https://github.com/IvanMurzak/Godot-MCP/blob/main/LICENSE)
7
7
  [![Website](https://img.shields.io/badge/website-ai--game.dev-bc6c25?labelColor=333A41)](https://ai-game.dev)
8
8
  [![Stand With Ukraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraine.svg)](https://stand-with-ukraine.pp.ua)
@@ -78,7 +78,7 @@ Or run any command ad-hoc with `npx` — no global install required:
78
78
  npx godot-cli install-plugin /path/to/godot/project
79
79
  ```
80
80
 
81
- > **Requirements:** [Node.js](https://nodejs.org/) `^20.19.0 || >=22.12.0`.
81
+ > **Requirements:** [Node.js](https://nodejs.org/) 22.14 or later.
82
82
 
83
83
  ![divider](https://github.com/IvanMurzak/Unity-MCP/blob/main/docs/img/promo/hazzard-divider.svg?raw=true)
84
84
 
@@ -1,7 +1,7 @@
1
1
  import * as fs from 'fs';
2
2
  import { Command, Option } from 'commander';
3
3
  import { DEFAULT_SESSION_READY_TIMEOUT_MS } from '@baizor/gamedev-cli-core';
4
- import { RQL_MUTATE_TOOL, decodeQueryFile, resourcesWrittenSince, rqlMaySave, rqlToolCall, saveReceipt, stripToolName } from '../lib/rql.js';
4
+ import { RQL_MUTATE_TOOL, RQL_NO_QUERY_USAGE, decodeQueryFile, resourcesWrittenSince, rqlMaySave, rqlToolCall, saveReceipt } from '../lib/rql.js';
5
5
  import { runTool } from '../lib/run-tool.js';
6
6
  import { resolveAndValidateProjectPath } from '../utils/connection.js';
7
7
  import { ExitCode } from '../utils/exit-codes.js';
@@ -35,7 +35,7 @@ function readQuery(query, file) {
35
35
  return decodeQueryFile(fs.readFileSync(file === '-' ? 0 : file)).trim();
36
36
  }
37
37
  export const rqlCommand = addFormatOption(new Command('rql')
38
- .description('Read or change the editor with one RQL query: scenes, nodes, resources (a query ending in set / call changes the editor, any other only reads); starts a headless editor when none answers')
38
+ .description('Read or change the editor with one RQL query (or several separated by ;): scenes, nodes, resources (a query ending in set / call changes the editor, any other only reads); starts a headless editor when none answers')
39
39
  .argument('[query]', 'RQL query, e.g. \'nodes | where name starts-with "Tree" | count\'')
40
40
  .option('--path <path>', 'Godot project path (defaults to cwd)')
41
41
  .option('-f, --file <file>', 'Read the query from a file ("-" for stdin)')
@@ -56,16 +56,17 @@ export const rqlCommand = addFormatOption(new Command('rql')
56
56
  const output = new CommandOutput('rql', parseFormat(options.format));
57
57
  let query;
58
58
  try {
59
- const text = readQuery(queryArg, options.file);
60
- query = text === undefined ? undefined : stripToolName(text);
59
+ query = readQuery(queryArg, options.file);
61
60
  }
62
61
  catch (err) {
63
62
  return output.fail(ExitCode.Usage, 'USAGE', err instanceof Error ? err.message : String(err));
64
63
  }
65
64
  const maxTargets = options.maxTargets === undefined ? undefined : parseIntFlag(options.maxTargets, '--max-targets');
66
- const call = rqlToolCall(query, { schema: options.schema, dryRun: options.dryRun, maxTargets });
65
+ // cli-core strips a pasted tool name from each statement and picks rql-query / rql-mutate for the whole text.
66
+ const call = rqlToolCall(query, { schema: options.schema, dryRun: options.dryRun, maxTargets }, RQL_NO_QUERY_USAGE);
67
67
  if ('usage' in call)
68
68
  return output.fail(ExitCode.Usage, 'USAGE', call.usage);
69
+ const sent = String(call.input['query'] ?? '');
69
70
  // A save answers without naming its files; which files a change wrote is read from the disk, so nobody re-opens the
70
71
  // scene: only for an editor on this machine, and only files written since the tool call itself.
71
72
  const receiptFor = call.toolName === RQL_MUTATE_TOOL && !options.dryRun && !options.raw && !output.machine
@@ -73,7 +74,7 @@ export const rqlCommand = addFormatOption(new Command('rql')
73
74
  await runToolAction(RQL_CALL, call.toolName, undefined, { ...options, input: JSON.stringify(call.input) }, ({ calledAt, local }) => {
74
75
  if (receiptFor === undefined || !local)
75
76
  return;
76
- const receipt = saveReceipt(resourcesWrittenSince(receiptFor, calledAt), rqlMaySave(query));
77
+ const receipt = saveReceipt(resourcesWrittenSince(receiptFor, calledAt), rqlMaySave(sent));
77
78
  if (receipt)
78
79
  console.log(receipt);
79
80
  });
@@ -1 +1 @@
1
- {"version":3,"file":"rql.js","sourceRoot":"","sources":["../../src/commands/rql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rql.js","sourceRoot":"","sources":["../../src/commands/rql.ts"],"names":[],"mappings":"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"}
package/dist/lib/rql.d.ts CHANGED
@@ -1,18 +1,7 @@
1
- import { RQL_MUTATE_TOOL, RQL_QUERY_TOOL, RQL_SCHEMA_TOOL, decodeQueryFile, isRqlMutation, rqlStages, stripToolName } from '@baizor/gamedev-cli-core';
2
- export { RQL_MUTATE_TOOL, RQL_QUERY_TOOL, RQL_SCHEMA_TOOL, decodeQueryFile, isRqlMutation, rqlStages, stripToolName };
3
- export interface RqlCallOptions {
4
- /** `--schema [type]`: true without a type. */
5
- schema?: string | boolean;
6
- dryRun?: boolean;
7
- maxTargets?: number;
8
- }
9
- /** The rql-* tool and its input for a command-line query, or why the command line is wrong. */
10
- export declare function rqlToolCall(query: string | undefined, options: RqlCallOptions): {
11
- toolName: string;
12
- input: Record<string, unknown>;
13
- } | {
14
- usage: string;
15
- };
1
+ import { RQL_MUTATE_TOOL, RQL_QUERY_TOOL, RQL_SCHEMA_TOOL, decodeQueryFile, isRqlMutation, rqlStages, rqlToolCall, rqlToolFor, splitRqlStatements, stripToolName } from '@baizor/gamedev-cli-core';
2
+ export { RQL_MUTATE_TOOL, RQL_QUERY_TOOL, RQL_SCHEMA_TOOL, decodeQueryFile, isRqlMutation, rqlStages, rqlToolCall, rqlToolFor, splitRqlStatements, stripToolName, };
3
+ /** `rql` without a query (core's {@link rqlToolCall} returns it as the usage error). */
4
+ export declare const RQL_NO_QUERY_USAGE = "No query given: godot-cli rql 'nodes | where name starts-with \"Tree\" | count' (recipes: rql --help)";
16
5
  /**
17
6
  * A hint for a failed RQL tool (`toolName` rql-*) whose error is a familiar slip (an operator spelled as in another
18
7
  * language), else `undefined`.
package/dist/lib/rql.js CHANGED
@@ -2,28 +2,10 @@
2
2
  // make most, and which files a save wrote. Never prints, never exits.
3
3
  import * as fs from 'fs';
4
4
  import * as path from 'path';
5
- import { RQL_MUTATE_TOOL, RQL_QUERY_TOOL, RQL_SCHEMA_TOOL, decodeQueryFile, isRqlMutation, rqlStages, stripToolName } from '@baizor/gamedev-cli-core';
6
- export { RQL_MUTATE_TOOL, RQL_QUERY_TOOL, RQL_SCHEMA_TOOL, decodeQueryFile, isRqlMutation, rqlStages, stripToolName };
7
- /** The rql-* tool and its input for a command-line query, or why the command line is wrong. */
8
- export function rqlToolCall(query, options) {
9
- const { schema, dryRun, maxTargets } = options;
10
- if (schema !== undefined) {
11
- // `rql --schema 'nodes | count'` hands the query to --schema as its value.
12
- if (query !== undefined || (typeof schema === 'string' && /[|\s]/.test(schema.trim()))) {
13
- return { usage: 'Pass either a query or --schema [type] (a type name), not both.' };
14
- }
15
- return { toolName: RQL_SCHEMA_TOOL, input: typeof schema === 'string' ? { type: schema } : {} };
16
- }
17
- if (query === undefined || query.trim() === '') {
18
- return { usage: 'No query given: godot-cli rql \'nodes | where name starts-with "Tree" | count\' (recipes: rql --help)' };
19
- }
20
- if (!isRqlMutation(query)) {
21
- if (dryRun || maxTargets !== undefined)
22
- return { usage: '--dry-run and --max-targets are for a query ending in set / call.' };
23
- return { toolName: RQL_QUERY_TOOL, input: { query } };
24
- }
25
- return { toolName: RQL_MUTATE_TOOL, input: { query, ...(dryRun ? { dry_run: true } : {}), ...(maxTargets !== undefined ? { max_targets: maxTargets } : {}) } };
26
- }
5
+ import { RQL_MUTATE_TOOL, RQL_QUERY_TOOL, RQL_SCHEMA_TOOL, decodeQueryFile, isRqlMutation, rqlStages, rqlToolCall, rqlToolFor, splitRqlStatements, stripToolName, } from '@baizor/gamedev-cli-core';
6
+ export { RQL_MUTATE_TOOL, RQL_QUERY_TOOL, RQL_SCHEMA_TOOL, decodeQueryFile, isRqlMutation, rqlStages, rqlToolCall, rqlToolFor, splitRqlStatements, stripToolName, };
7
+ /** `rql` without a query (core's {@link rqlToolCall} returns it as the usage error). */
8
+ export const RQL_NO_QUERY_USAGE = 'No query given: godot-cli rql \'nodes | where name starts-with "Tree" | count\' (recipes: rql --help)';
27
9
  /** Operators agents bring from other languages, with RQL's spelling. */
28
10
  const OPERATOR_HINTS = [
29
11
  [/^startswith$/i, 'RQL spells it starts-with: where name starts-with "Tree"'],
@@ -1 +1 @@
1
- {"version":3,"file":"rql.js","sourceRoot":"","sources":["../../src/lib/rql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rql.js","sourceRoot":"","sources":["../../src/lib/rql.ts"],"names":[],"mappings":"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"}
@@ -44,9 +44,9 @@ export function canonicalCondition(ref) {
44
44
  * Order matches the addon csproj (ReflectorNet, McpPlugin, Rql, then Code-Exec and its Roslyn).
45
45
  */
46
46
  export const ADDON_PACKAGE_REFERENCES = [
47
- { id: 'com.IvanMurzak.ReflectorNet', version: '5.5.2' },
48
- { id: 'com.IvanMurzak.McpPlugin', version: '8.22.2' },
49
- { id: 'com.IvanMurzak.Rql', version: '0.3.0', editorOnly: true },
47
+ { id: 'com.IvanMurzak.ReflectorNet', version: '5.5.3' },
48
+ { id: 'com.IvanMurzak.McpPlugin', version: '8.23.1' },
49
+ { id: 'com.IvanMurzak.Rql', version: '0.4.0', editorOnly: true },
50
50
  { id: 'com.IvanMurzak.CodeExec', version: '0.4.1', editorOnly: true, inGameOptIn: true },
51
51
  { id: 'com.IvanMurzak.CodeExec.Roslyn', version: '0.4.1', editorOnly: true, inGameOptIn: true },
52
52
  { id: 'Microsoft.CodeAnalysis.CSharp', version: '4.12.0', editorOnly: true, inGameOptIn: true },
@@ -12,8 +12,18 @@ export interface EditorServer {
12
12
  }
13
13
  /** True for the server binary's process name: `gamedev-mcp-server[.exe]`, a full path, or Linux's 15-char `comm`. */
14
14
  export declare function isMcpServerName(name: string): boolean;
15
- /** The PIDs of the processes below `rootPid` that run the server binary. */
16
- export declare function findServerDescendants(table: readonly ProcessEntry[], rootPid: number): number[];
15
+ /**
16
+ * The PIDs of the processes below `rootPid` that run the server binary, by their table name or by the executable name
17
+ * `nameOf` gives (a server started through a symlink matches only by the former, one whose thread was renamed only by
18
+ * the latter).
19
+ */
20
+ export declare function findServerDescendants(table: readonly ProcessEntry[], rootPid: number, nameOf?: (entry: ProcessEntry) => string): number[];
21
+ /**
22
+ * The executable a process runs. On Linux `ps` reports `comm`, the MAIN THREAD's name, which a process may rename
23
+ * (Node.js 24+ names it `MainThread`), so the `/proc/<pid>/exe` link is read instead, falling back to `comm` when it
24
+ * cannot be read (another user's process). Elsewhere the table name already is the executable.
25
+ */
26
+ export declare function executableName(entry: ProcessEntry): string;
17
27
  /** Parse `pid ppid [startedTicks] name` lines (Windows rows carry UTC .NET ticks). */
18
28
  export declare function parseProcessTable(output: string, withStart: boolean): ProcessEntry[];
19
29
  /**
@@ -1,4 +1,5 @@
1
1
  import { execFileSync } from 'child_process';
2
+ import * as fs from 'fs';
2
3
  import * as path from 'path';
3
4
  import { platform } from 'os';
4
5
  import { isProcessAlive, killProcessTree, readProcessStart } from '@baizor/gamedev-cli-core';
@@ -45,9 +46,28 @@ function descendantsOf(table, rootPid) {
45
46
  }
46
47
  return found;
47
48
  }
48
- /** The PIDs of the processes below `rootPid` that run the server binary. */
49
- export function findServerDescendants(table, rootPid) {
50
- return descendantsOf(table, rootPid).filter((e) => isMcpServerName(e.name)).map((e) => e.pid);
49
+ /**
50
+ * The PIDs of the processes below `rootPid` that run the server binary, by their table name or by the executable name
51
+ * `nameOf` gives (a server started through a symlink matches only by the former, one whose thread was renamed only by
52
+ * the latter).
53
+ */
54
+ export function findServerDescendants(table, rootPid, nameOf = (e) => e.name) {
55
+ return descendantsOf(table, rootPid).filter((e) => isMcpServerName(e.name) || isMcpServerName(nameOf(e))).map((e) => e.pid);
56
+ }
57
+ /**
58
+ * The executable a process runs. On Linux `ps` reports `comm`, the MAIN THREAD's name, which a process may rename
59
+ * (Node.js 24+ names it `MainThread`), so the `/proc/<pid>/exe` link is read instead, falling back to `comm` when it
60
+ * cannot be read (another user's process). Elsewhere the table name already is the executable.
61
+ */
62
+ export function executableName(entry) {
63
+ if (platform() !== 'linux')
64
+ return entry.name;
65
+ try {
66
+ return fs.readlinkSync(`/proc/${entry.pid}/exe`).replace(/ \(deleted\)$/, '');
67
+ }
68
+ catch {
69
+ return entry.name;
70
+ }
51
71
  }
52
72
  /** Parse `pid ppid [startedTicks] name` lines (Windows rows carry UTC .NET ticks). */
53
73
  export function parseProcessTable(output, withStart) {
@@ -90,7 +110,7 @@ export function listProcessTable() {
90
110
  }
91
111
  /** The MCP server processes the editor `editorPid` started (its own descendants only), with their start tokens. */
92
112
  export async function findEditorServers(editorPid) {
93
- const pids = findServerDescendants(listProcessTable(), editorPid);
113
+ const pids = findServerDescendants(listProcessTable(), editorPid, executableName);
94
114
  const servers = await Promise.all(pids.map(async (pid) => ({ pid, start: await readProcessStart(pid) })));
95
115
  for (const s of servers)
96
116
  verbose(`Editor PID ${editorPid} runs MCP server PID ${s.pid}`);
@@ -1 +1 @@
1
- {"version":3,"file":"editor-mcp-server.js","sourceRoot":"","sources":["../../src/utils/editor-mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor-mcp-server.js","sourceRoot":"","sources":["../../src/utils/editor-mcp-server.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * download entirely (offline / CI). Bumping the addon's server pin requires
6
6
  * bumping this in the same PR or the parity test goes red.
7
7
  */
8
- export declare const DEFAULT_SERVER_VERSION = "9.5.1";
8
+ export declare const DEFAULT_SERVER_VERSION = "9.5.3";
9
9
  /** GitHub-release host the server zip + manifest are downloaded from. NOTHING else is trusted. */
10
10
  export declare const TRUSTED_DOWNLOAD_HOST = "github.com";
11
11
  /** The `owner/repo` the shared server releases live under. */
@@ -18,7 +18,7 @@ import { createHash } from 'crypto';
18
18
  * download entirely (offline / CI). Bumping the addon's server pin requires
19
19
  * bumping this in the same PR or the parity test goes red.
20
20
  */
21
- export const DEFAULT_SERVER_VERSION = '9.5.1';
21
+ export const DEFAULT_SERVER_VERSION = '9.5.3';
22
22
  /** GitHub-release host the server zip + manifest are downloaded from. NOTHING else is trusted. */
23
23
  export const TRUSTED_DOWNLOAD_HOST = 'github.com';
24
24
  /** The `owner/repo` the shared server releases live under. */
@@ -66,9 +66,10 @@ function buildRqlReference() {
66
66
  return [
67
67
  `# RQL with ${CLI_NAME}`,
68
68
  '',
69
- `\`${cmd("rql '<query>'")}\` runs one query. A query ending in \`set\` / \`call\` changes the editor, all or nothing`,
70
- '(`--dry-run` shows the change without making it; `--max-targets <n>` allows more targets). Any other query only',
71
- 'reads. A shell that strips the double quotes: put the query in a file and pass `-f <file>`.',
69
+ `\`${cmd("rql '<query>'")}\` runs one query, or several separated by \`;\` in one call. A query ending in \`set\` / \`call\``,
70
+ 'changes the editor, all or nothing (`--dry-run` shows the change without making it; `--max-targets <n>` allows more',
71
+ 'targets); in a change of several statements each one ends in `set` / `call` and the first failure stops the rest. Any',
72
+ 'other query only reads. A shell that strips the double quotes: put the query in a file and pass `-f <file>`.',
72
73
  '',
73
74
  ...RQL_LANGUAGE,
74
75
  '',
@@ -91,7 +92,7 @@ const INSTALL_TEMPLATE = [
91
92
  "",
92
93
  "## Prerequisites",
93
94
  "",
94
- "Node.js ^20.19.0 or >=22.12.0 and npm are required. Node.js 21 is unsupported.",
95
+ "Node.js 22.14 or later and npm are required.",
95
96
  "Check existing installations first:",
96
97
  "",
97
98
  "```@SHELL@",
@@ -1 +1 @@
1
- {"version":3,"file":"skill-guides.js","sourceRoot":"","sources":["../../src/utils/skill-guides.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-guides.js","sourceRoot":"","sources":["../../src/utils/skill-guides.ts"],"names":[],"mappings":"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"}
@@ -71,7 +71,7 @@ export declare function addonToolDirs(repoRoot: string): string[];
71
71
  *
72
72
  * Implemented as an explicit walk rather than `readdirSync(dir, { recursive: true })`
73
73
  * so the behaviour is identical on every Node version this package supports
74
- * (`^20.19.0 || >=22.12.0`) — the `withFileTypes` + `recursive` combination reports
74
+ * (`>=22.14.0`) — the `withFileTypes` + `recursive` combination reports
75
75
  * the parent directory through differently-named properties across those releases.
76
76
  * Returns absolute paths sorted for deterministic ordering.
77
77
  */
@@ -298,7 +298,7 @@ export function addonToolDirs(repoRoot) {
298
298
  *
299
299
  * Implemented as an explicit walk rather than `readdirSync(dir, { recursive: true })`
300
300
  * so the behaviour is identical on every Node version this package supports
301
- * (`^20.19.0 || >=22.12.0`) — the `withFileTypes` + `recursive` combination reports
301
+ * (`>=22.14.0`) — the `withFileTypes` + `recursive` combination reports
302
302
  * the parent directory through differently-named properties across those releases.
303
303
  * Returns absolute paths sorted for deterministic ordering.
304
304
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "godot-cli",
3
- "version": "0.39.1",
3
+ "version": "0.39.2",
4
4
  "description": "Cross-platform CLI tool for Godot-MCP (Skills & MCP). Resolves and launches the Godot editor with MCP connection env vars, runs MCP/system tools over HTTP, probes server health, configures AI agents (Claude Code, Cursor, VS Code, …), and enables/disables the godot_mcp addon. Works with Claude Code, Cursor, Copilot, and any MCP client.",
5
5
  "type": "module",
6
6
  "main": "dist/lib.js",
@@ -59,10 +59,10 @@
59
59
  },
60
60
  "homepage": "https://ai-game.dev",
61
61
  "engines": {
62
- "node": "^20.19.0 || >=22.12.0"
62
+ "node": ">=22.14.0"
63
63
  },
64
64
  "dependencies": {
65
- "@baizor/gamedev-cli-core": "^0.11.1",
65
+ "@baizor/gamedev-cli-core": "^0.12.0",
66
66
  "chalk": "^6.0.1",
67
67
  "commander": "^15.1.0",
68
68
  "yocto-spinner": "^1.2.2"