summer-engine 4.0.0 → 4.2.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 +2 -2
- package/.claude-plugin/plugin.json +3 -2
- package/.codex-plugin/plugin.json +15 -11
- package/.cursor-plugin/plugin.json +5 -3
- package/.factory-plugin/plugin.json +3 -2
- package/AGENTS.md +1 -1
- package/CHANGELOG.md +37 -0
- package/README.md +20 -9
- package/dist/cli/commands/config.js +3 -2
- package/dist/cli/commands/create.js +12 -3
- package/dist/cli/commands/list.d.ts +5 -0
- package/dist/cli/commands/list.js +30 -13
- package/dist/cli/commands/memory.js +6 -2
- package/dist/cli/commands/ops.d.ts +20 -3
- package/dist/cli/commands/ops.js +55 -27
- package/dist/cli/commands/setup.d.ts +2 -0
- package/dist/cli/commands/setup.js +219 -16
- package/dist/cli/commands/skills.js +20 -7
- package/dist/cli/commands/status.d.ts +26 -0
- package/dist/cli/commands/status.js +36 -21
- package/dist/core/capabilities/apps.d.ts +10 -10
- package/dist/core/capabilities/audit/args.d.ts +6 -6
- package/dist/core/capabilities/fabricate-mesh.d.ts +2 -2
- package/dist/core/capabilities/game-task-plan.d.ts +2 -2
- package/dist/core/capabilities/hdri-import.d.ts +2 -2
- package/dist/core/capabilities/motion-generation.d.ts +2 -2
- package/dist/core/capabilities/placement.d.ts +23 -23
- package/dist/core/capabilities/runtime-control.d.ts +38 -38
- package/dist/core/capabilities/seeing/args.d.ts +16 -16
- package/dist/core/capabilities/ui-control.d.ts +2 -2
- package/dist/core/capabilities/world-snapshot.d.ts +4 -4
- package/dist/core/library-search.d.ts +2 -2
- package/dist/core/ops/areas.d.ts +11 -0
- package/dist/core/ops/areas.js +24 -0
- package/dist/core/ops/catalog.d.ts +4 -0
- package/dist/core/ops/catalog.js +13 -1
- package/dist/core/ops/cloud.d.ts +10 -2
- package/dist/core/ops/cloud.js +51 -28
- package/dist/core/ops/contract.d.ts +2 -1
- package/dist/core/ops/contract.js +2 -10
- package/dist/core/ops/public-catalog.d.ts +48 -0
- package/dist/core/ops/public-catalog.js +56 -0
- package/dist/core/ops/search.d.ts +0 -1
- package/dist/core/ops/search.js +169 -37
- package/dist/installer/agent-config.js +5 -0
- package/dist/installer/agent-table.d.ts +9 -0
- package/dist/installer/agent-table.js +23 -2
- package/dist/installer/cli-permissions.d.ts +65 -0
- package/dist/installer/cli-permissions.js +182 -0
- package/dist/installer/setup.d.ts +2 -0
- package/dist/installer/setup.js +3 -0
- package/dist/installer/skills-refresh.d.ts +29 -0
- package/dist/installer/skills-refresh.js +261 -0
- package/dist/installer/version-check.d.ts +22 -2
- package/dist/installer/version-check.js +66 -9
- package/dist/mcp/ops-surface.js +16 -6
- package/dist/mcp/server.d.ts +10 -0
- package/dist/mcp/server.js +32 -3
- package/dist/project-memory/agent-instructions.d.ts +47 -0
- package/dist/project-memory/agent-instructions.js +226 -0
- package/gemini-extension.json +3 -2
- package/integrations/README.md +1 -1
- package/integrations/claude/README.md +6 -0
- package/integrations/claude/manifest-target.json +4 -0
- package/integrations/gemini/README.md +11 -0
- package/integrations/windsurf/README.md +1 -1
- package/library/skills/3d-lighting/SKILL.md +16 -0
- package/library/skills/README.md +5 -4
- package/library/skills/adaptive-music/SKILL.md +21 -0
- package/library/skills/agent-playtesting/SKILL.md +22 -0
- package/library/skills/ai-characters-in-games/SKILL.md +15 -0
- package/library/skills/ambient-bed/SKILL.md +16 -0
- package/library/skills/animated-loop/SKILL.md +19 -0
- package/library/skills/animation-tree/SKILL.md +26 -0
- package/library/skills/art-direction/SKILL.md +14 -0
- package/library/skills/asset-strategy/SKILL.md +30 -0
- package/library/skills/audio-direction/SKILL.md +16 -0
- package/library/skills/auto-fire-targeting/SKILL.md +14 -0
- package/library/skills/brainstorm-game/SKILL.md +13 -0
- package/library/skills/browse-templates/SKILL.md +10 -0
- package/library/skills/camera-rigs/SKILL.md +20 -0
- package/library/skills/character-animation-wiring/SKILL.md +24 -0
- package/library/skills/character-model/SKILL.md +28 -0
- package/library/skills/character-movement/SKILL.md +24 -0
- package/library/skills/character-portrait/SKILL.md +15 -0
- package/library/skills/cinematic-cutscene/SKILL.md +21 -0
- package/library/skills/combat-basics/SKILL.md +19 -0
- package/library/skills/compatibility-renderer-traps/SKILL.md +11 -0
- package/library/skills/concept-art/SKILL.md +13 -0
- package/library/skills/concept-to-level/SKILL.md +20 -1
- package/library/skills/concept-to-level/resource.yaml +2 -2
- package/library/skills/create-asset-sheet/SKILL.md +18 -0
- package/library/skills/debug/SKILL.md +32 -0
- package/library/skills/debugging-game-feel/SKILL.md +12 -0
- package/library/skills/design-level/SKILL.md +17 -0
- package/library/skills/design-mechanic/SKILL.md +17 -0
- package/library/skills/design-npc/SKILL.md +21 -0
- package/library/skills/diagnosing-perf-regressions/SKILL.md +12 -0
- package/library/skills/driving-the-editor-ui/SKILL.md +23 -0
- package/library/skills/environment-kit/SKILL.md +23 -0
- package/library/skills/export-and-ship/SKILL.md +23 -0
- package/library/skills/fabricating-assets/SKILL.md +23 -0
- package/library/skills/facial-and-lipsync/SKILL.md +22 -0
- package/library/skills/fps-controller/SKILL.md +17 -0
- package/library/skills/game-feel/SKILL.md +26 -0
- package/library/skills/gameskill/SKILL.md +11 -0
- package/library/skills/gdscript-patterns/SKILL.md +15 -0
- package/library/skills/generate-motion/SKILL.md +21 -0
- package/library/skills/godogen-visual-proof-game-generation/SKILL.md +17 -0
- package/library/skills/grow-analytics/SKILL.md +10 -0
- package/library/skills/headless-scripting/SKILL.md +13 -0
- package/library/skills/in-game-purchases/SKILL.md +11 -0
- package/library/skills/instantiate-asset-pack/SKILL.md +17 -0
- package/library/skills/make-game/SKILL.md +29 -0
- package/library/skills/multiplayer/SKILL.md +12 -0
- package/library/skills/multiplayer-movement/SKILL.md +18 -0
- package/library/skills/multiplayer-project/SKILL.md +17 -0
- package/library/skills/multiplayer-publish/SKILL.md +17 -0
- package/library/skills/multiplayer-state/SKILL.md +16 -0
- package/library/skills/multiplayer-testing/SKILL.md +15 -0
- package/library/skills/music-track/SKILL.md +16 -0
- package/library/skills/navigate-summer/SKILL.md +15 -0
- package/library/skills/new-project/SKILL.md +11 -0
- package/library/skills/organic-model/SKILL.md +24 -0
- package/library/skills/pixel-art/SKILL.md +15 -0
- package/library/skills/play/SKILL.md +18 -0
- package/library/skills/playtesting-a-feature/SKILL.md +23 -0
- package/library/skills/procedural-animation/SKILL.md +18 -0
- package/library/skills/prop-model/SKILL.md +23 -0
- package/library/skills/publish-your-game/SKILL.md +27 -0
- package/library/skills/release-readiness/SKILL.md +12 -0
- package/library/skills/remote-deploy/SKILL.md +14 -0
- package/library/skills/retarget/SKILL.md +20 -0
- package/library/skills/running-in-the-cloud/SKILL.md +10 -0
- package/library/skills/save-load/SKILL.md +15 -0
- package/library/skills/scene-composition/SKILL.md +17 -0
- package/library/skills/scene-hierarchy-design/SKILL.md +24 -0
- package/library/skills/scene-scripting/SKILL.md +30 -0
- package/library/skills/scene-to-level/SKILL.md +22 -0
- package/library/skills/skill-test/SKILL.md +10 -0
- package/library/skills/skybox-panorama/SKILL.md +20 -0
- package/library/skills/sound-effect/SKILL.md +23 -0
- package/library/skills/spatial-placement/SKILL.md +30 -0
- package/library/skills/sprite-sheet/SKILL.md +23 -0
- package/library/skills/store-art/SKILL.md +11 -0
- package/library/skills/store-listing/SKILL.md +10 -0
- package/library/skills/summer-analytics/SKILL.md +15 -0
- package/library/skills/summer-apps/SKILL.md +29 -0
- package/library/skills/summer-assets/SKILL.md +31 -1
- package/library/skills/summer-assets/resource.yaml +2 -2
- package/library/skills/summer-cli/SKILL.md +133 -0
- package/library/skills/summer-cli/resource.yaml +31 -0
- package/library/skills/summer-friends/SKILL.md +14 -0
- package/library/skills/summer-leaderboards/SKILL.md +16 -0
- package/library/skills/summer-match-results/SKILL.md +17 -0
- package/library/skills/summer-matchmaking/SKILL.md +17 -0
- package/library/skills/summer-parties/SKILL.md +14 -0
- package/library/skills/summer-player-data/SKILL.md +14 -0
- package/library/skills/summer-store/SKILL.md +15 -0
- package/library/skills/summer-world-chat/SKILL.md +14 -0
- package/library/skills/summer-world-saves/SKILL.md +14 -0
- package/library/skills/text-to-motion/SKILL.md +15 -0
- package/library/skills/tileable-texture/SKILL.md +18 -0
- package/library/skills/trailer-shot/SKILL.md +18 -0
- package/library/skills/tune-performance/SKILL.md +26 -0
- package/library/skills/ui-basics/SKILL.md +14 -0
- package/library/skills/ui-graphics/SKILL.md +17 -0
- package/library/skills/use-widget-asset/SKILL.md +14 -0
- package/library/skills/using-summer/SKILL.md +26 -0
- package/library/skills/using-summer/resource.yaml +2 -1
- package/library/skills/vehicle-model/SKILL.md +27 -0
- package/library/skills/verifying-scenes/SKILL.md +29 -0
- package/library/skills/vfx-dissolve/SKILL.md +19 -0
- package/library/skills/vfx-fire/SKILL.md +26 -0
- package/library/skills/vfx-hit-spark/SKILL.md +23 -0
- package/library/skills/vfx-lightning/SKILL.md +23 -0
- package/library/skills/vfx-magic-glow/SKILL.md +23 -0
- package/library/skills/vfx-muzzle-flash/SKILL.md +23 -0
- package/library/skills/vfx-smoke/SKILL.md +26 -0
- package/library/skills/vfx-water-ripple/SKILL.md +23 -0
- package/library/skills/voice-line/SKILL.md +16 -0
- package/library/skills/web-and-touch-input/SKILL.md +19 -0
- package/library/skills/web-compatibility-look/SKILL.md +20 -0
- package/library/skills/world-building-3d/SKILL.md +28 -0
- package/package.json +3 -2
- package/registry/generated/counts.json +2 -2
- package/registry/generated/gemini-extension.json +3 -2
- package/registry/generated/index.json +157 -118
- package/registry/generated/marketplace.claude.json +2 -2
- package/registry/generated/plugin.claude-directory.json +168 -0
- package/registry/generated/plugin.claude.json +3 -2
- package/registry/generated/plugin.codex.json +15 -11
- package/registry/generated/plugin.cursor.json +5 -3
- package/registry/generated/plugin.factory.json +3 -2
- package/registry/generated/server.json +11 -2
- package/registry/generated/skills-index.md +5 -4
- package/registry/generated/skills-registry.json +16 -2
- package/registry/operations/legacy-names.json +35 -0
- package/registry/operations/public-catalog.json +33160 -0
|
@@ -154,3 +154,18 @@ Set `get_tree().set_auto_accept_quit(false)` so you control the quit.
|
|
|
154
154
|
instead: a `RunVerification` probe (see `playtesting-a-feature`) that calls
|
|
155
155
|
`save_game()`, changes a value, calls `load_game()`, and `report()`s the
|
|
156
156
|
restored value.
|
|
157
|
+
|
|
158
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
159
|
+
## From a shell
|
|
160
|
+
|
|
161
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
162
|
+
|
|
163
|
+
| In this skill | Command |
|
|
164
|
+
|---|---|
|
|
165
|
+
| `summer_get_diagnostics` | `summer engine get-diagnostics` |
|
|
166
|
+
| `summer_get_script_errors` | `summer engine get-script-errors` |
|
|
167
|
+
| `summer_project_setting` | `summer engine project-setting` |
|
|
168
|
+
| `summer_read_file` | `summer engine read-file` |
|
|
169
|
+
| `summer_replace_text` | `summer engine replace-text` |
|
|
170
|
+
| `summer_write_file` | `summer engine write-file` |
|
|
171
|
+
<!-- /shell-commands -->
|
|
@@ -165,3 +165,20 @@ Don't skip the player mask update. If you only move foliage to layer 9 without a
|
|
|
165
165
|
## Collaborative protocol
|
|
166
166
|
|
|
167
167
|
This skill creates and mutates scene files. Always ask before applying: "May I create `res://scenes/player.tscn` and instantiate it under `./World`?".
|
|
168
|
+
|
|
169
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
170
|
+
## From a shell
|
|
171
|
+
|
|
172
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
173
|
+
|
|
174
|
+
| In this skill | Command |
|
|
175
|
+
|---|---|
|
|
176
|
+
| `summer_add_node` | `summer engine add-node` |
|
|
177
|
+
| `summer_create_scene` | `summer engine create-scene` |
|
|
178
|
+
| `summer_get_scene_tree` | `summer engine get-scene-tree` |
|
|
179
|
+
| `summer_import_from_url` | `summer engine import-from-url` |
|
|
180
|
+
| `summer_instantiate_scene` | `summer engine instantiate-scene` |
|
|
181
|
+
| `summer_open_scene` | `summer engine open-scene` |
|
|
182
|
+
| `summer_save_scene` | `summer engine save-scene` |
|
|
183
|
+
| `summer_set_prop` | `summer engine set-prop` |
|
|
184
|
+
<!-- /shell-commands -->
|
|
@@ -100,3 +100,27 @@ Follow the canonical scene loop from the Summer MCP reference: route → orient
|
|
|
100
100
|
3. Deleting a wrapper parent (`summer_remove_node`) removes exactly its subtree — the recursive-despawn feature works.
|
|
101
101
|
4. No script references a path deeper than one or two segments; group/signal/NodePath used instead.
|
|
102
102
|
5. `summer_get_script_errors` and (if played) `summer_get_debugger_errors` are clean; `summer_screenshot` matches the intended layout.
|
|
103
|
+
|
|
104
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
105
|
+
## From a shell
|
|
106
|
+
|
|
107
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
108
|
+
|
|
109
|
+
| In this skill | Command |
|
|
110
|
+
|---|---|
|
|
111
|
+
| `docs.plan` | `summer docs plan` |
|
|
112
|
+
| `summer_add_node` | `summer engine add-node` |
|
|
113
|
+
| `summer_connect_signal` | `summer engine connect-signal` |
|
|
114
|
+
| `summer_create_scene` | `summer engine create-scene` |
|
|
115
|
+
| `summer_get_debugger_errors` | `summer engine get-debugger-errors` |
|
|
116
|
+
| `summer_get_project_context` | `summer engine get-project-context` |
|
|
117
|
+
| `summer_get_scene_tree` | `summer engine get-scene-tree` |
|
|
118
|
+
| `summer_get_script_errors` | `summer engine get-script-errors` |
|
|
119
|
+
| `summer_instantiate_scene` | `summer engine instantiate-scene` |
|
|
120
|
+
| `summer_play` | `summer engine play` |
|
|
121
|
+
| `summer_remove_node` | `summer engine remove-node` |
|
|
122
|
+
| `summer_save_scene` | `summer engine save-scene` |
|
|
123
|
+
| `summer_screenshot` | `summer engine screenshot` |
|
|
124
|
+
| `summer_stop` | `summer engine stop` |
|
|
125
|
+
| `summer_get_agent_playbook` | `summer tool get-agent-playbook` |
|
|
126
|
+
<!-- /shell-commands -->
|
|
@@ -192,3 +192,33 @@ If `summer_run_script` answers `engine_lacks_op`, the engine build predates RunS
|
|
|
192
192
|
- `character-animation-wiring` — the animation tier end to end.
|
|
193
193
|
- `gdscript-patterns` — idioms for the scripts `attach_script` writes.
|
|
194
194
|
- `verification-before-completion` — proving the result before claiming done.
|
|
195
|
+
|
|
196
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
197
|
+
## From a shell
|
|
198
|
+
|
|
199
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
200
|
+
|
|
201
|
+
| In this skill | Command |
|
|
202
|
+
|---|---|
|
|
203
|
+
| `assets.slice_sheet` | `summer assets slice-sheet` |
|
|
204
|
+
| `summer_api_docs` | `summer docs engine-api` |
|
|
205
|
+
| `summer_docs_read` | `summer docs read` |
|
|
206
|
+
| `summer_add_node` | `summer engine add-node` |
|
|
207
|
+
| `summer_batch` | `summer engine batch` |
|
|
208
|
+
| `summer_connect_signal` | `summer engine connect-signal` |
|
|
209
|
+
| `summer_get_project_context` | `summer engine get-project-context` |
|
|
210
|
+
| `summer_get_runtime_tree` | `summer engine get-runtime-tree` |
|
|
211
|
+
| `summer_get_script_errors` | `summer engine get-script-errors` |
|
|
212
|
+
| `summer_input_map_bind` | `summer engine input-map-bind` |
|
|
213
|
+
| `summer_instantiate_scene` | `summer engine instantiate-scene` |
|
|
214
|
+
| `summer_play` | `summer engine play` |
|
|
215
|
+
| `summer_project_setting` | `summer engine project-setting` |
|
|
216
|
+
| `summer_run_editor_script` | `summer engine run-editor-script` |
|
|
217
|
+
| `summer_run_script` | `summer engine run-script` |
|
|
218
|
+
| `summer_screenshot` | `summer engine screenshot` |
|
|
219
|
+
| `summer_set_prop` | `summer engine set-prop` |
|
|
220
|
+
| `summer_snapshot_diff` | `summer engine snapshot-diff` |
|
|
221
|
+
| `summer_stop` | `summer engine stop` |
|
|
222
|
+
| `summer_world_snapshot` | `summer engine world-snapshot` |
|
|
223
|
+
| `summer_write_file` | `summer engine write-file` |
|
|
224
|
+
<!-- /shell-commands -->
|
|
@@ -125,3 +125,25 @@ Expect about 30 minutes for the asset packs (in parallel) and another 15 for sce
|
|
|
125
125
|
- **Auto-tiling terrain.** The pipeline node exists in the decision tree but the leaf skill that implements it is not built.
|
|
126
126
|
- **Animation orchestration.** Per-character `sprite-sheet` is invoked manually; no auto-pairing of characters with their animation pipelines yet.
|
|
127
127
|
- **Gameplay code.** Player movement, interactions, win conditions — those are level-design + gameplay-mechanics skills, not this one.
|
|
128
|
+
|
|
129
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
130
|
+
## From a shell
|
|
131
|
+
|
|
132
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
133
|
+
|
|
134
|
+
| In this skill | Command |
|
|
135
|
+
|---|---|
|
|
136
|
+
| `summer_assets_search` | `summer assets search` |
|
|
137
|
+
| `summer_add_node` | `summer engine add-node` |
|
|
138
|
+
| `summer_create_scene` | `summer engine create-scene` |
|
|
139
|
+
| `summer_get_diagnostics` | `summer engine get-diagnostics` |
|
|
140
|
+
| `summer_get_scene_tree` | `summer engine get-scene-tree` |
|
|
141
|
+
| `summer_get_script_errors` | `summer engine get-script-errors` |
|
|
142
|
+
| `summer_import_from_url` | `summer engine import-from-url` |
|
|
143
|
+
| `summer_inspect_node` | `summer engine inspect-node` |
|
|
144
|
+
| `summer_open_scene` | `summer engine open-scene` |
|
|
145
|
+
| `summer_play` | `summer engine play` |
|
|
146
|
+
| `summer_save_scene` | `summer engine save-scene` |
|
|
147
|
+
| `summer_set_prop` | `summer engine set-prop` |
|
|
148
|
+
| `summer_set_resource_property` | `summer engine set-resource-property` |
|
|
149
|
+
<!-- /shell-commands -->
|
|
@@ -84,3 +84,13 @@ This skill is **read-only**. It never writes. No "May I" needed.
|
|
|
84
84
|
- the template registry: `library/templates/<id>/resource.yaml` (see `library/templates/README.md`)
|
|
85
85
|
- `tests/runner.md`
|
|
86
86
|
- `evals/skills/specs/` — per-skill behavioral specs
|
|
87
|
+
|
|
88
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
89
|
+
## From a shell
|
|
90
|
+
|
|
91
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
92
|
+
|
|
93
|
+
| In this skill | Command |
|
|
94
|
+
|---|---|
|
|
95
|
+
| `summer_docs_read` | `summer docs read` |
|
|
96
|
+
<!-- /shell-commands -->
|
|
@@ -205,3 +205,23 @@ After the sky is wired:
|
|
|
205
205
|
- `scene-composition` — WorldEnvironment placement and configuration.
|
|
206
206
|
- `asset-strategy` — meta-router.
|
|
207
207
|
- `summer_docs_read` id `reference/mcp-tools-reference` — how to call `assets.generate_image`.
|
|
208
|
+
|
|
209
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
210
|
+
## From a shell
|
|
211
|
+
|
|
212
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
213
|
+
|
|
214
|
+
| In this skill | Command |
|
|
215
|
+
|---|---|
|
|
216
|
+
| `assets.generate_image`, `summer_assets_generate_image` | `summer assets generate-image` |
|
|
217
|
+
| `summer_assets_search` | `summer assets search` |
|
|
218
|
+
| `summer_docs_read` | `summer docs read` |
|
|
219
|
+
| `summer_add_node` | `summer engine add-node` |
|
|
220
|
+
| `summer_import_from_url` | `summer engine import-from-url` |
|
|
221
|
+
| `summer_inspect_node` | `summer engine inspect-node` |
|
|
222
|
+
| `summer_play` | `summer engine play` |
|
|
223
|
+
| `summer_save_scene` | `summer engine save-scene` |
|
|
224
|
+
| `summer_set_prop` | `summer engine set-prop` |
|
|
225
|
+
| `summer_set_resource_property` | `summer engine set-resource-property` |
|
|
226
|
+
| `summer_write_file` | `summer engine write-file` |
|
|
227
|
+
<!-- /shell-commands -->
|
|
@@ -176,3 +176,26 @@ Print the prompt, the length and the target path (`res://audio/sfx/<name>.wav`),
|
|
|
176
176
|
- `music-track` — music
|
|
177
177
|
- `voice-line` — speech
|
|
178
178
|
- `summer_docs_read` id `reference/mcp-tools-reference`
|
|
179
|
+
|
|
180
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
181
|
+
## From a shell
|
|
182
|
+
|
|
183
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
184
|
+
|
|
185
|
+
| In this skill | Command |
|
|
186
|
+
|---|---|
|
|
187
|
+
| `assets.choices`, `summer_assets_choices` | `summer assets choices` |
|
|
188
|
+
| `assets.generate_audio`, `summer_assets_generate_audio` | `summer assets generate-audio` |
|
|
189
|
+
| `assets.generate_sfx_choices`, `summer_assets_generate_sfx_choices` | `summer assets generate-sfx-choices` |
|
|
190
|
+
| `assets.get` | `summer assets get` |
|
|
191
|
+
| `assets.search`, `summer_assets_search` | `summer assets search` |
|
|
192
|
+
| `summer_docs_read` | `summer docs read` |
|
|
193
|
+
| `summer_add_node` | `summer engine add-node` |
|
|
194
|
+
| `summer_get_scene_tree` | `summer engine get-scene-tree` |
|
|
195
|
+
| `summer_import_asset_by_id` | `summer engine import-asset-by-id` |
|
|
196
|
+
| `summer_import_from_url` | `summer engine import-from-url` |
|
|
197
|
+
| `summer_inspect_node` | `summer engine inspect-node` |
|
|
198
|
+
| `summer_instantiate_scene` | `summer engine instantiate-scene` |
|
|
199
|
+
| `summer_run_script` | `summer engine run-script` |
|
|
200
|
+
| `summer_set_prop` | `summer engine set-prop` |
|
|
201
|
+
<!-- /shell-commands -->
|
|
@@ -208,3 +208,33 @@ anchors, pass their names instead.
|
|
|
208
208
|
- A piece seated flush against a single-sided wall can read `open` in the
|
|
209
209
|
wall's direction while `contacts` lists the wall: Starcast's one ray per
|
|
210
210
|
direction starts at the touching face. Read `contacts` too.
|
|
211
|
+
|
|
212
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
213
|
+
## From a shell
|
|
214
|
+
|
|
215
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
216
|
+
|
|
217
|
+
| In this skill | Command |
|
|
218
|
+
|---|---|
|
|
219
|
+
| `summer_align_distribute_3d` | `summer engine align-distribute-3d` |
|
|
220
|
+
| `summer_attach_to_surface` | `summer engine attach-to-surface` |
|
|
221
|
+
| `summer_batch` | `summer engine batch` |
|
|
222
|
+
| `summer_connect_ports` | `summer engine connect-ports` |
|
|
223
|
+
| `summer_get_scene_tree` | `summer engine get-scene-tree` |
|
|
224
|
+
| `summer_inspect_asset` | `summer engine inspect-asset` |
|
|
225
|
+
| `summer_inspect_node` | `summer engine inspect-node` |
|
|
226
|
+
| `summer_instantiate_scene` | `summer engine instantiate-scene` |
|
|
227
|
+
| `summer_measure` | `summer engine measure` |
|
|
228
|
+
| `summer_open_scene` | `summer engine open-scene` |
|
|
229
|
+
| `summer_place_adjacent` | `summer engine place-adjacent` |
|
|
230
|
+
| `summer_raycast` | `summer engine raycast` |
|
|
231
|
+
| `summer_repeat_along` | `summer engine repeat-along` |
|
|
232
|
+
| `summer_run_script` | `summer engine run-script` |
|
|
233
|
+
| `summer_screenshot` | `summer engine screenshot` |
|
|
234
|
+
| `summer_set_prop` | `summer engine set-prop` |
|
|
235
|
+
| `summer_snap_to_surface` | `summer engine snap-to-surface` |
|
|
236
|
+
| `summer_snapshot_diff` | `summer engine snapshot-diff` |
|
|
237
|
+
| `summer_starcast` | `summer engine starcast` |
|
|
238
|
+
| `summer_test_placement` | `summer engine test-placement` |
|
|
239
|
+
| `summer_world_snapshot` | `summer engine world-snapshot` |
|
|
240
|
+
<!-- /shell-commands -->
|
|
@@ -247,3 +247,26 @@ After the animation is wired:
|
|
|
247
247
|
- `generate-motion` — 3D-skeletal counterpart.
|
|
248
248
|
- `sound-effect` — frame-synced SFX.
|
|
249
249
|
- `summer_docs_read` id `reference/mcp-tools-reference` — how to call `assets.generate_image`.
|
|
250
|
+
|
|
251
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
252
|
+
## From a shell
|
|
253
|
+
|
|
254
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
255
|
+
|
|
256
|
+
| In this skill | Command |
|
|
257
|
+
|---|---|
|
|
258
|
+
| `assets.generate_image`, `summer_assets_generate_image` | `summer assets generate-image` |
|
|
259
|
+
| `assets.get` | `summer assets get` |
|
|
260
|
+
| `summer_assets_search` | `summer assets search` |
|
|
261
|
+
| `assets.slice_sheet`, `summer_assets_slice_sheet` | `summer assets slice-sheet` |
|
|
262
|
+
| `summer_docs_read` | `summer docs read` |
|
|
263
|
+
| `docs.workflows` | `summer docs workflows` |
|
|
264
|
+
| `summer_add_node` | `summer engine add-node` |
|
|
265
|
+
| `summer_import_asset_by_id` | `summer engine import-asset-by-id` |
|
|
266
|
+
| `summer_import_from_url` | `summer engine import-from-url` |
|
|
267
|
+
| `summer_import_from_url_batch` | `summer engine import-from-url-batch` |
|
|
268
|
+
| `summer_save_scene` | `summer engine save-scene` |
|
|
269
|
+
| `summer_set_prop` | `summer engine set-prop` |
|
|
270
|
+
| `summer_set_resource_property` | `summer engine set-resource-property` |
|
|
271
|
+
| `summer_write_file` | `summer engine write-file` |
|
|
272
|
+
<!-- /shell-commands -->
|
|
@@ -21,3 +21,14 @@ Its current text lives on the hosted Summer Engine MCP, the same text the Studio
|
|
|
21
21
|
Screenshots: `summer_capture_gameplay` takes them offscreen. Get past the title screen with the game's own flags in `args` or with `steps`, e.g. `{"args":["--autostart"],"steps":[{"wait":3000},{"shot":true},{"key":"Space"},{"wait":800},{"shot":true}]}`.
|
|
22
22
|
|
|
23
23
|
The one rule to keep even before you load it: Key art, covers and icons carry no text: the stores draw the title over them. Screenshots are real play.
|
|
24
|
+
|
|
25
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
26
|
+
## From a shell
|
|
27
|
+
|
|
28
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
29
|
+
|
|
30
|
+
| In this skill | Command |
|
|
31
|
+
|---|---|
|
|
32
|
+
| `summer_docs_read` | `summer docs read` |
|
|
33
|
+
| `summer_capture_gameplay` | `summer engine capture-gameplay` |
|
|
34
|
+
<!-- /shell-commands -->
|
|
@@ -19,3 +19,13 @@ Its current text lives on the hosted Summer Engine MCP, the same text the Studio
|
|
|
19
19
|
3. Without a store sign-in: https://docs.summerengine.com/llms.txt lists every docs page; fetch any page as .md.
|
|
20
20
|
|
|
21
21
|
The one rule to keep even before you load it: Never invent features, modes, player counts, awards or prices.
|
|
22
|
+
|
|
23
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
24
|
+
## From a shell
|
|
25
|
+
|
|
26
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
27
|
+
|
|
28
|
+
| In this skill | Command |
|
|
29
|
+
|---|---|
|
|
30
|
+
| `summer_docs_read` | `summer docs read` |
|
|
31
|
+
<!-- /shell-commands -->
|
|
@@ -147,3 +147,18 @@ Every failure is final: none of them asks you to capture again.
|
|
|
147
147
|
- `multiplayer` — where the client and the authority run
|
|
148
148
|
- `multiplayer-state` — the authority's Command handlers, where most events happen
|
|
149
149
|
- `summer-match-results` — results and ratings, which Summer records itself
|
|
150
|
+
|
|
151
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
152
|
+
## From a shell
|
|
153
|
+
|
|
154
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
155
|
+
|
|
156
|
+
| In this skill | Command |
|
|
157
|
+
|---|---|
|
|
158
|
+
| `analytics.summary` | `summer analytics summary` |
|
|
159
|
+
| `summer_get_diagnostics` | `summer engine get-diagnostics` |
|
|
160
|
+
| `summer_get_script_errors` | `summer engine get-script-errors` |
|
|
161
|
+
| `summer_play` | `summer engine play` |
|
|
162
|
+
| `summer_stop` | `summer engine stop` |
|
|
163
|
+
| `studio.open` | `summer studio open` |
|
|
164
|
+
<!-- /shell-commands -->
|
|
@@ -166,3 +166,32 @@ critical are the person's to press.
|
|
|
166
166
|
The app is published; `apps.screenshot` shows it with real data in light, dark and at
|
|
167
167
|
390 px with no errors; its states (loading, empty, error) work; and the person knows what it
|
|
168
168
|
does and where its data goes.
|
|
169
|
+
|
|
170
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
171
|
+
## From a shell
|
|
172
|
+
|
|
173
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
174
|
+
|
|
175
|
+
| In this skill | Command |
|
|
176
|
+
|---|---|
|
|
177
|
+
| `apps.call`, `summer_apps_call` | `summer apps call` |
|
|
178
|
+
| `apps.create`, `summer_apps_create` | `summer apps create` |
|
|
179
|
+
| `apps.dock` | `summer apps dock` |
|
|
180
|
+
| `apps.events`, `summer_apps_events` | `summer apps events` |
|
|
181
|
+
| `apps.get`, `summer_apps_get` | `summer apps get` |
|
|
182
|
+
| `apps.guide`, `summer_apps_guide` | `summer apps guide` |
|
|
183
|
+
| `summer_apps_list` | `summer apps list` |
|
|
184
|
+
| `apps.page`, `summer_apps_page` | `summer apps page` |
|
|
185
|
+
| `apps.publish`, `summer_apps_publish` | `summer apps publish` |
|
|
186
|
+
| `apps.read_data`, `summer_apps_read_data` | `summer apps read-data` |
|
|
187
|
+
| `apps.report_gap`, `summer_apps_report_gap` | `summer apps report-gap` |
|
|
188
|
+
| `apps.screenshot`, `summer_apps_screenshot` | `summer apps screenshot` |
|
|
189
|
+
| `apps.tools`, `summer_apps_tools` | `summer apps tools` |
|
|
190
|
+
| `apps.update`, `summer_apps_update` | `summer apps update` |
|
|
191
|
+
| `apps.use_page`, `summer_apps_use_page` | `summer apps use-page` |
|
|
192
|
+
| `apps.write_data`, `summer_apps_write_data` | `summer apps write-data` |
|
|
193
|
+
| `assets.generate_sfx_choices` | `summer assets generate-sfx-choices` |
|
|
194
|
+
| `docs.feedback` | `summer docs feedback` |
|
|
195
|
+
| `jobs.wait` | `summer jobs wait` |
|
|
196
|
+
| `summer_search` | `summer ops search "<what you want>"` |
|
|
197
|
+
<!-- /shell-commands -->
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: summer-assets
|
|
3
|
-
description: "Make game assets with Summer
|
|
3
|
+
description: "Make game assets with Summer, no Summer Engine: find, generate and download 3D models, images, audio and video for any engine or app."
|
|
4
4
|
license: MIT
|
|
5
5
|
compatibility: [Cursor, Claude Code, Codex, Windsurf, Gemini, OpenCode, Factory, Copilot]
|
|
6
6
|
category: _meta
|
|
@@ -54,3 +54,33 @@ Each asset is a normal file in the person's Summer library: GLB for 3D models, P
|
|
|
54
54
|
| Generating the same asset again to get the file | `assets.get` with `out` on the asset you already have |
|
|
55
55
|
| Telling the person the asset looks right without a preview | Say what you received, or that no preview came back |
|
|
56
56
|
| The person wants a whole game, not assets | Say that this needs Summer Engine and the full setup: `npx -y summer-engine@latest setup <agent> --yes` |
|
|
57
|
+
|
|
58
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
59
|
+
## From a shell
|
|
60
|
+
|
|
61
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
62
|
+
|
|
63
|
+
| In this skill | Command |
|
|
64
|
+
|---|---|
|
|
65
|
+
| `assets.choices` | `summer assets choices` |
|
|
66
|
+
| `assets.generate_3d` | `summer assets generate-3d` |
|
|
67
|
+
| `assets.generate_audio` | `summer assets generate-audio` |
|
|
68
|
+
| `assets.generate_image` | `summer assets generate-image` |
|
|
69
|
+
| `assets.generate_motion` | `summer assets generate-motion` |
|
|
70
|
+
| `assets.generate_sfx_choices` | `summer assets generate-sfx-choices` |
|
|
71
|
+
| `assets.generate_video` | `summer assets generate-video` |
|
|
72
|
+
| `assets.get` | `summer assets get` |
|
|
73
|
+
| `assets.search` | `summer assets search` |
|
|
74
|
+
| `assets.slice_sheet` | `summer assets slice-sheet` |
|
|
75
|
+
| `summer_docs_read` | `summer docs read` |
|
|
76
|
+
| `summer_docs_search` | `summer docs search` |
|
|
77
|
+
| `summer_add_node` | `summer engine add-node` |
|
|
78
|
+
| `summer_get_project_context` | `summer engine get-project-context` |
|
|
79
|
+
| `summer_import_asset_by_id` | `summer engine import-asset-by-id` |
|
|
80
|
+
| `summer_play` | `summer engine play` |
|
|
81
|
+
| `summer_screenshot` | `summer engine screenshot` |
|
|
82
|
+
| `jobs.wait` | `summer jobs wait` |
|
|
83
|
+
| `makers.npc_voice` | `summer makers npc-voice` |
|
|
84
|
+
| `makers.trailer_forge` | `summer makers trailer-forge` |
|
|
85
|
+
| `summer_search` | `summer ops search "<what you want>"` |
|
|
86
|
+
<!-- /shell-commands -->
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
id: skill/summer-assets
|
|
2
2
|
kind: skill
|
|
3
|
-
version: 1.0.
|
|
4
|
-
summary: "Make game assets with Summer
|
|
3
|
+
version: 1.0.1
|
|
4
|
+
summary: "Make game assets with Summer, no Summer Engine: find, generate and download 3D models, images, audio and video for any engine or app."
|
|
5
5
|
use_when:
|
|
6
6
|
- starting a session that has the Summer assets profile (generation tools, no engine tools)
|
|
7
7
|
- the person wants assets for their own engine or web app, not a game built in Summer Engine
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: summer-cli
|
|
3
|
+
description: "Summer as shell commands, no MCP: sign in, find and run operations, follow jobs, save files, drive the engine."
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: [Cursor, Claude Code, Codex, Windsurf, Gemini, OpenCode, Factory, Copilot]
|
|
6
|
+
category: _meta
|
|
7
|
+
allowed-tools: Bash Read
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Summer from the shell
|
|
11
|
+
|
|
12
|
+
Use this skill when the session has no `summer_*` MCP tools (Summer was set up with `summer setup <agent> --cli`), or when a script or CI job runs Summer. Every Summer capability is an operation named `area.action`, and every operation is one command: `summer <area> <action>`. The commands run the same code as the MCP tools and give the same answers.
|
|
13
|
+
|
|
14
|
+
First run `summer --version`. If the shell does not find `summer`, or the version is below 4.0 (an old global install, which has no `summer <area> <action>` commands), put `npx -y summer-engine@latest` in place of `summer`, with the same arguments. In Windows PowerShell, write `npx.cmd`.
|
|
15
|
+
|
|
16
|
+
## The five commands in a game project
|
|
17
|
+
|
|
18
|
+
<!-- project-commands: the AGENTS.md that summer create and summer setup write copies this list -->
|
|
19
|
+
1. `summer run .` opens the project in Summer Engine. An agent's run stays in the background.
|
|
20
|
+
2. `summer engine get-project-context` (MCP: `summer_get_project_context`) reads the project, its main scene and the engine version. Run it first.
|
|
21
|
+
3. `summer engine play`, then `summer engine get-diagnostics` (MCP: `summer_play`, `summer_get_diagnostics`), runs the game and reads its errors. `summer engine stop` (`summer_stop`) ends it.
|
|
22
|
+
4. `summer engine screenshot` (MCP: `summer_screenshot`) saves an image of the editor or the running game. Open its `localPath` to look.
|
|
23
|
+
5. `summer ops search "<what you want>"` (MCP: `summer_search`) finds any other operation. Run it as `summer <area> <action>` (MCP: `summer_call`), with `--dry-run` first for a change.
|
|
24
|
+
<!-- /project-commands -->
|
|
25
|
+
|
|
26
|
+
## 1. Sign in once
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
summer login # opens the browser: the Summer account, then the store and cloud operations
|
|
30
|
+
summer whoami # who is signed in, and their credits
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Cloud operations (generation, the asset library, the store, publishing, analytics) need the sign-in. Engine commands do not. Run `summer login` in the foreground, once. Tell the person that their browser opens, and wait for them.
|
|
34
|
+
|
|
35
|
+
## 2. Find the operation
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
summer ops search "make a sound effect" # the best matches: name, effect, title
|
|
39
|
+
summer ops describe assets.generate_audio # the exact input: fields, types, which are required
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Describe the job in plain words. `--area assets` keeps one area. Without a sign-in, search and describe still find every operation: a cloud one shows `(needs sign-in)` and runs after `summer login`.
|
|
43
|
+
|
|
44
|
+
For a guide instead of an operation, search the library: `summer docs search --query "<the task>"`, then `summer docs read --id <id>`. Both work offline. Then follow the skill it names.
|
|
45
|
+
|
|
46
|
+
Each Summer skill ends with a **From a shell** table: the command for each MCP tool and operation the skill names. A skill that says `summer_play` or `assets.generate_image` means `summer engine play` or `summer assets generate-image`.
|
|
47
|
+
|
|
48
|
+
## 3. Run it
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
summer assets generate-image --dry-run --prompt "a cozy pixel-art tavern" --aspect-ratio 16:9
|
|
52
|
+
summer engine set-prop --scene-path res://main.tscn --path Player --key position --value "Vector3(0, 1, 0)"
|
|
53
|
+
summer store status --game-id <id> --json
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
- Actions and fields are kebab-case: `aspectRatio` is `--aspect-ratio`, `look_at` is `--look-at`.
|
|
57
|
+
- `--<field>` alone sets a boolean field to true; `--no-<field>` sets it to false. Repeat a flag to give a list.
|
|
58
|
+
- Objects, and anything hard to quote, go in `--input '<json>'`. A flag wins over the same key in `--input`.
|
|
59
|
+
- `--dry-run` checks the input and changes nothing. For a spend it shows the estimate in credits. Put it right after the action: after `summer setup <agent> --cli --allow-rules --yes` (run that only when the person asks for it), Claude Code and Codex run it without asking (and the reads). Before each generation or other spend: dry-run it, tell the person what you will make, and wait for a yes.
|
|
60
|
+
- `--idempotency-key <key>` makes a retry safe: Summer runs a change once per key.
|
|
61
|
+
- `--json` prints only the answer: `{"ok":true,"status":"done","result":{...}}`. The exit code is 0 for every `ok` answer and 1 for an error.
|
|
62
|
+
|
|
63
|
+
## 4. Long jobs
|
|
64
|
+
|
|
65
|
+
3D, video, animation, builds and uploads answer `Started: job <id>` with the command that follows the job.
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
summer assets generate-3d --prompt "a wooden barrel" --wait # runs, then follows the job to the end
|
|
69
|
+
summer jobs wait --job-id <id> --timeout-seconds 50 # run it again until finished is true
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Do not run the same change again to get its result. Wait on the job.
|
|
73
|
+
|
|
74
|
+
## 5. Approvals
|
|
75
|
+
|
|
76
|
+
A publish or another live change can answer `Needs approval` with a link. Give the person that link: nothing changes until they approve. Follow it with `summer jobs wait --job-id <id>` (or `--wait` on the call) until it ends: `done`, `declined`, `expired` or `stale`. Never approve for the person.
|
|
77
|
+
|
|
78
|
+
## 6. Files
|
|
79
|
+
|
|
80
|
+
- `--out <folder or file>` on a generate command, on `summer jobs wait` or on `summer assets get` saves the file there. In a Godot project, `res://` paths work. The answer adds `localPath`.
|
|
81
|
+
- Without `--out`, a generation run inside a game project saves into its asset folder: Godot `assets/`, Unity `Assets/Summer`, Unreal `Content/Summer`, three.js `public/assets`. Outside a project, give `--out`.
|
|
82
|
+
- `summer assets get --asset-id <id>` saves only with `--out`.
|
|
83
|
+
- A save never overwrites a file. Tell the person the `localPath`.
|
|
84
|
+
|
|
85
|
+
## 7. The engine
|
|
86
|
+
|
|
87
|
+
Engine commands (`summer engine …`) drive the Summer Engine app on this machine. The app must run with the project open.
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
summer status # is the engine up, and the sign-in
|
|
91
|
+
summer run ./my-game # opens the project; for an agent, in the background
|
|
92
|
+
summer engine get-project-context # first call: project, main scene, engine version
|
|
93
|
+
summer engine get-scene-tree --scene-path res://main.tscn --depth 2
|
|
94
|
+
summer engine screenshot # the answer's localPath is an image: open it to look
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
- Values are engine value strings, not JSON: `"Vector3(0, 10, 0)"`, `"Color(1, 0.5, 0, 1)"`. A resource is its class name: `"BoxMesh"`.
|
|
98
|
+
- Name the scene in every change: `--scene-path res://<scene>.tscn`.
|
|
99
|
+
- 3 or more scene edits are one script, not a chain of commands. Write a `func run(ctx):` that ends with `ctx.save_scene()` to a file, then run `summer engine run-script --scene-path res://main.tscn --source "$(cat build.gd)"`. The `scene-scripting` skill has the script API.
|
|
100
|
+
- With more than one editor open, set `SUMMER_ENGINE_PROJECT` to the project folder so the command picks the right one.
|
|
101
|
+
- `summer tool <slug> --args '<json>'` runs an engine tool by its 3.x name too. `summer tool --list` lists them.
|
|
102
|
+
|
|
103
|
+
## Without Summer Engine
|
|
104
|
+
|
|
105
|
+
Everything except section 7 works without the app: the sign-in, the library, generation, assets and files, the store and analytics. Skip the `summer engine …` commands; there they answer `engine_not_running`. For assets for another engine or a web app, follow the `summer-assets` skill and stop at the file.
|
|
106
|
+
|
|
107
|
+
## 8. Errors
|
|
108
|
+
|
|
109
|
+
An error prints `Error (<code>): <message>` and one `Next:` step, and exits 1. Do the next step. Retry only when the table says so.
|
|
110
|
+
|
|
111
|
+
| Code | Do this |
|
|
112
|
+
|---|---|
|
|
113
|
+
| `not_signed_in` | Run the command in `Next` (`summer login`), then the same command again. |
|
|
114
|
+
| `engine_not_running` | Open the project in Summer Engine, or `summer run <project-path>`. Then run it again. |
|
|
115
|
+
| `engine_lacks_op` | This engine build is too old for the command. Use the fallback the message names, or ask the person to update Summer Engine. |
|
|
116
|
+
| `invalid_input` | `summer ops describe <op>`, fix the flags, run it again. |
|
|
117
|
+
| `no_credits` | Give the person the link in `Next`. Do not run it again until they say they added credits. |
|
|
118
|
+
| `forbidden` | Summer refused this account. The person checks it in Summer Studio. |
|
|
119
|
+
| `not_found` | Check the id (the area's `list` command), or find the right operation with `summer ops search`. |
|
|
120
|
+
| `rate_limited`, `unavailable` | Nothing ran. Wait a minute and run it again. If it repeats, tell the person the message. |
|
|
121
|
+
| `outcome_unknown` | The change may have run. Run it again only with the same `--idempotency-key`, or check first. |
|
|
122
|
+
| `in_progress` | The same change is still running. Wait, then follow its job or run it again with the same `--idempotency-key`. |
|
|
123
|
+
| `idempotency_conflict` | That key was used for a different input. A new change needs a new key. |
|
|
124
|
+
| `conflict` | The state changed, or a job or approval ended without running (declined, expired, stale or cancelled). Check the current state; start again only if the person wants it. |
|
|
125
|
+
| `over_limit` | A plan limit or cap was reached. Give the person the message and the link in `Next`. Do not retry. |
|
|
126
|
+
| `unsupported` | Summer cannot do this yet, or not here. Tell the person the message. Do not retry. |
|
|
127
|
+
| `internal` | Summer failed on its side. Run it once more; if it fails again, tell the person the message. |
|
|
128
|
+
|
|
129
|
+
## Done means
|
|
130
|
+
|
|
131
|
+
- You ran each command and read its answer. Do not report an answer you did not get.
|
|
132
|
+
- Every spend had a dry run and a yes from the person first.
|
|
133
|
+
- Every file you made is saved, and you told the person its `localPath`.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
id: skill/summer-cli
|
|
2
|
+
kind: skill
|
|
3
|
+
version: 1.0.1
|
|
4
|
+
summary: "Summer as shell commands, no MCP: sign in, find and run operations, follow jobs, save files, drive the engine."
|
|
5
|
+
use_when:
|
|
6
|
+
- the session has no summer_* MCP tools, or Summer was set up with summer setup <agent> --cli
|
|
7
|
+
- running a Summer operation, a generation or an engine change from a shell, a script or CI
|
|
8
|
+
- a skill names an MCP tool or an operation and you need the summer command that runs it
|
|
9
|
+
do_not_use_when:
|
|
10
|
+
- the session lists Summer's MCP tools; call them directly (the using-summer skill)
|
|
11
|
+
facets:
|
|
12
|
+
lifecycle:
|
|
13
|
+
- build
|
|
14
|
+
domains:
|
|
15
|
+
- agent-workflow
|
|
16
|
+
- assets
|
|
17
|
+
- tools
|
|
18
|
+
modalities:
|
|
19
|
+
- docs
|
|
20
|
+
related:
|
|
21
|
+
tools:
|
|
22
|
+
- tool/search-library
|
|
23
|
+
- tool/read-library
|
|
24
|
+
skills:
|
|
25
|
+
- skill/using-summer
|
|
26
|
+
- skill/summer-assets
|
|
27
|
+
- skill/scene-scripting
|
|
28
|
+
source: official
|
|
29
|
+
license: MIT
|
|
30
|
+
status: preview
|
|
31
|
+
recommended: true
|
|
@@ -224,3 +224,17 @@ and revoke access in the Summer app, and watch `access_changed`.
|
|
|
224
224
|
- `summer-world-chat`: chat inside a match
|
|
225
225
|
- `multiplayer-publish`: `summer.build.json` and publishing a Build
|
|
226
226
|
- `multiplayer-testing`: what Local Play can and can't test
|
|
227
|
+
|
|
228
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
229
|
+
## From a shell
|
|
230
|
+
|
|
231
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
232
|
+
|
|
233
|
+
| In this skill | Command |
|
|
234
|
+
|---|---|
|
|
235
|
+
| `summer_get_diagnostics` | `summer engine get-diagnostics` |
|
|
236
|
+
| `summer_get_script_errors` | `summer engine get-script-errors` |
|
|
237
|
+
| `summer_play` | `summer engine play` |
|
|
238
|
+
| `summer_project_setting` | `summer engine project-setting` |
|
|
239
|
+
| `summer_stop` | `summer engine stop` |
|
|
240
|
+
<!-- /shell-commands -->
|
|
@@ -229,3 +229,19 @@ on them.
|
|
|
229
229
|
- `summer-match-results` — concluding matches, which moves ratings
|
|
230
230
|
- `summer-matchmaking` — declaring rated queues and teams
|
|
231
231
|
- `summer-player-data` — saving per-player progress that isn't a ranking
|
|
232
|
+
|
|
233
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
234
|
+
## From a shell
|
|
235
|
+
|
|
236
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
237
|
+
|
|
238
|
+
| In this skill | Command |
|
|
239
|
+
|---|---|
|
|
240
|
+
| `summer_get_diagnostics` | `summer engine get-diagnostics` |
|
|
241
|
+
| `summer_get_script_errors` | `summer engine get-script-errors` |
|
|
242
|
+
| `summer_play` | `summer engine play` |
|
|
243
|
+
| `summer_read_file` | `summer engine read-file` |
|
|
244
|
+
| `summer_replace_text` | `summer engine replace-text` |
|
|
245
|
+
| `summer_stop` | `summer engine stop` |
|
|
246
|
+
| `summer_write_file` | `summer engine write-file` |
|
|
247
|
+
<!-- /shell-commands -->
|
|
@@ -284,3 +284,20 @@ clients stay connected until they leave.
|
|
|
284
284
|
- `summer-leaderboards` — ratings and `authority_v1` rating moves
|
|
285
285
|
- `summer-world-saves` — persistent Worlds that outlive a match
|
|
286
286
|
- `multiplayer-testing` — running bots through a whole match
|
|
287
|
+
|
|
288
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
289
|
+
## From a shell
|
|
290
|
+
|
|
291
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
292
|
+
|
|
293
|
+
| In this skill | Command |
|
|
294
|
+
|---|---|
|
|
295
|
+
| `summer_get_diagnostics` | `summer engine get-diagnostics` |
|
|
296
|
+
| `summer_get_script_errors` | `summer engine get-script-errors` |
|
|
297
|
+
| `summer_play` | `summer engine play` |
|
|
298
|
+
| `summer_project_setting` | `summer engine project-setting` |
|
|
299
|
+
| `summer_read_file` | `summer engine read-file` |
|
|
300
|
+
| `summer_replace_text` | `summer engine replace-text` |
|
|
301
|
+
| `summer_stop` | `summer engine stop` |
|
|
302
|
+
| `summer_write_file` | `summer engine write-file` |
|
|
303
|
+
<!-- /shell-commands -->
|