summer-engine 2.6.6 → 2.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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +3 -1
- package/.codex-plugin/plugin.json +5 -2
- package/.cursor-plugin/plugin.json +4 -1
- package/.opencode/plugins/summer.js +1 -1
- package/AGENTS.md +8 -4
- package/CHANGELOG.md +30 -0
- package/GEMINI.md +5 -4
- package/README.md +7 -4
- package/_persona/summer/SKILL.md +1 -0
- package/commands/summer.md +13 -0
- package/dist/bin/summer.js +4 -0
- package/dist/commands/debug.d.ts +2 -0
- package/dist/commands/debug.js +44 -0
- package/dist/commands/doctor.js +112 -8
- package/dist/commands/skills.js +1 -1
- package/dist/lib/api-client.d.ts +11 -2
- package/dist/lib/api-client.js +110 -9
- package/dist/lib/async-op-lifecycle.d.ts +7 -2
- package/dist/lib/async-op-lifecycle.js +32 -9
- package/dist/lib/debug-report.d.ts +50 -0
- package/dist/lib/debug-report.js +308 -0
- package/dist/lib/game-task-plan.js +4 -4
- package/dist/lib/mcp-boot-notice.d.ts +3 -0
- package/dist/lib/mcp-boot-notice.js +7 -0
- package/dist/lib/mcp-log.d.ts +3 -0
- package/dist/lib/mcp-log.js +72 -0
- package/dist/lib/skills-registry.d.ts +25 -1
- package/dist/lib/skills-registry.js +46 -0
- package/dist/mcp/server.d.ts +2 -2
- package/dist/mcp/server.js +79 -7
- package/dist/mcp/tools/asset-tools.js +33 -12
- package/dist/mcp/tools/cloud-tools.js +15 -15
- package/dist/mcp/tools/debug-tools.js +44 -1
- package/dist/mcp/tools/file-tools.d.ts +2 -0
- package/dist/mcp/tools/file-tools.js +154 -0
- package/dist/mcp/tools/generate-tools.js +143 -5
- package/dist/mcp/tools/project-tools.js +25 -20
- package/dist/mcp/tools/scene-tools.js +101 -24
- package/dist/mcp/tools/with-engine.js +4 -4
- package/hooks/pre-commit-doctor.sh +0 -0
- package/hooks/run-hook.cmd +0 -0
- package/hooks/session-start.sh +0 -0
- package/package.json +1 -1
- package/skills/2d-assets/create-asset-sheet/SKILL.md +17 -15
- package/skills/debugging/debug/SKILL.md +23 -1
- package/skills/deployment/remote-deploy/SKILL.md +107 -0
- package/skills/scene-and-project/brainstorm-game/SKILL.md +4 -4
- package/skills/scene-and-project/summer-cloud/SKILL.md +92 -0
- package/skills/scripting-patterns/gdscript-patterns/SKILL.md +1 -1
- package/skills/workflow/brainstorming/scripts/start-server.sh +0 -0
- package/skills/workflow/brainstorming/scripts/stop-server.sh +0 -0
- package/skills/workflow/investigating-bugs/find-polluter.sh +0 -0
- package/skills/workflow/mcpupdate/SKILL.md +6 -6
- package/skills/workflow/using-summer/SKILL.md +20 -1
- package/skills/workflow/writing-skills/render-graphs.js +0 -0
|
@@ -145,6 +145,6 @@ Note the field name difference too: `LabelSettings.outline_color` (Label 2D) vs
|
|
|
145
145
|
|
|
146
146
|
## Scene Integration
|
|
147
147
|
|
|
148
|
-
When the AI adds a node with Summer MCP tools and attaches a script, the script path is set via `summer_set_prop(path, "script", "res://path/to/script.gd")`. The script file must exist first. Create
|
|
148
|
+
When the AI adds a node with Summer MCP tools and attaches a script, the script path is set via `summer_set_prop(path, "script", "res://path/to/script.gd")`. The script file must exist first. Create it with guarded `summer_write_file` or edit it with `summer_replace_text`, then attach the script and connect scene signals.
|
|
149
149
|
|
|
150
150
|
For signal connections, the receiver must have the handler method. Create the script with the method stub before calling `summer_connect_signal`.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -111,7 +111,7 @@ and skills, make them teach this, and flag where they don't:
|
|
|
111
111
|
|
|
112
112
|
1. **Understand** what the user wants (one pass, no tool spelunking first).
|
|
113
113
|
2. **Outline** the plan fast and briefly; proceed once it's clearly right.
|
|
114
|
-
3. **Execute
|
|
114
|
+
3. **Execute through Summer's identity-bound tools**. Write GDScript by default (C# only if the project already uses it). Read and mutate `.gd`/`.tscn`/`.tres` with `summer_read_file`, `summer_replace_text`, or guarded `summer_write_file`.
|
|
115
115
|
4. **Play & auto-iterate**. Run the scene/game, read console + script/debugger errors, fix, repeat until clean. Crucially: **play the scene you just made first**, so boot/parse crashes surface immediately instead of after the user navigates to the feature.
|
|
116
116
|
|
|
117
117
|
## Known bad path to fix first (from real sessions)
|
|
@@ -119,11 +119,11 @@ The MCP playbook over-steered agents into **ops-first** scene editing (open/save
|
|
|
119
119
|
instantiate) when plain **file editing** is simpler and safer for a headless agent, causing
|
|
120
120
|
wasted turns, scene "rename"/save-as churn, and editor-tab clobbering. Keep these fixed:
|
|
121
121
|
|
|
122
|
-
- **
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
- **
|
|
126
|
-
|
|
122
|
+
- **Guarded files for `.tscn`/`.tres`:** use identity-bound MCP text tools for complete-file work;
|
|
123
|
+
use scene ops for live hierarchy/inspector changes, navmesh/light bake, play/observe, runtime
|
|
124
|
+
inspection, or instancing. New files are create-only; overwrites require a read sha256.
|
|
125
|
+
- **External-host limitation:** host tools can still bypass these guards. Flag any doctrine that
|
|
126
|
+
recommends doing so while MCP is available.
|
|
127
127
|
- **Constraint-based flow:** the playbook's flow is conditional (`buildFlow` for the default,
|
|
128
128
|
`liveEngineFlow` only when you need the running engine), not a prescriptive always-open-the-editor loop.
|
|
129
129
|
|
|
@@ -36,7 +36,7 @@ If `CLAUDE.md` says "skip the brainstorm, just build it" and a skill says "alway
|
|
|
36
36
|
Two layers:
|
|
37
37
|
|
|
38
38
|
- **Skills** — discipline guides that fire on specific situations: brainstorming a game, designing a mechanic, building an FPS controller, debugging a crash, shipping a build. Each one is a SKILL.md you load via the Skill tool.
|
|
39
|
-
- **MCP tools** — `summer_*` tools that talk to the running Summer Engine on `localhost:6550`. Scene mutation (`summer_add_node`, `summer_set_prop`), inspection (`summer_get_scene_tree`, `summer_inspect_node`), play/diagnostics (`summer_play`, `summer_get_diagnostics`), asset import/generation (`summer_import_from_url`, `summer_generate_3d`), and 30+ more.
|
|
39
|
+
- **MCP tools** — `summer_*` tools that talk to the running Summer Engine on `localhost:6550`. Scene mutation (`summer_add_node`, `summer_set_prop`), inspection (`summer_get_scene_tree`, `summer_inspect_node`), play/diagnostics (`summer_play`, `summer_get_diagnostics`), asset import/generation (`summer_import_from_url`, `summer_generate_3d`), whole-project sync to Summer Cloud (`summer_cloud_push`, `summer_cloud_pull`; see `summer:summer-cloud`), and 30+ more.
|
|
40
40
|
|
|
41
41
|
**Scripting language:** Summer Engine is compatible with Godot 4.5. You can write game code in either:
|
|
42
42
|
|
|
@@ -90,6 +90,7 @@ These thoughts mean STOP. Check skills first.
|
|
|
90
90
|
| "I'll write the GDScript myself, no skill" | `gdscript-patterns` encodes idioms that Claude/Codex/Cursor regularly get wrong (signal connection, type hints, `_ready` vs `_process`). |
|
|
91
91
|
| "The engine isn't running, I'll just edit files" | Editing scene files directly while the engine is running silently overwrites in-memory state. Check the skill. |
|
|
92
92
|
| "I remember this skill" | Skills evolve. Re-read the current version. |
|
|
93
|
+
| "I'll just zip the project to move it to another machine" | `summer:summer-cloud` syncs the whole project (big assets included) by hash, with restorable versions. Load it whenever the user mentions sync, a second machine, sharing with a teammate, backing up assets, or restoring a version. |
|
|
93
94
|
|
|
94
95
|
## Skill Priority
|
|
95
96
|
|
|
@@ -128,6 +129,24 @@ If skills aren't found or the MCP server fails to start:
|
|
|
128
129
|
2. If not, point them at: `npx -y summer-engine@latest setup <agent> --yes --force`.
|
|
129
130
|
3. If `summer doctor` is available, run it: `summer doctor` reports auth, engine, port, project memory, and skill state.
|
|
130
131
|
|
|
132
|
+
## When Summer Is Stale
|
|
133
|
+
|
|
134
|
+
Run `summer doctor` early in a fresh Summer session when setup, MCP tools, slash commands, or skills behave oddly. If doctor reports `cli-version-current` or `skills-version-stale` as warning/fail, refresh before continuing:
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
npx clear-npx-cache && npx -y summer-engine@latest setup <agent> --yes --force
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Use the real agent slug from doctor or the current environment (`claude-code`, `codex`, `cursor`, `gemini`, `github-copilot`, `vscode-copilot`, `opencode`, etc.).
|
|
141
|
+
|
|
142
|
+
Why this exact command matters:
|
|
143
|
+
|
|
144
|
+
- `@latest` forces npm/npx to resolve the current published Summer CLI instead of reusing a stale cached package.
|
|
145
|
+
- `clear-npx-cache` clears old npx package material on machines that keep serving an older Summer.
|
|
146
|
+
- `setup ... --force` rewrites copied skill/slash-command files, which do not update just because the MCP server restarted.
|
|
147
|
+
|
|
148
|
+
After the refresh, restart or reload the agent/MCP session if tools were missing. MCP tool changes load on MCP reconnect; copied skills and slash commands load when the agent notices the rewritten files or starts a fresh session.
|
|
149
|
+
|
|
131
150
|
## User Instructions Trump Everything
|
|
132
151
|
|
|
133
152
|
A direct user instruction ("skip the brainstorm", "just write the code", "don't use the MCP, edit files") overrides this skill. Surface the trade-off in one sentence ("Skipping brainstorm — heads up, scope creep is the most common reason game projects die.") and proceed as instructed.
|
|
File without changes
|