Repository navigation
Releases: spardanviro/GodotCli
Release list
gdcli 0.4.2
gdcli 0.4.2: lighter checks in three skills, found with a full real-Claude baseline (40 tasks, 3 runs each, 120/120 passed).
Install or update
- Command line:
npm install -g @spardanviro/gdcli - Bridge in a project:
gd bridge install --force, orgdcli-bridge-0.4.2.zipbelow, or the Godot Asset Library - Claude plugin:
claude plugin marketplace update gdclithenclaude plugin update godot@gdcli, or uploadgdcli-claude-plugin-0.4.2.zipbelow in the Claude app (Customize > Plugins > Upload plugin)
Changed
- Skills check as far as the request goes.
godot-cli,godot-tilemapandgodot-sprite-animationno longer have the agent start the game to confirm a node it was only asked to add: saving and onegd runare the check, and the running game is read only when the request is about behaviour, each value once.gd doctoris for when a command cannot get through, not before every task. The tilemap skill says how to find the bottom row of the screen from the viewport size. sprite_frames_createanswers with the node'sanimationandautoplaytoo.
Measured with real Claude: tilemap.floor went from 14.7 turns and $0.31 to 13.0 turns and $0.23, sprite.walk_frames from 10.7 turns and $0.23 to 10.0 and $0.22, and five tasks that do check the running game still passed every run.
Evals
- Game and play checks run the game at 0.05x speed: each
gdcall takes a second or more on a slow disk or a busy machine, and a jump had landed before the read after it. - A session cut short by a usage limit counts as without a verdict instead of failed.
- New baseline in
evals/results/claude-baseline.json: 120/120, 1581 turns, $30.47; nothing broke against the previous one.
gdcli 0.4.1
gdcli 0.4.1: 21 new editor commands, four new skills, MCP tool groups and resources, and a security review's fixes.
Install or update
- Command line:
npm install -g @spardanviro/gdcli - Bridge in a project:
gd bridge install --force, orgdcli-bridge-0.4.1.zipbelow, or the Godot Asset Library - Claude plugin:
claude plugin marketplace update gdclithenclaude plugin update godot@gdcli, or uploadgdcli-claude-plugin-0.4.1.zipbelow in the Claude app (Customize > Plugins > Upload plugin)
New
Building
import_settings_get/import_settings_set: a texture's compression and mipmaps, a sound's loop, model import numbers, then reimportbatch: several undoable steps in one request; a failed step undoes the ones before itfs_edit_text: replace exact parts of a script instead of rewriting itpreset_create: 2D particle effects (explosion, fire, smoke, sparks, rain, dust), short node animations (fade, pulse, shake, bob, blink), a following cameracollision_shape_fit: a collision shape the size of the sprite or mesh beside ittheme_set: UI themes item by itemgridmap_library_add,gridmap_set_cells,gridmap_get: 3D levels from piecesnode_connections,node_disconnect_signal,node_remove_from_group,resource_get,editor_select
Checking the running game
game_input_events: keys, typed text, mouse clicks and drags, gamepad, actions and waits, as a timed sequencegame_ui: the visible controls with their text, state and position in window pixels (through stretch and SubViewports, checked with clicks in a windowed game)game_expect: several checks of node values and visible text at oncegame_speed,game_performance
Without an editor
gd test: runs the project's GUT or gdUnit4 tests and lists each failure (checked with GUT 9.7.1 and gdUnit4 6.2.2)project_analyze: stats, unused files, what uses a file, scenes that contain themselves
MCP
gd mcp --tools core,game,...: only the tool groups a client needs- Read commands as resources:
godot://scene/tree,godot://node/{path},godot://file/{path},godot://class/{name}, ...
Skills: godot-shaders, godot-multiplayer, godot-addons, godot-migrate-3-to-4 (17 in all).
Fixed
- A global security and correctness review: scenes and resources may no longer use files outside the project, animation expressions and import settings that could run code need a person's approval, plus about 80 smaller fixes in the bridge, the command line, the hooks and the docs.
- Game screenshots were deleted right after saving in a newly started editor.
- Input events are described in English whatever the editor's language.
Docs
English README as the front page (Chinese in README.zh-CN.md), a step-by-step guide, a comparison with Godot AI, and SECURITY.md.
v0.3.2
gdcli 0.3.2
安装
- 命令行:
npm install -g @spardanviro/gdcli(Node.js 22 以上,Godot 4.3 以上)。命令是gd和gdcli。 - 桥接插件:Godot 资源库里的 gdcli bridge,或下载本页的
gdcli-bridge-0.3.2.zip,或在项目里运行gd bridge install。已装了桥接的项目运行gd bridge install更新。 - Claude Code 插件:
claude plugin marketplace update gdcli,然后claude plugin update godot@gdcli。
新增
- 插件:会话开始时的钩子。在 Godot 项目里开始的会话会被告知先用
godot-cli技能、通过gd操作,需求里不提 Godot 也一样。 - 插件:三个技能。
godot-localization(翻译表、tr()、切换语言、字体)、godot-export(导出模板和预设、gd export、Web 导出)、godot-audio-buses(总线布局、效果器、音量设置)。 - 桥接:写入默认总线布局后立即把它载入编辑器。以前编辑器要重开才认得新总线,播放器设到新总线上会被存成
Master。 - 桥接:
game_input发送真正的输入事件,写在_input、_unhandled_input里的处理和有焦点的按钮都能收到。
安全
- 写入任何 C# 文件、把文件改名成
.cs、挂上 C# 脚本,都要人在编辑器里批准。在 .NET 版编辑器上实测,普通 C# 类的字段初始化也会在编辑器里运行。 - .NET 构建和还原会读取的文件(
*.csproj.user、Directory.Build.rsp、NuGet.Config、global.json等)列为敏感文件。 - 场景和资源文件里内嵌的脚本,写入一律要批准。以前用转义字符写出的
@tool能躲过检查。 - 改项目设置
audio/buses/default_bus_layout要批准。
修复
fs_move:机器忙的时候,移动文件后已打开场景里的引用可能丢失。现在移动时立即更新 uid 表。
评测
- 33 个任务,其中 10 个是难题,在运行中的游戏里检查行为。第二次 Claude 基线:31 个任务各跑 3 次,93/93 通过。
v0.3.1
gdcli 0.3.1:第一个上 npm 的版本
安装
- 命令行:
npm install -g @spardanviro/gdcli(Node.js 22 以上,Godot 4.3 以上)。npm 不接受gdcli这个包名(和已有的gd-cli太像),所以包带作用域;命令名不变。装好后gd和gdcli是同一个命令;gd被别名占用时(如 oh-my-zsh 的 git 插件)用gdcli。 - 桥接插件:
gd bridge install装进当前项目;或者下载本页的gdcli-bridge-0.3.1.zip,把里面的addons/gdcli放进项目。 - Claude Code 插件:
claude plugin marketplace update gdcli,然后claude plugin update godot@gdcli。
相对 0.3.0 的变化
- npm 包
@spardanviro/gdcli:新增gdcli命令,附带 README 和 LICENSE。npm 上的包从1e9f698发布,和这个标签只差包名。 gd status会清理被强制结束的编辑器留下的锁文件,前提是它的进程已经不在。- 测试范围扩大:桥接测试和端到端测试原来只在 Linux 上跑 4.3 至 4.7,现在 Godot 4.7 还在 Windows、macOS 和 .NET 版上跑。新增多实例的端到端测试(两个项目各开一个编辑器;同一个项目开两个时返回 MULTIPLE_EDITORS,用 --instance 选择),以及经过目录联接或符号链接的读写会被拒绝的测试。
- 发布流程:推送版本标签后,自动打包、测试,并把桥接 zip 挂到 Release 上。
完整说明见 README 和 docs/releasing.md。
v0.3.0
gdcli 0.3.0
新增
- gd mcp:内置 MCP 服务器(标准输入输出)。工具就是编辑器的命令,另加 10 个不需要编辑器的 gd_* 工具;修改类命令同样要确认,可以空跑。
- gd mcp configure <claude|codex|cursor|vscode|gemini>:把服务器写进对应客户端的配置。先显示要写的内容,加 --yes 才写入;只改 gdcli 这一项,并写入 Godot 的路径。已用 Codex 实测连通。
- gd skills install codex | --dir <目录>:把插件的 10 个技能装给 Codex 或其他智能体。
- 评测集:23 个任务,node evals/run.mjs 一键重跑;回放和空跑两种模式在 CI 上跑(Godot 4.3、4.7)。
- 第一次用真实 Claude 跑的基线:23/23 通过(evals/results/claude-baseline.json)。
升级
- Claude 插件:claude plugin marketplace update gdcli,然后 claude plugin update godot@gdcli
- 已经装了桥接的项目:运行 gd bridge install 更新到 0.3.0