gdharness 1.3.60 → 1.3.61
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 +20 -20
- package/build/cli.js +2104 -1691
- package/build/godot/addons/auto_reload/auto_reload.gd +3 -3
- package/build/godot/addons/gdharness_editor/bridge_client.gd +4 -4
- package/build/godot/addons/gdharness_editor/declared_values.gd +13 -13
- package/build/godot/addons/gdharness_editor/file_reads.gd +6 -6
- package/build/godot/addons/gdharness_editor/headless_check.gd +9 -6
- package/build/godot/addons/gdharness_editor/property_paths.gd +3 -3
- package/build/godot/addons/gdharness_editor/property_values.gd +10 -10
- package/build/godot/addons/gdharness_editor/reading.gd +22 -18
- package/build/godot/addons/gdharness_editor/scene_file.gd +5 -5
- package/build/godot/addons/gdharness_editor/serialisation.gd +4 -4
- package/build/godot/addons/gdharness_editor/tools/animation_states.gd +5 -5
- package/build/godot/addons/gdharness_editor/tools/animation_tools.gd +6 -6
- package/build/godot/addons/gdharness_editor/tools/animation_tracks.gd +9 -9
- package/build/godot/addons/gdharness_editor/tools/class_tools.gd +3 -3
- package/build/godot/addons/gdharness_editor/tools/filesystem_tools.gd +5 -5
- package/build/godot/addons/gdharness_editor/tools/navigation_bake.gd +5 -5
- package/build/godot/addons/gdharness_editor/tools/play_tools.gd +2 -2
- package/build/godot/addons/gdharness_editor/tools/profile_tools.gd +1 -1
- package/build/godot/addons/gdharness_editor/tools/resource_tools.gd +5 -5
- package/build/godot/addons/gdharness_editor/tools/scene_groups.gd +3 -3
- package/build/godot/addons/gdharness_editor/tools/scene_kin.gd +3 -3
- package/build/godot/addons/gdharness_editor/tools/scene_paths.gd +4 -4
- package/build/godot/addons/gdharness_editor/tools/scene_placing.gd +3 -3
- package/build/godot/addons/gdharness_editor/tools/scene_tools.gd +10 -10
- package/build/godot/addons/gdharness_editor/tools/signal_tools.gd +1 -1
- package/build/godot/addons/gdharness_editor/tools/tileset_tools.gd +5 -5
- package/build/godot/addons/gdharness_runtime/declared_values.gd +13 -13
- package/build/godot/addons/gdharness_runtime/reading.gd +22 -18
- package/build/godot/addons/gdharness_runtime/runtime_accessibility.gd +2 -2
- package/build/godot/addons/gdharness_runtime/runtime_autoload.gd +89 -18
- package/build/godot/addons/gdharness_runtime/runtime_capture.gd +6 -6
- package/build/godot/addons/gdharness_runtime/runtime_changes.gd +10 -10
- package/build/godot/addons/gdharness_runtime/runtime_frames.gd +5 -4
- package/build/godot/addons/gdharness_runtime/runtime_hover.gd +3 -4
- package/build/godot/addons/gdharness_runtime/runtime_input.gd +8 -8
- package/build/godot/addons/gdharness_runtime/runtime_items.gd +1 -1
- package/build/godot/addons/gdharness_runtime/runtime_menus.gd +3 -3
- package/build/godot/addons/gdharness_runtime/runtime_mouse.gd +5 -5
- package/build/godot/addons/gdharness_runtime/runtime_paths.gd +20 -20
- package/build/godot/addons/gdharness_runtime/runtime_queries.gd +13 -13
- package/build/godot/addons/gdharness_runtime/runtime_says.gd +5 -5
- package/build/godot/addons/gdharness_runtime/runtime_targets.gd +39 -39
- package/build/godot/addons/gdharness_runtime/runtime_typing.gd +3 -3
- package/build/godot/addons/gdharness_runtime/runtime_values.gd +7 -7
- package/build/godot/addons/gdharness_runtime/runtime_waits.gd +8 -8
- package/build/godot/addons/gdharness_runtime/runtime_words.gd +5 -5
- package/build/godot/addons/gdharness_runtime/serialisation.gd +4 -4
- package/build/godot/addons/gdharness_tests/bench.gd +1 -1
- package/build/godot/addons/gdharness_tests/share.gd +6 -6
- package/build/godot/addons/gdharness_tests/suites.gd +1 -1
- package/build/godot/operations/audio_buses.gd +4 -4
- package/build/godot/operations/class_cache.gd +3 -3
- package/build/godot/operations/classdb_queries.gd +1 -1
- package/build/godot/operations/declared_values.gd +13 -13
- package/build/godot/operations/dependencies.gd +6 -6
- package/build/godot/operations/export_presets.gd +7 -7
- package/build/godot/operations/file_reads.gd +6 -6
- package/build/godot/operations/gdscript_analysis.gd +6 -6
- package/build/godot/operations/gdscript_authoring.gd +11 -11
- package/build/godot/operations/godot_operations.gd +1 -1
- package/build/godot/operations/import_pipeline.gd +12 -12
- package/build/godot/operations/input_actions.gd +3 -3
- package/build/godot/operations/logger.gd +1 -1
- package/build/godot/operations/plugins.gd +2 -2
- package/build/godot/operations/project_config.gd +11 -11
- package/build/godot/operations/project_validation.gd +1 -1
- package/build/godot/operations/property_paths.gd +3 -3
- package/build/godot/operations/property_values.gd +10 -10
- package/build/godot/operations/reading.gd +22 -18
- package/build/godot/operations/resource_files.gd +1 -1
- package/build/godot/operations/script_check.gd +2 -2
- package/build/godot/operations/serialisation.gd +4 -4
- package/build/godot/tests/listed.gd +9 -9
- package/build/keeper.js +511 -162
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -16,11 +16,12 @@
|
|
|
16
16
|
[](https://bun.sh/)
|
|
17
17
|
[](LICENSE)
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
An agent cannot see a running game. It reads your scripts and guesses at the rest: whether the
|
|
20
20
|
button is on screen, whether the panel updated, whether that error mattered.
|
|
21
21
|
|
|
22
|
-
gdharness
|
|
23
|
-
|
|
22
|
+
gdharness is an MCP server and four Godot addons. Through them the agent asks the open editor and
|
|
23
|
+
the running game what the screen says and where a control is. It can also ask what a property holds
|
|
24
|
+
now, what the console printed, and what broke on which line.
|
|
24
25
|
|
|
25
26
|
## Install
|
|
26
27
|
|
|
@@ -37,19 +38,18 @@ Or do it yourself, and pick your harness:
|
|
|
37
38
|
## The loop it exists for
|
|
38
39
|
|
|
39
40
|
```jsonc
|
|
40
|
-
editor_run { "op": "start", "projectPath": "C:/games/
|
|
41
|
+
editor_run { "op": "start", "projectPath": "C:/games/shop" }
|
|
41
42
|
runtime_inspect { "op": "find", "says": "Buy" } // the button, by the word on it
|
|
42
|
-
runtime_input { "op": "click", "nodePath": "/root/
|
|
43
|
-
runtime_inspect { "op": "text", "nodePath": "/root/
|
|
44
|
-
editor_output { "projectPath": "C:/games/
|
|
43
|
+
runtime_input { "op": "click", "nodePath": "/root/Shop/Ledger/BuyButton" }
|
|
44
|
+
runtime_inspect { "op": "text", "nodePath": "/root/Shop/Ledger" } // what the panel says now
|
|
45
|
+
editor_output { "projectPath": "C:/games/shop" } // errors and warnings, with backtraces
|
|
45
46
|
```
|
|
46
47
|
|
|
47
|
-
The open editor plays the game, so
|
|
48
|
-
|
|
48
|
+
The open editor plays the game, so you can set a breakpoint and read the variables in scope when it
|
|
49
|
+
stops.
|
|
49
50
|
|
|
50
|
-
Every answer is read back
|
|
51
|
-
|
|
52
|
-
emptily, so a call that succeeded is a call that was understood.
|
|
51
|
+
Every answer is read back from the engine, never echoed from the request. A tool that cannot answer
|
|
52
|
+
says which state it is in and what would change it.
|
|
53
53
|
|
|
54
54
|
## At a glance
|
|
55
55
|
|
|
@@ -59,26 +59,26 @@ emptily, so a call that succeeded is a call that was understood.
|
|
|
59
59
|
| Surface | 30 tools named `domain_verb`, 4 `godot://` resources and 3 prompts |
|
|
60
60
|
| Reaches | The editor that is open, a game it is playing, and the project on disk |
|
|
61
61
|
| Harnesses | 35, written inside the project wherever the harness has a project config |
|
|
62
|
-
| Skill | Written to `.agents/skills`,
|
|
62
|
+
| Skill | Written to `.agents/skills`, with a copy for Claude Code, Kiro and Cline |
|
|
63
63
|
| Install | npm, or a Sigstore-signed archive with an SBOM, SLSA Build Level 3 |
|
|
64
64
|
| Proven | Every tool driven against Godot 4.7.2 in CI, on Windows, Linux and macOS |
|
|
65
|
-
| Status | 1.
|
|
65
|
+
| Status | 1.x: every release is a patch. [What a bump means](.github/CONTRIBUTING.md#versions) |
|
|
66
66
|
|
|
67
|
-
|
|
67
|
+
Godot before 4.7 is not tested.
|
|
68
68
|
|
|
69
69
|
## Documentation
|
|
70
70
|
|
|
71
71
|
[aureliolo.github.io/gdharness](https://aureliolo.github.io/gdharness): installing it, how the
|
|
72
72
|
parts connect, and every tool, op and argument.
|
|
73
73
|
|
|
74
|
-
[SECURITY.md](.github/SECURITY.md) is how to report
|
|
74
|
+
[SECURITY.md](.github/SECURITY.md) is how to report a security fault.
|
|
75
75
|
[CONTRIBUTING.md](.github/CONTRIBUTING.md) is what a change has to clear.
|
|
76
76
|
|
|
77
77
|
## Project
|
|
78
78
|
|
|
79
|
-
Fork of [GoPeak](https://github.com/HaD0Yun/Doyunha-Gopeak) v2.3.9, September 2026, MIT
|
|
80
|
-
original MCP server [godot-mcp](https://github.com/Coding-Solo/godot-mcp) by
|
|
81
|
-
[Solomon Elias](https://github.com/Coding-Solo), GoPeak by
|
|
82
|
-
|
|
79
|
+
Fork of [GoPeak](https://github.com/HaD0Yun/Doyunha-Gopeak) v2.3.9, September 2026, MIT. The
|
|
80
|
+
original MCP server is [godot-mcp](https://github.com/Coding-Solo/godot-mcp) by
|
|
81
|
+
[Solomon Elias](https://github.com/Coding-Solo), and GoPeak is by
|
|
82
|
+
[HaD0Yun](https://github.com/HaD0Yun).
|
|
83
83
|
|
|
84
84
|
Not affiliated with the Godot Foundation.
|