Skip to content

Releases: spardanviro/GodotCli

gdcli 0.4.2

Choose a tag to compare

@github-actions github-actions released this 29 Oct 03:36

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, or gdcli-bridge-0.4.2.zip below, or the Godot Asset Library
  • Claude plugin: claude plugin marketplace update gdcli then claude plugin update godot@gdcli, or upload gdcli-claude-plugin-0.4.2.zip below in the Claude app (Customize > Plugins > Upload plugin)

Changed

  • Skills check as far as the request goes. godot-cli, godot-tilemap and godot-sprite-animation no longer have the agent start the game to confirm a node it was only asked to add: saving and one gd run are the check, and the running game is read only when the request is about behaviour, each value once. gd doctor is 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_create answers with the node's animation and autoplay too.

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 gd call 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

Choose a tag to compare

@github-actions github-actions released this 28 Oct 12:40

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, or gdcli-bridge-0.4.1.zip below, or the Godot Asset Library
  • Claude plugin: claude plugin marketplace update gdcli then claude plugin update godot@gdcli, or upload gdcli-claude-plugin-0.4.1.zip below 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 reimport
  • batch: several undoable steps in one request; a failed step undoes the ones before it
  • fs_edit_text: replace exact parts of a script instead of rewriting it
  • preset_create: 2D particle effects (explosion, fire, smoke, sparks, rain, dust), short node animations (fade, pulse, shake, bob, blink), a following camera
  • collision_shape_fit: a collision shape the size of the sprite or mesh beside it
  • theme_set: UI themes item by item
  • gridmap_library_add, gridmap_set_cells, gridmap_get: 3D levels from pieces
  • node_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 sequence
  • game_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 once
  • game_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

Choose a tag to compare

@github-actions github-actions released this 21 Oct 13:44

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

Choose a tag to compare

@github-actions github-actions released this 20 Oct 10:13

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

Choose a tag to compare

@spardanviro spardanviro released this 20 Oct 08:21

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