summer-engine 1.5.0 → 2.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.
Files changed (101) hide show
  1. package/{marketplace.json → .claude-plugin/marketplace.json} +3 -3
  2. package/.claude-plugin/plugin.json +52 -11
  3. package/.codex-plugin/plugin.json +69 -8
  4. package/.cursor-plugin/plugin.json +53 -12
  5. package/.factory-plugin/plugin.json +20 -0
  6. package/.opencode/INSTALL.md +75 -0
  7. package/.opencode/plugins/summer.js +9 -6
  8. package/AGENTS.md +51 -0
  9. package/CHANGELOG.md +31 -1
  10. package/CLAUDE.md +5 -0
  11. package/GEMINI.md +56 -0
  12. package/README.md +409 -80
  13. package/_persona/summer/SKILL.md +113 -0
  14. package/dist/bin/summer.js +0 -0
  15. package/dist/commands/assets.d.ts +2 -0
  16. package/dist/commands/assets.js +189 -0
  17. package/dist/commands/create.js +55 -17
  18. package/dist/commands/debug.d.ts +2 -0
  19. package/dist/commands/debug.js +127 -0
  20. package/dist/commands/install.js +2 -2
  21. package/dist/commands/list.js +24 -5
  22. package/dist/commands/project.d.ts +2 -0
  23. package/dist/commands/project.js +170 -0
  24. package/dist/commands/scene.d.ts +2 -0
  25. package/dist/commands/scene.js +290 -0
  26. package/dist/lib/banner.js +2 -2
  27. package/dist/lib/log-filters.d.ts +53 -0
  28. package/dist/lib/log-filters.js +130 -0
  29. package/dist/lib/plugin-manifests.test.d.ts +1 -0
  30. package/dist/lib/plugin-manifests.test.js +134 -0
  31. package/dist/lib/remote-templates.d.ts +25 -0
  32. package/dist/lib/remote-templates.js +86 -0
  33. package/dist/lib/skills-registry.d.ts +283 -3
  34. package/dist/lib/skills-registry.js +522 -2
  35. package/dist/lib/telemetry.d.ts +13 -0
  36. package/dist/lib/telemetry.js +63 -0
  37. package/dist/lib/with-engine.d.ts +14 -0
  38. package/dist/lib/with-engine.js +109 -0
  39. package/dist/mcp/tools/asset-tools.js +12 -13
  40. package/dist/mcp/tools/debug-tools.js +32 -9
  41. package/dist/mcp/tools/generate-tools.js +101 -0
  42. package/dist/mcp/tools/with-engine.js +4 -0
  43. package/gemini-extension.json +2 -2
  44. package/hooks/pre-commit-doctor.sh +0 -0
  45. package/hooks/run-hook.cmd +0 -0
  46. package/hooks/session-start.sh +0 -0
  47. package/package.json +11 -5
  48. package/skills/2d-assets/character-portrait/SKILL.md +196 -0
  49. package/skills/2d-assets/concept-art/SKILL.md +152 -0
  50. package/skills/2d-assets/pixel-art/SKILL.md +180 -0
  51. package/skills/2d-assets/skybox-panorama/SKILL.md +207 -0
  52. package/skills/2d-assets/sprite-sheet/SKILL.md +239 -0
  53. package/skills/2d-assets/tileable-texture/SKILL.md +205 -0
  54. package/skills/2d-assets/ui-graphics/SKILL.md +210 -0
  55. package/skills/3d-assets/character-model/SKILL.md +225 -0
  56. package/skills/3d-assets/environment-kit/SKILL.md +164 -0
  57. package/skills/3d-assets/organic-model/SKILL.md +192 -0
  58. package/skills/3d-assets/prop-model/SKILL.md +133 -0
  59. package/skills/3d-assets/vehicle-model/SKILL.md +202 -0
  60. package/skills/README.md +1 -1
  61. package/skills/_meta/skill-create/SKILL.md +1 -1
  62. package/skills/_meta/skill-improve/SKILL.md +1 -1
  63. package/skills/_meta/skill-test/SKILL.md +1 -1
  64. package/skills/_meta/using-summer/SKILL.md +130 -0
  65. package/skills/ai-and-npcs/design-npc/SKILL.md +3 -1
  66. package/skills/animation/animation-tree/SKILL.md +260 -0
  67. package/skills/animation/facial-and-lipsync/SKILL.md +282 -0
  68. package/skills/animation/generate-motion/SKILL.md +129 -0
  69. package/skills/animation/procedural-animation/SKILL.md +234 -0
  70. package/skills/animation/retarget/SKILL.md +172 -0
  71. package/skills/asset-pipeline/asset-strategy/SKILL.md +102 -212
  72. package/skills/audio/adaptive-music/SKILL.md +326 -0
  73. package/skills/audio/ambient-bed/SKILL.md +278 -0
  74. package/skills/audio/music-track/SKILL.md +268 -0
  75. package/skills/audio/sound-effect/SKILL.md +237 -0
  76. package/skills/audio/voice-line/SKILL.md +253 -0
  77. package/skills/catalog.yaml +266 -5
  78. package/skills/character-controllers/fps-controller/SKILL.md +1 -1
  79. package/skills/debugging/debug/SKILL.md +102 -82
  80. package/skills/rendering-and-lighting/3d-lighting/SKILL.md +1 -1
  81. package/skills/scene-and-project/browse-templates/SKILL.md +105 -0
  82. package/skills/scene-and-project/make-game/SKILL.md +159 -346
  83. package/skills/scene-and-project/new-project/SKILL.md +106 -0
  84. package/skills/scene-and-project/scene-composition/SKILL.md +1 -1
  85. package/skills/scripting-patterns/gdscript-patterns/SKILL.md +1 -1
  86. package/skills/ui-and-ux/ui-basics/SKILL.md +1 -1
  87. package/skills/video/animated-loop/SKILL.md +200 -0
  88. package/skills/video/cinematic-cutscene/SKILL.md +204 -0
  89. package/skills/video/trailer-shot/SKILL.md +203 -0
  90. package/skills/visual-effects/_building-blocks/additive-billboard-particles.md +28 -0
  91. package/skills/visual-effects/_building-blocks/noise-3d-fbm.gdshaderinc +45 -0
  92. package/skills/visual-effects/_building-blocks/trauma-shake-snippet.md +51 -0
  93. package/skills/visual-effects/{vfx → game-feel}/SKILL.md +1 -1
  94. package/skills/visual-effects/recipes/dissolve/SKILL.md +349 -0
  95. package/skills/visual-effects/recipes/fire/SKILL.md +387 -0
  96. package/skills/visual-effects/recipes/hit-spark/SKILL.md +330 -0
  97. package/skills/visual-effects/recipes/lightning/SKILL.md +372 -0
  98. package/skills/visual-effects/recipes/magic-glow/SKILL.md +377 -0
  99. package/skills/visual-effects/recipes/muzzle-flash/SKILL.md +326 -0
  100. package/skills/visual-effects/recipes/smoke/SKILL.md +381 -0
  101. package/skills/visual-effects/recipes/water-ripple/SKILL.md +340 -0
package/README.md CHANGED
@@ -1,103 +1,384 @@
1
- # Summer Engine CLI
1
+ # Summer Engine — the AI game engine
2
2
 
3
- CLI and MCP tools for [Summer Engine](https://summerengine.com) — the AI-native game engine. MIT licensed.
3
+ Build real 2D and 3D games through conversation. No coding required. Export to Steam, desktop, mobile, and web. Built on the Godot team's work, customized and honed so AI agents and humans can collaborate on great games.
4
4
 
5
- ## Install
5
+ **Summer** is the open-source plugin that connects your AI coding agent to Summer Engine. MIT licensed. Works in Claude Code, Cursor, Codex, Gemini CLI, OpenCode, Factory Droid, GitHub Copilot CLI, and Windsurf.
6
+
7
+ It just works. Open your agent, say *"let's make an FPS in Summer Engine,"* and it does.
8
+
9
+ ---
10
+
11
+ ## Get started — one prompt
12
+
13
+ Open Claude Code (or Cursor / Codex / Windsurf / etc.) and paste:
14
+
15
+ > Install Summer Engine and let's make a game.
16
+
17
+ That's it. The agent reads this README, detects what's already on your machine, and runs only what's missing via Bash. **No `/plugin` slash commands. No manual installs. One paste.**
18
+
19
+ The first run will:
20
+ 1. Install the `summer-engine` npm package (~3 MB) if it's not on `PATH`.
21
+ 2. Drop 60 skills into `~/.claude/skills/` (or your agent's user-skill directory) so the agent loads them next session.
22
+ 3. Download the Summer Engine app (~1 GB — bundles the engine binary plus Git and other runtime tools so users without them aren't blocked) if it's not installed.
23
+ 4. Open your browser for one-click sign-in.
24
+ 5. Scaffold a starter project and open the engine.
25
+
26
+ At that point the agent has the skills, the MCP server, and your engine running. Ask it to build something.
27
+
28
+ ---
29
+
30
+ ## AGENTS READING THIS — the install playbook
31
+
32
+ You are an AI coding agent (Claude Code, Cursor, Codex, Windsurf). The user told you to install Summer Engine. **Run this playbook via your shell** — Bash on macOS/Linux or PowerShell on Windows; `npx -y` is shell-agnostic and works identically in both. Detection first, then only install what's missing — never double-install.
33
+
34
+ ### Step −1 — Verify Node.js is on PATH
6
35
 
7
36
  ```bash
8
- npm install -g summer-engine
37
+ node --version
38
+ ```
39
+
40
+ If this fails or returns a version below 18, **stop**. Tell the user: "Summer needs Node.js 18+. Install from https://nodejs.org and re-run the prompt." Do NOT try to install Node yourself.
41
+
42
+ ### Step 0 — Pre-detection (no commits to disk, just check state)
43
+
44
+ ```bash
45
+ npx -y summer-engine doctor --json
46
+ ```
47
+
48
+ The first invocation downloads the npm package transparently to npx's cache (~3 MB, ~5 sec). Subsequent calls are fast. The `-y` flag auto-confirms npx's "ok to install summer-engine?" prompt so the call doesn't hang in a non-interactive shell.
49
+
50
+ Parse the JSON output. Top-level `ok: true` means everything is installed and you can skip straight to Step 5. Otherwise iterate the `checks` array and skip any step whose check returned `status: "ok"`:
51
+
52
+ ```json
53
+ {
54
+ "ok": true | false,
55
+ "checks": [
56
+ { "id": "node-version", "status": "ok" | "warning" | "fail", ... },
57
+ { "id": "cli-version", "status": "ok" | "warning" | "fail", ... },
58
+ { "id": "login", "status": "ok" | "warning" | "fail", ... },
59
+ { "id": "engine-install", "status": "ok" | "warning" | "fail", ... },
60
+ { "id": "local-api", "status": "ok" | "warning" | "fail", ... },
61
+ { "id": "mcp-server", "status": "ok" | "warning" | "fail", ... }
62
+ ]
63
+ }
9
64
  ```
10
65
 
11
- Or use without installing:
66
+ | Check id | If `ok` | If not `ok` |
67
+ |---|---|---|
68
+ | `node-version` | continue | (Step −1 already covered this) |
69
+ | `cli-version` | (always ok via npx) | — |
70
+ | `engine-install` | skip Step 2 | run Step 2 |
71
+ | `login` | skip Step 3 | run Step 3 |
72
+ | `local-api` | skip Step 5b wait-loop | run wait-loop after `summer run` |
73
+ | `mcp-server` | skip Step 1 | run Step 1 |
74
+ | (skills installed) | skip Step 1 | run Step 1 |
75
+
76
+ (There's no doctor check for "skills installed" yet — run Step 1 unconditionally on first install. It's idempotent.)
77
+
78
+ ### Step 1 — Install user-level skills (idempotent, fast)
12
79
 
13
80
  ```bash
14
- npx summer-engine <command>
81
+ npx -y summer-engine setup claude-code --yes
15
82
  ```
16
83
 
17
- ## Quickstart (under 2 minutes)
84
+ Replace `claude-code` with the user's actual agent: `codex`, `cursor`, or `windsurf`. (Gemini, OpenCode, Factory Droid, Copilot CLI use different install paths — see [`docs/`](docs/) per harness.) This writes 60 skill files to `~/.claude/skills/<name>/SKILL.md` (or the agent's equivalent user-skill directory) AND writes the MCP server config so the agent can talk to the engine.
85
+
86
+ **First-install detection:** if `~/.claude/skills/` didn't exist before this command, Claude Code wasn't watching it and won't auto-detect the new files this session. Tell the user **once**: "Skills installed — restart your agent so they load." On subsequent installs (directory already existed), skills auto-detect mid-session and no restart is needed. **You can detect first-install vs upgrade by checking if `~/.claude/skills/` existed before Step 1; record the result before running setup.**
87
+
88
+ **Do NOT run `/plugin install` or any slash command.** The CLI path is the canonical install. The marketplace path is an alternative for users who specifically prefer the official plugin TUI; we don't route agents there.
89
+
90
+ ### Step 2 — Install the engine app (only if `engine-install` check failed)
18
91
 
19
92
  ```bash
20
- summer install # Download the engine
21
- summer login # Sign in via browser
22
- summer create 3d-basic my-game # Create a starter project
23
- summer run my-game # Open it in the engine
24
- summer setup claude-code --yes # Configure MCP + install recommended skills
93
+ npx -y summer-engine install
25
94
  ```
26
95
 
27
- Replace `claude-code` with `codex`, `cursor`, or `windsurf`. Add `--scope project` to keep the configuration inside the project.
96
+ ~1 GB. Downloads from Summer's signed releases. The bundle includes the engine binary plus Git and a handful of other runtime tools so users who don't already have them aren't blocked. The CLI prints the URL and size before touching disk. Tell the user **"downloading the engine app, ~1 GB — this takes a couple minutes"** so they don't bail thinking it stalled.
28
97
 
29
- Verify:
98
+ **Linux note:** the engine app currently supports macOS and Windows only. On Linux, `summer install` exits with a "Linux support coming soon" message. Surface the manual download URL to the user (https://summerengine.com/download) and stop — the rest of the playbook still works once they've installed manually.
99
+
100
+ ### Step 3 — Sign in (only if `login` check failed)
30
101
 
31
102
  ```bash
32
- summer doctor
103
+ npx -y summer-engine login
33
104
  ```
34
105
 
35
- Then open your agent and try one of the slash commands:
106
+ This opens the user's default browser. **Tell the user**: "Your browser is opening now. Click sign-in once and come back to this terminal." The CLI waits up to 120 seconds for the auth callback, writes the token to `~/.summer/auth-token`, and returns. **If the user takes longer than 120s, the command exits with an error — just re-run `npx -y summer-engine login` and tell them to be quicker.** Don't loop indefinitely. The same token is shared with the engine — they sign in once, both surfaces accept it.
36
107
 
37
- | Command | What it does |
108
+ ### Step 4 — Re-run doctor to confirm
109
+
110
+ ```bash
111
+ npx -y summer-engine doctor --json
112
+ ```
113
+
114
+ Should now return `ok: true` for `cli-version`, `login`, and `engine-install`. (`local-api` will still be `warning` — that's expected; the engine isn't running yet.) If a setup check still fails, surface the specific message to the user — don't loop or paper over it.
115
+
116
+ ### Step 5 — Scaffold a project and run
117
+
118
+ **Important:** `summer create` writes the project into the current working directory. **Pick a stable parent directory first** — the user's home, a Projects folder, etc. — and `cd` there before running `create`. Don't let it land in a temp dir or wherever the agent happened to start.
119
+
120
+ ```bash
121
+ cd ~/Projects # or wherever the user keeps code
122
+ ```
123
+
124
+ If the user said "let's make a game" without specifying a template, default to `3d-basic`. Pick a sensible project name from the user's request (e.g. "FPS" → `my-fps-game`). Avoid spaces in the name.
125
+
126
+ ```bash
127
+ npx -y summer-engine create 3d-basic my-fps-game
128
+ npx -y summer-engine run my-fps-game
129
+ ```
130
+
131
+ `summer run` launches the engine app with the project loaded and polls the engine's local API for up to 20 seconds before returning.
132
+
133
+ ### Step 5b — Wait for the engine to be reachable (only if `summer run` printed "API not responding yet")
134
+
135
+ If the engine takes longer than 20s to boot (cold start, slow disk, etc.), `summer run` returns successfully but the local API isn't up yet. Calling `summer_get_scene_tree` or any other MCP tool will fail. Wait for it:
136
+
137
+ ```bash
138
+ # Poll doctor until local-api flips to ok (max ~30s):
139
+ for i in 1 2 3 4 5 6; do
140
+ result=$(npx -y summer-engine doctor --json)
141
+ echo "$result" | grep -q '"id":"local-api","status":"ok"' && break
142
+ sleep 5
143
+ done
144
+ ```
145
+
146
+ (Equivalent PowerShell: `for ($i=0; $i -lt 6; $i++) { $r = npx -y summer-engine doctor --json; if ($r -match '"id":"local-api","status":"ok"') { break }; Start-Sleep 5 }`)
147
+
148
+ Once `local-api` is `ok`, MCP tools are safe to call.
149
+
150
+ ### Step 6 — Brainstorm the game, then build
151
+
152
+ Now you have skills + MCP. **Don't jump into `summer create` content from a vague prompt** — invoke the `summer:brainstorm-game` skill via the `Skill` tool first. It scopes mechanics, art direction, and the V1 cut list, and writes the result to `.summer/GameSoul.md`. Every other Summer skill reads from that file.
153
+
154
+ Only skip brainstorm if the user explicitly said "skip brainstorm" or "just build the X already." After brainstorm, the appropriate build skills (`fps-controller`, `design-mechanic`, `design-level`, `make-game`, etc.) auto-trigger from natural language.
155
+
156
+ ### Anti-patterns (do NOT do these)
157
+
158
+ - **Don't run `npm install -g summer-engine`.** Use `npx -y summer-engine ...` instead. `-g` requires `sudo` on most Mac/Linux setups — the user will get permission errors and you'll get stuck. `npx` works without root and the MCP config we ship already points at `npx summer-engine mcp`.
159
+ - **Don't try to install Node.js for the user.** If `node --version` fails, point them at https://nodejs.org and stop.
160
+ - **Don't ask the user "do you want the engine too?" or "do you also want the CLI?"** — there is one product, three pieces, all installed by this playbook.
161
+ - **Don't double-install.** Always run `npx -y summer-engine doctor --json` first. Skip steps that already returned `status: ok`.
162
+ - **Don't tell the user to type `/plugin marketplace add` or `/plugin install`.** The CLI path is the canonical install — those slash commands are an alternative for the marketplace TUI, not the primary flow.
163
+ - **Don't run `summer install` or `summer login` in the background.** They print user-facing output (engine download progress, browser-opening notice). Run them in the foreground so the user sees what's happening.
164
+ - **Don't skip the `--json` flag on `summer doctor`** — text output is fragile to parse and changes per version.
165
+ - **Don't skip the `-y` flag on `npx`** — without it, npx prompts "ok to install summer-engine?" interactively and the call hangs in a non-interactive shell.
166
+ - **Don't call MCP tools (`summer_get_scene_tree`, etc.) until `local-api` is `ok`.** The engine takes a few seconds to boot after `summer run`. Use Step 5b's wait-loop.
167
+ - **Don't `summer create` without `cd`'ing to a stable parent directory first.** It writes into CWD; agents that start in a temp dir will leave the project there.
168
+ - **Don't loop `summer login` if it times out at 120s.** Re-run it once and tell the user to be quicker; loop forever and the user is stuck.
169
+ - **Don't jump straight into `summer create` from a vague prompt.** Invoke `summer:brainstorm-game` first (Step 6). The build skills assume `.summer/GameSoul.md` exists.
170
+
171
+ **Using a different agent?** Replace `claude-code` with `codex`, `cursor`, or `windsurf` in Step 1. Skill targets vary per agent (Cursor uses `.cursor/rules/`, Windsurf uses `.windsurfrules`, etc.). The CLI handles the difference. For Gemini, OpenCode, Factory Droid, and Copilot CLI, see [`docs/`](docs/) — those agents have their own install paths that the CLI doesn't fully automate yet.
172
+
173
+ **Power-user note:** if the user specifically wants `summer` on their `PATH` for everyday terminal use (outside the AI agent), they can run `npm install -g summer-engine` themselves later. The agent flow doesn't need it.
174
+
175
+ ---
176
+
177
+ ## Get started — alternative (manual install via plugin marketplace)
178
+
179
+ If you specifically prefer the official Claude Code plugin marketplace UI, you can install via:
180
+
181
+ ```
182
+ /plugin marketplace add SummerEngine/summer
183
+ /plugin install summer@summer-engine
184
+ ```
185
+
186
+ This is functionally equivalent to `summer setup claude-code --yes` for the skill install. You'll still need `summer install` and `summer login` to get the engine running. The agent-driven path above is faster and idempotent; this exists for users who want everything in the plugin TUI.
187
+
188
+ ---
189
+
190
+ ## What just happened (the three pieces)
191
+
192
+ You installed one product. It has three parts. You don't have to think about them — Summer wires them up — but here's what each does:
193
+
194
+ - **Summer Engine** — the game engine app. Where you see, play, and debug your game. Installed by `summer install`. Proprietary, free to use.
195
+ - **Summer plugin** — what Claude Code (or your agent) uses to know what game-dev skills to apply and which tools to call. Installed via `/plugin install`. MIT, open source.
196
+ - **Summer CLI** — the terminal command (`summer ...`) that installs the engine, scaffolds projects, runs them, signs you in. Installed via `npm install -g summer-engine`. MIT, open source.
197
+
198
+ The plugin gives the agent the skills. The CLI gives it hands to install and launch the engine. The engine is where the game actually lives.
199
+
200
+ ---
201
+
202
+ ## What gets downloaded
203
+
204
+ We tell you before we touch your disk.
205
+
206
+ | What | Size | When | Source |
207
+ |---|---|---|---|
208
+ | `summer-engine` npm package (CLI + plugin source) | ~3 MB | `npm install -g summer-engine` | [npmjs.com/package/summer-engine](https://www.npmjs.com/package/summer-engine) |
209
+ | Summer Engine app | ~1 GB (engine + bundled Git/runtime tools) | `summer install` | Summer's signed releases |
210
+ | Auth token | ~1 KB | `summer login` | Browser → `~/.summer/auth-token` |
211
+ | Skill files | < 50 KB | bundled in the npm package | no extra network call |
212
+ | Generated assets (3D / image / audio / video) | varies | only on explicit `summer_generate_*` calls | Summer Engine Studio |
213
+ | URL imports | varies | only on explicit `summer_import_from_url` calls | the URL you provide |
214
+
215
+ Not downloaded:
216
+ - No background telemetry. Diagnostics stay local.
217
+ - No silent engine updates. You run `summer update` manually.
218
+ - No model weights. AI generation runs in Summer Engine Studio (cloud), never on your machine.
219
+
220
+ ---
221
+
222
+ ## What's open and what's not
223
+
224
+ | Thing | License | Source |
225
+ |---|---|---|
226
+ | **Summer** (this repo: skills, MCP server, CLI, hooks, plugin manifests) | **MIT** | [SummerEngine/summer](https://github.com/SummerEngine/summer) |
227
+ | **Summer Engine** (the engine binary, editor, runtime) | proprietary, free to use | [summerengine.com/download](https://summerengine.com/download) |
228
+ | **Summer Engine Studio** (asset generation, cloud) | proprietary, paid plans | [summerengine.com/pricing](https://summerengine.com/pricing) |
229
+
230
+ The engine is the moat. The agent layer is open so you can audit it, fork it, extend the skills, and contribute back.
231
+
232
+ ---
233
+
234
+ ## How it works
235
+
236
+ Two pieces, plus the glue.
237
+
238
+ **Skills.** Twenty-four markdown files. Each one is a discipline guide for the agent. They auto-fire on natural language:
239
+
240
+ - "Let's brainstorm a game" → `summer:brainstorm-game`
241
+ - "It crashes when I press play" → `summer:debug`
242
+ - "Add an FPS controller" → `summer:fps-controller`
243
+ - "Make it look prettier" → `summer:art-direction`
244
+ - "Set up multiplayer" → `summer:setup-multiplayer` → `summer:host-authoritative-state`
245
+
246
+ Skills don't list steps. They encode the **order of operations**: diagnose before editing, scope before building, ask before guessing. [Agent Skills](https://agentskills.io) format, so any conformant tool picks them up.
247
+
248
+ **MCP bridge.** The `summer-engine` MCP server gives the agent 37 tools that talk to your local engine on `localhost:6550`:
249
+
250
+ | | |
38
251
  |---|---|
39
- | `/debug` | Triage and fix a bug end-to-end (reads engine errors, locates code, proposes fix) |
40
- | `/play` | Run the game and report state (clean run, warnings, or crash) |
252
+ | Scene | `summer_add_node`, `summer_set_prop`, `summer_replace_node`, `summer_get_scene_tree`, `summer_inspect_node`, `summer_batch` |
253
+ | Diagnostics | `summer_get_script_errors`, `summer_get_diagnostics`, `summer_get_console`, `summer_get_debugger_errors` |
254
+ | Runtime | `summer_play`, `summer_stop`, `summer_is_running` |
255
+ | Project | `summer_get_project_context`, `summer_open_main_scene`, `summer_project_setting`, `summer_input_map_bind` |
256
+ | Assets | `summer_search_assets`, `summer_import_asset`, `summer_import_from_url`, `summer_generate_image`, `summer_generate_3d`, `summer_generate_audio`, `summer_generate_video` |
257
+
258
+ File ops, git, shell, grep — your agent already has those. We don't shadow them.
259
+
260
+ **Lifecycle hooks.** A `session-start` hook detects whether you're in a Summer Engine project and feeds the agent a one-line orientation. An opt-in `pre-commit doctor` runs `summer doctor` before `git commit` and blocks on failure.
261
+
262
+ For the full architecture, see [docs/OVERVIEW.md](docs/OVERVIEW.md).
263
+
264
+ ---
265
+
266
+ ## The basic workflow
267
+
268
+ 1. **using-summer** loads on session start. Sets workflow priority and the red-flag list.
269
+ 2. **brainstorm-game** scopes a new project. One question, one page, one direction.
270
+ 3. **scene-composition** picks the right hierarchy before any node lands.
271
+ 4. **fps-controller / design-mechanic / design-level / setup-multiplayer / vfx** produce the artifact.
272
+ 5. **gdscript-patterns** guides every `.gd` write.
273
+ 6. **play** runs the game and reports clean or broken.
274
+ 7. **debug** runs the cheapest diagnostic, forms one specific hypothesis, asks before editing, re-verifies after the fix.
275
+ 8. **export-and-ship** runs the pre-flight checklist before producing a release build.
276
+
277
+ Twenty-four skills replace "agent flailing through tutorials" with measurable craft.
278
+
279
+ ---
280
+
281
+ ## What's inside
282
+
283
+ **Process** — `using-summer`, `brainstorm-game`, `debug`, `play`
284
+
285
+ **Project setup** — `new-project`, `browse-templates`, `make-game`, `scene-composition`
286
+
287
+ **Build** — `fps-controller`, `design-mechanic`, `design-level`, `design-npc`
288
+
289
+ **Multiplayer** — `setup-multiplayer`, `host-authoritative-state`, `peer-to-peer-multiplayer`
290
+
291
+ **Look & feel** — `art-direction`, `audio-direction`, `3d-lighting`, `vfx`, `ui-basics`
41
292
 
42
- Or just describe what you want — the specialist skills (FPS controller, lighting, GDScript patterns, scene composition, UI, asset strategy) auto-trigger on natural language: "make me an FPS", "add lighting", "I need a HUD".
293
+ **Code & assets** — `gdscript-patterns`, `asset-strategy`
43
294
 
44
- ## Commands
295
+ **Performance & ship** — `tune-performance`, `export-and-ship`
45
296
 
46
- | Command | Description |
47
- |---------|-------------|
48
- | `summer install` | Download and install Summer Engine |
49
- | `summer login` | Sign in via browser (Google/GitHub) |
50
- | `summer logout` | Clear auth tokens |
51
- | `summer status` | Check engine status, port, auth state |
52
- | `summer doctor` | Diagnose Node, login, engine, local API, MCP boot |
53
- | `summer run [path]` | Launch engine (optionally with a project) |
54
- | `summer open <path>` | Open a project in the running engine |
55
- | `summer create <template> [name]` | Create new project from template |
56
- | `summer list templates \| projects` | List available templates or local projects |
57
- | `summer skills list` | Show available skills |
58
- | `summer skills install <name>` | Install one skill |
59
- | `summer skills install --recommended --agent <agent>` | Install the recommended set |
60
- | `summer mcp` | Start the MCP server (used by Codex/Cursor/Claude Code/Windsurf) |
61
- | `summer mcp setup <agent>` | Write MCP config for an agent |
62
- | `summer setup <agent>` | One shot: MCP config + recommended skills + doctor |
297
+ **Skill authoring** — `skill-create`, `skill-improve`, `skill-test`
63
298
 
64
- Supported agents: `codex`, `claude-code`, `cursor`, `windsurf`. Supported scopes: `user` (default), `project`.
299
+ C# is supported by the engine. A `summer:csharp-patterns` skill is on the roadmap; for now write C# from Godot 4.5 docs.
65
300
 
66
- ## Plugin install (Claude Code)
301
+ Full catalog with HAVE / NEXT / LATER status: [`skills/catalog.yaml`](./skills/catalog.yaml).
302
+
303
+ ## Philosophy
304
+
305
+ - Skills auto-fire on natural language. No slash command required.
306
+ - Diagnose before guessing. Read the error before grepping the code.
307
+ - Process skills run before build skills.
308
+ - Fewer tools, sharper tools.
309
+ - The user owns decisions. The agent diagnoses and proposes.
310
+
311
+ ---
312
+
313
+ ## Install — full instructions per harness
314
+
315
+ ### Claude Code
67
316
 
68
317
  ```bash
69
- claude /plugin install summer-engine
318
+ claude /plugin marketplace add SummerEngine/summer
319
+ claude /plugin install summer@summer-engine
70
320
  ```
71
321
 
72
- That registers Summer as a plugin under the `summer:` namespace. Skills appear in the slash menu as `summer:brainstorm-game`, `summer:debug`, `summer:play`, etc. The plugin also bundles:
322
+ When Summer lands on Anthropic's official marketplace, also:
73
323
 
74
- - A `summer-engine` MCP server (configured automatically — no manual `~/.claude.json` edit needed).
75
- - Lifecycle hooks: a `session-start` greeter that detects Godot/Summer projects and reads `.summer/GameSoul.md`; a `pre-commit-doctor` hook (opt-in) that runs `summer doctor` before commits.
324
+ ```bash
325
+ claude /plugin install summer@claude-plugins-official
326
+ ```
76
327
 
77
- For Cursor, Codex, OpenCode, and Gemini, see [docs/CURSOR.md](docs/CURSOR.md), [docs/CODEX.md](docs/CODEX.md), and the manifests at `.cursor-plugin/`, `.codex-plugin/`, `.opencode/`, `gemini-extension.json` respectively.
328
+ ### Codex CLI
78
329
 
79
- ## MCP Integration
330
+ ```
331
+ /plugins
332
+ ```
80
333
 
81
- `summer setup <agent>` writes the right config in the right place. If you need to do it by hand:
334
+ Search `summer`, install.
82
335
 
83
- **Cursor** (`.cursor/mcp.json` per project, or `~/.cursor/mcp.json` user-wide):
336
+ ### Codex App
337
+
338
+ Sidebar → **Plugins** → **Coding** → click `+` next to **Summer**.
339
+
340
+ ### Cursor
84
341
 
85
- ```json
86
- {
87
- "mcpServers": {
88
- "summer-engine": {
89
- "command": "npx",
90
- "args": ["summer-engine", "mcp"]
91
- }
92
- }
93
- }
94
342
  ```
343
+ /add-plugin summer
344
+ ```
345
+
346
+ Or search `summer` in the Cursor plugin marketplace.
95
347
 
96
- **Claude Code** (`~/.claude.json` user-wide, or `.mcp.json` per project):
348
+ ### Factory Droid
349
+
350
+ ```bash
351
+ droid plugin marketplace add https://github.com/SummerEngine/summer
352
+ droid plugin install summer@summer-engine
353
+ ```
354
+
355
+ ### Gemini CLI
356
+
357
+ ```bash
358
+ gemini extensions install https://github.com/SummerEngine/summer
359
+ ```
360
+
361
+ Update later: `gemini extensions update summer`.
362
+
363
+ ### GitHub Copilot CLI
364
+
365
+ ```bash
366
+ copilot plugin marketplace add SummerEngine/summer
367
+ copilot plugin install summer@summer-engine
368
+ ```
369
+
370
+ ### OpenCode
371
+
372
+ ```bash
373
+ npm install --save-dev summer-engine
374
+ ```
375
+
376
+ Add to `opencode.json`:
97
377
 
98
378
  ```json
99
379
  {
100
- "mcpServers": {
380
+ "plugin": ["summer-engine"],
381
+ "mcp": {
101
382
  "summer-engine": {
102
383
  "command": "npx",
103
384
  "args": ["summer-engine", "mcp"]
@@ -106,46 +387,94 @@ For Cursor, Codex, OpenCode, and Gemini, see [docs/CURSOR.md](docs/CURSOR.md), [
106
387
  }
107
388
  ```
108
389
 
109
- **Codex** (`~/.codex/config.toml`):
390
+ Restart. Full guide: [`.opencode/INSTALL.md`](./.opencode/INSTALL.md).
391
+
392
+ ### Windsurf and others
110
393
 
111
- ```toml
112
- [mcp_servers.summer-engine]
113
- command = "npx"
114
- args = ["summer-engine", "mcp"]
394
+ ```bash
395
+ npm install -g summer-engine
396
+ summer setup <agent> --yes
397
+ summer doctor
115
398
  ```
116
399
 
117
- The MCP server exposes focused tools for scene manipulation, inspector/resource ops, project settings, asset import, play/stop, diagnostics, and asset search/generation. Tools the host agent already has natively (file ops, git, shell, grep) are intentionally not exposed.
400
+ ---
118
401
 
119
- **Visual feedback** (viewport and game screenshots) is currently available in the Summer Engine app via the built-in Summer Agent. MCP support for screenshots is on the MVP2 roadmap, gated on host clients reliably consuming image content.
402
+ ## CLI reference
120
403
 
121
- ## How It Works
404
+ | Command | What it does |
405
+ |---|---|
406
+ | `summer install` | Download Summer Engine. Transparent — prints URL + size first. |
407
+ | `summer login` | Browser-based sign-in. |
408
+ | `summer logout` | Clear auth tokens. |
409
+ | `summer status` | Engine state, port, auth. |
410
+ | `summer doctor` | Diagnose Node, login, engine, MCP. |
411
+ | `summer run [path]` | Launch the engine. |
412
+ | `summer open <path>` | Open a project in a running engine. |
413
+ | `summer create <template> [name]` | Scaffold a project. |
414
+ | `summer list templates` / `projects` | Browse. |
415
+ | `summer skills list` | Show all skills. |
416
+ | `summer skills install <name>` | Install one. |
417
+ | `summer skills install --recommended --agent <agent>` | Install the recommended set. |
418
+ | `summer mcp` | Start the MCP server. |
419
+ | `summer mcp setup <agent>` | Write MCP config for an agent. |
420
+ | `summer setup <agent> [--yes]` | One shot: MCP config + recommended skills + doctor. |
421
+
422
+ Agents: `claude-code`, `codex`, `cursor`, `gemini`, `opencode`, `windsurf`. Scopes: `--scope user` (default), `--scope project`.
423
+
424
+ ---
425
+
426
+ ## Verify
427
+
428
+ In a fresh agent session:
429
+
430
+ > Let's make an FPS in Summer Engine.
431
+
432
+ The agent should auto-load `summer:fps-controller` before writing code. If it doesn't, run `summer doctor`.
433
+
434
+ ---
435
+
436
+ ## Templates
437
+
438
+ | Template | What you get |
439
+ |---|---|
440
+ | `empty` | Empty 3D project with a root node |
441
+ | `3d-basic` | 3D scene with camera, light, floor |
442
+
443
+ More coming.
444
+
445
+ ---
122
446
 
123
- 1. Summer Engine runs a local API server on `localhost:6550`.
124
- 2. The MCP server (`npx summer-engine mcp`) connects to that local API via a per-machine auth token (`~/.summer/api-token`) and exposes engine ops as MCP tools.
125
- 3. Agents call the MCP tools and edit `.gd`/`.cs`/`.json`/`.md` files directly with their own file tools. Scenes (`.tscn`) flow through MCP.
447
+ ## Contributing
126
448
 
127
- The engine must be running for MCP tools that touch scenes/assets/diagnostics. If it isn't, tools return a clear error pointing at `summer run`.
449
+ Skills evolve fast. Two ways to help:
128
450
 
129
- ## Per-Agent Docs
451
+ 1. **Open an issue** if a skill misfires. Quote the prompt and the response.
452
+ 2. **Submit a SKILL.md** for one of the `NEXT` entries in [`skills/catalog.yaml`](./skills/catalog.yaml). Run `summer:skill-test` against it before opening the PR.
453
+
454
+ [`docs/DEVELOPMENT.md`](./docs/DEVELOPMENT.md) is the contributor guide.
455
+
456
+ ---
457
+
458
+ ## Per-harness docs
130
459
 
131
- - [Agent Kit overview](docs/AGENT_KIT.md)
132
460
  - [Claude Code](docs/CLAUDE_CODE.md)
133
461
  - [Codex](docs/CODEX.md)
134
462
  - [Cursor](docs/CURSOR.md)
463
+ - [OpenCode](.opencode/INSTALL.md)
135
464
  - [Skills overview](docs/SKILLS.md)
136
- - [Templates overview](docs/TEMPLATES.md)
137
-
138
- ## Templates
465
+ - [Templates](docs/TEMPLATES.md)
466
+ - [Architecture overview](docs/OVERVIEW.md)
139
467
 
140
- Built-in templates:
468
+ ---
141
469
 
142
- - `empty` — Empty 3D project with a root node
143
- - `3d-basic` — 3D scene with camera, light, and floor
470
+ ## License
144
471
 
145
- More templates coming soon.
472
+ MIT for everything in this repo. Summer Engine itself is proprietary. See [What's open and what's not](#whats-open-and-whats-not).
146
473
 
147
474
  ## Links
148
475
 
149
476
  - [Website](https://summerengine.com)
477
+ - [Download Summer Engine](https://summerengine.com/download)
150
478
  - [Documentation](https://summerengine.com/docs)
151
479
  - [Community](https://summerengine.com/community)
480
+ - [Issues](https://github.com/SummerEngine/summer/issues)