summer-engine 2.2.0 → 2.5.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 (176) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +20 -5
  3. package/.codex-plugin/plugin.json +15 -5
  4. package/.cursor-plugin/plugin.json +15 -5
  5. package/.factory-plugin/plugin.json +2 -2
  6. package/.opencode/INSTALL.md +1 -1
  7. package/CHANGELOG.md +27 -6
  8. package/CLAUDE.md +2 -2
  9. package/GEMINI.md +2 -3
  10. package/README.md +82 -58
  11. package/_persona/summer/SKILL.md +5 -6
  12. package/commands/gameskill.md +103 -0
  13. package/dist/bin/summer.js +12 -4
  14. package/dist/commands/create.js +2 -0
  15. package/dist/commands/doctor.js +71 -1
  16. package/dist/commands/install.d.ts +17 -0
  17. package/dist/commands/install.js +63 -4
  18. package/dist/commands/memory.d.ts +14 -0
  19. package/dist/commands/memory.js +196 -0
  20. package/dist/commands/setup.js +12 -2
  21. package/dist/commands/skills.js +205 -8
  22. package/dist/commands/status.js +3 -0
  23. package/dist/lib/agent-config.d.ts +2 -2
  24. package/dist/lib/agent-config.js +298 -5
  25. package/dist/lib/api-client.d.ts +13 -0
  26. package/dist/lib/api-client.js +63 -26
  27. package/dist/lib/async-op-lifecycle.d.ts +60 -0
  28. package/dist/lib/async-op-lifecycle.js +83 -0
  29. package/dist/lib/project-memory.d.ts +33 -0
  30. package/dist/lib/project-memory.js +220 -0
  31. package/dist/lib/skills-registry.d.ts +134 -61
  32. package/dist/lib/skills-registry.js +106 -4
  33. package/dist/lib/version-check.d.ts +106 -0
  34. package/dist/lib/version-check.js +338 -0
  35. package/dist/mcp/server.d.ts +2 -0
  36. package/dist/mcp/server.js +81 -0
  37. package/dist/mcp/tools/debug-tools.js +32 -2
  38. package/dist/mcp/tools/project-tools.js +18 -6
  39. package/dist/mcp/tools/with-engine.d.ts +14 -0
  40. package/dist/mcp/tools/with-engine.js +52 -7
  41. package/gemini-extension.json +2 -2
  42. package/hooks/pre-commit-doctor.sh +0 -0
  43. package/hooks/run-hook.cmd +0 -0
  44. package/hooks/session-start.sh +0 -0
  45. package/package.json +6 -4
  46. package/skills/2d-assets/character-portrait/SKILL.md +1 -1
  47. package/skills/2d-assets/concept-art/SKILL.md +1 -1
  48. package/skills/2d-assets/create-asset-sheet/SKILL.md +163 -0
  49. package/skills/2d-assets/instantiate-asset-pack/SKILL.md +245 -0
  50. package/skills/2d-assets/pixel-art/SKILL.md +1 -1
  51. package/skills/2d-assets/skybox-panorama/SKILL.md +1 -1
  52. package/skills/2d-assets/sprite-sheet/SKILL.md +1 -1
  53. package/skills/2d-assets/tileable-texture/SKILL.md +1 -1
  54. package/skills/2d-assets/ui-graphics/SKILL.md +1 -1
  55. package/skills/2d-assets/use-widget-asset/SKILL.md +217 -0
  56. package/skills/3d-assets/character-model/SKILL.md +1 -1
  57. package/skills/3d-assets/organic-model/SKILL.md +1 -1
  58. package/skills/3d-assets/prop-model/SKILL.md +1 -1
  59. package/skills/3d-assets/vehicle-model/SKILL.md +1 -1
  60. package/skills/README.md +37 -30
  61. package/skills/ai-and-npcs/design-npc/SKILL.md +6 -6
  62. package/skills/animation/animation-tree/SKILL.md +2 -2
  63. package/skills/animation/facial-and-lipsync/SKILL.md +1 -1
  64. package/skills/animation/generate-motion/SKILL.md +1 -1
  65. package/skills/animation/procedural-animation/SKILL.md +2 -2
  66. package/skills/audio/adaptive-music/SKILL.md +1 -1
  67. package/skills/audio/audio-direction/SKILL.md +5 -5
  68. package/skills/audio/sound-effect/SKILL.md +2 -2
  69. package/skills/audio/voice-line/SKILL.md +25 -3
  70. package/skills/character-controllers/fps-controller/SKILL.md +5 -5
  71. package/skills/debugging/debug/SKILL.md +39 -1
  72. package/skills/deployment/export-and-ship/SKILL.md +4 -4
  73. package/skills/gameplay-mechanics/auto-fire-targeting/SKILL.md +170 -0
  74. package/skills/gameplay-mechanics/design-mechanic/SKILL.md +8 -8
  75. package/skills/level-design/design-level/SKILL.md +5 -5
  76. package/skills/level-design/scene-to-level/SKILL.md +125 -0
  77. package/skills/multiplayer-and-networking/host-authoritative-state/SKILL.md +4 -4
  78. package/skills/multiplayer-and-networking/peer-to-peer-multiplayer/SKILL.md +4 -4
  79. package/skills/multiplayer-and-networking/setup-multiplayer/SKILL.md +7 -7
  80. package/skills/performance/tune-performance/SKILL.md +5 -5
  81. package/skills/rendering-and-lighting/3d-lighting/SKILL.md +1 -1
  82. package/skills/rendering-and-lighting/art-direction/SKILL.md +5 -5
  83. package/skills/scene-and-project/brainstorm-game/SKILL.md +4 -4
  84. package/skills/scene-and-project/play/SKILL.md +1 -1
  85. package/skills/scene-and-project/scene-composition/SKILL.md +30 -1
  86. package/skills/scripting-patterns/gdscript-patterns/SKILL.md +53 -0
  87. package/skills/ui-and-ux/ui-basics/SKILL.md +1 -1
  88. package/skills/video/animated-loop/SKILL.md +1 -1
  89. package/skills/video/cinematic-cutscene/SKILL.md +1 -1
  90. package/skills/video/trailer-shot/SKILL.md +1 -1
  91. package/skills/visual-effects/game-feel/SKILL.md +6 -6
  92. package/skills/workflow/brainstorming/SKILL.md +164 -0
  93. package/skills/workflow/brainstorming/scripts/frame-template.html +214 -0
  94. package/skills/workflow/brainstorming/scripts/helper.js +88 -0
  95. package/skills/workflow/brainstorming/scripts/server.cjs +354 -0
  96. package/skills/workflow/brainstorming/scripts/start-server.sh +148 -0
  97. package/skills/workflow/brainstorming/scripts/stop-server.sh +56 -0
  98. package/skills/workflow/brainstorming/spec-document-reviewer-prompt.md +49 -0
  99. package/skills/workflow/brainstorming/visual-companion.md +287 -0
  100. package/skills/workflow/debugging-game-feel/SKILL.md +174 -0
  101. package/skills/workflow/diagnosing-perf-regressions/SKILL.md +190 -0
  102. package/skills/workflow/dispatching-parallel-agents/SKILL.md +182 -0
  103. package/skills/workflow/gameskill/SKILL.md +111 -0
  104. package/skills/workflow/investigating-bugs/CREATION-LOG.md +119 -0
  105. package/skills/workflow/investigating-bugs/SKILL.md +296 -0
  106. package/skills/workflow/investigating-bugs/condition-based-waiting-example.ts +158 -0
  107. package/skills/workflow/investigating-bugs/condition-based-waiting.md +115 -0
  108. package/skills/workflow/investigating-bugs/defense-in-depth.md +122 -0
  109. package/skills/workflow/investigating-bugs/find-polluter.sh +63 -0
  110. package/skills/workflow/investigating-bugs/root-cause-tracing.md +169 -0
  111. package/skills/workflow/investigating-bugs/test-academic.md +14 -0
  112. package/skills/workflow/investigating-bugs/test-pressure-1.md +58 -0
  113. package/skills/workflow/investigating-bugs/test-pressure-2.md +68 -0
  114. package/skills/workflow/investigating-bugs/test-pressure-3.md +69 -0
  115. package/skills/workflow/playtesting-a-feature/SKILL.md +173 -0
  116. package/skills/{_meta → workflow}/skill-create/SKILL.md +32 -22
  117. package/skills/{_meta → workflow}/skill-improve/SKILL.md +9 -10
  118. package/skills/{_meta → workflow}/skill-test/SKILL.md +12 -12
  119. package/skills/{_meta → workflow}/using-summer/SKILL.md +5 -2
  120. package/skills/workflow/verification-before-completion/SKILL.md +139 -0
  121. package/skills/workflow/writing-plans/SKILL.md +152 -0
  122. package/skills/workflow/writing-plans/plan-document-reviewer-prompt.md +49 -0
  123. package/skills/workflow/writing-skills/SKILL.md +655 -0
  124. package/skills/workflow/writing-skills/anthropic-best-practices.md +1150 -0
  125. package/skills/workflow/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
  126. package/skills/workflow/writing-skills/graphviz-conventions.dot +172 -0
  127. package/skills/workflow/writing-skills/persuasion-principles.md +187 -0
  128. package/skills/workflow/writing-skills/render-graphs.js +168 -0
  129. package/skills/workflow/writing-skills/testing-skills-with-subagents.md +384 -0
  130. package/dist/commands/assets.d.ts +0 -2
  131. package/dist/commands/assets.js +0 -189
  132. package/dist/commands/debug.d.ts +0 -2
  133. package/dist/commands/debug.js +0 -127
  134. package/dist/commands/doctor.test.d.ts +0 -1
  135. package/dist/commands/doctor.test.js +0 -29
  136. package/dist/commands/project.d.ts +0 -2
  137. package/dist/commands/project.js +0 -170
  138. package/dist/commands/scene.d.ts +0 -2
  139. package/dist/commands/scene.js +0 -290
  140. package/dist/lib/agent-config.test.d.ts +0 -1
  141. package/dist/lib/agent-config.test.js +0 -80
  142. package/dist/lib/format.test.d.ts +0 -1
  143. package/dist/lib/format.test.js +0 -36
  144. package/dist/lib/plugin-manifests.test.d.ts +0 -1
  145. package/dist/lib/plugin-manifests.test.js +0 -134
  146. package/dist/lib/with-engine.d.ts +0 -14
  147. package/dist/lib/with-engine.js +0 -109
  148. package/skills/_shared/collaborative-protocol.md +0 -50
  149. package/skills/_shared/gd-style.md +0 -121
  150. package/skills/_shared/godot-version.md +0 -32
  151. package/skills/_shared/mcp-tools-reference.md +0 -133
  152. package/skills/_shared/summer-folder.md +0 -44
  153. package/skills/_shared/template-registry.md +0 -40
  154. package/skills/_tests/runner.md +0 -90
  155. package/skills/_tests/specs/3d-lighting.md +0 -19
  156. package/skills/_tests/specs/art-direction.md +0 -115
  157. package/skills/_tests/specs/asset-strategy.md +0 -19
  158. package/skills/_tests/specs/audio-direction.md +0 -123
  159. package/skills/_tests/specs/brainstorm-game.md +0 -99
  160. package/skills/_tests/specs/debug.md +0 -94
  161. package/skills/_tests/specs/design-level.md +0 -113
  162. package/skills/_tests/specs/design-mechanic.md +0 -112
  163. package/skills/_tests/specs/design-npc.md +0 -143
  164. package/skills/_tests/specs/export-and-ship.md +0 -114
  165. package/skills/_tests/specs/fps-controller.md +0 -113
  166. package/skills/_tests/specs/gdscript-patterns.md +0 -19
  167. package/skills/_tests/specs/host-authoritative-state.md +0 -104
  168. package/skills/_tests/specs/make-game.md +0 -19
  169. package/skills/_tests/specs/peer-to-peer-multiplayer.md +0 -99
  170. package/skills/_tests/specs/play.md +0 -88
  171. package/skills/_tests/specs/scene-composition.md +0 -19
  172. package/skills/_tests/specs/setup-multiplayer.md +0 -106
  173. package/skills/_tests/specs/tune-performance.md +0 -104
  174. package/skills/_tests/specs/ui-basics.md +0 -19
  175. package/skills/_tests/specs/vfx.md +0 -116
  176. package/skills/catalog.yaml +0 -991
@@ -7,7 +7,7 @@
7
7
  {
8
8
  "name": "summer",
9
9
  "source": "./",
10
- "version": "2.2.0",
10
+ "version": "2.5.0",
11
11
  "description": "Superpowers for AI game dev. 60 auto-trigger skills under summer: namespace, MCP bridge to the local Summer Engine, session-start + pre-commit hooks.",
12
12
  "author": { "name": "Summer Engine", "email": "founders@summerengine.com" },
13
13
  "category": "game-development",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
3
3
  "name": "summer",
4
- "version": "2.2.0",
4
+ "version": "2.5.0",
5
5
  "description": "Superpowers for AI game dev. 60 auto-trigger skills + lifecycle hooks + MCP bridge to the local Summer Engine — the AI-native game engine.",
6
6
  "author": {
7
7
  "name": "Summer Engine",
@@ -26,10 +26,20 @@
26
26
  "performance"
27
27
  ],
28
28
  "skills": [
29
- "./skills/_meta/using-summer/",
30
- "./skills/_meta/skill-create/",
31
- "./skills/_meta/skill-improve/",
32
- "./skills/_meta/skill-test/",
29
+ "./skills/workflow/using-summer/",
30
+ "./skills/workflow/skill-create/",
31
+ "./skills/workflow/skill-improve/",
32
+ "./skills/workflow/skill-test/",
33
+ "./skills/workflow/gameskill/",
34
+ "./skills/workflow/brainstorming/",
35
+ "./skills/workflow/investigating-bugs/",
36
+ "./skills/workflow/verification-before-completion/",
37
+ "./skills/workflow/writing-plans/",
38
+ "./skills/workflow/dispatching-parallel-agents/",
39
+ "./skills/workflow/writing-skills/",
40
+ "./skills/workflow/playtesting-a-feature/",
41
+ "./skills/workflow/debugging-game-feel/",
42
+ "./skills/workflow/diagnosing-perf-regressions/",
33
43
  "./skills/scene-and-project/brainstorm-game/",
34
44
  "./skills/scene-and-project/new-project/",
35
45
  "./skills/scene-and-project/browse-templates/",
@@ -38,7 +48,9 @@
38
48
  "./skills/scene-and-project/make-game/",
39
49
  "./skills/debugging/debug/",
40
50
  "./skills/gameplay-mechanics/design-mechanic/",
51
+ "./skills/gameplay-mechanics/auto-fire-targeting/",
41
52
  "./skills/level-design/design-level/",
53
+ "./skills/level-design/scene-to-level/",
42
54
  "./skills/rendering-and-lighting/art-direction/",
43
55
  "./skills/rendering-and-lighting/3d-lighting/",
44
56
  "./skills/audio/audio-direction/",
@@ -60,6 +72,9 @@
60
72
  "./skills/2d-assets/tileable-texture/",
61
73
  "./skills/2d-assets/sprite-sheet/",
62
74
  "./skills/2d-assets/skybox-panorama/",
75
+ "./skills/2d-assets/create-asset-sheet/",
76
+ "./skills/2d-assets/instantiate-asset-pack/",
77
+ "./skills/2d-assets/use-widget-asset/",
63
78
  "./skills/3d-assets/prop-model/",
64
79
  "./skills/3d-assets/character-model/",
65
80
  "./skills/3d-assets/environment-kit/",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "summer",
3
- "version": "2.2.0",
3
+ "version": "2.5.0",
4
4
  "description": "Superpowers for AI game dev. 60 auto-trigger skills, MCP bridge to the local Summer Engine, lifecycle hooks. Build games by talking.",
5
5
  "author": {
6
6
  "name": "Summer Engine",
@@ -15,10 +15,20 @@
15
15
  "workflow", "level-design", "vfx", "multiplayer"
16
16
  ],
17
17
  "skills": [
18
- "./skills/_meta/using-summer/",
19
- "./skills/_meta/skill-create/",
20
- "./skills/_meta/skill-improve/",
21
- "./skills/_meta/skill-test/",
18
+ "./skills/workflow/using-summer/",
19
+ "./skills/workflow/skill-create/",
20
+ "./skills/workflow/skill-improve/",
21
+ "./skills/workflow/skill-test/",
22
+ "./skills/workflow/gameskill/",
23
+ "./skills/workflow/brainstorming/",
24
+ "./skills/workflow/investigating-bugs/",
25
+ "./skills/workflow/verification-before-completion/",
26
+ "./skills/workflow/writing-plans/",
27
+ "./skills/workflow/dispatching-parallel-agents/",
28
+ "./skills/workflow/writing-skills/",
29
+ "./skills/workflow/playtesting-a-feature/",
30
+ "./skills/workflow/debugging-game-feel/",
31
+ "./skills/workflow/diagnosing-perf-regressions/",
22
32
  "./skills/scene-and-project/brainstorm-game/",
23
33
  "./skills/scene-and-project/new-project/",
24
34
  "./skills/scene-and-project/browse-templates/",
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://cursor.com/schemas/cursor-plugin/plugin.json",
3
3
  "name": "summer",
4
4
  "displayName": "Summer",
5
- "version": "2.2.0",
5
+ "version": "2.5.0",
6
6
  "description": "Superpowers for AI game dev. 60 auto-trigger skills + lifecycle hooks + MCP bridge to the local Summer Engine — the AI-native game engine.",
7
7
  "author": { "name": "Summer Engine", "email": "founders@summerengine.com" },
8
8
  "publisher": "summer-engine",
@@ -17,10 +17,20 @@
17
17
  ],
18
18
  "tags": ["game-dev", "ai", "godot", "creative", "design"],
19
19
  "skills": [
20
- "./skills/_meta/using-summer/",
21
- "./skills/_meta/skill-create/",
22
- "./skills/_meta/skill-improve/",
23
- "./skills/_meta/skill-test/",
20
+ "./skills/workflow/using-summer/",
21
+ "./skills/workflow/skill-create/",
22
+ "./skills/workflow/skill-improve/",
23
+ "./skills/workflow/skill-test/",
24
+ "./skills/workflow/gameskill/",
25
+ "./skills/workflow/brainstorming/",
26
+ "./skills/workflow/investigating-bugs/",
27
+ "./skills/workflow/verification-before-completion/",
28
+ "./skills/workflow/writing-plans/",
29
+ "./skills/workflow/dispatching-parallel-agents/",
30
+ "./skills/workflow/writing-skills/",
31
+ "./skills/workflow/playtesting-a-feature/",
32
+ "./skills/workflow/debugging-game-feel/",
33
+ "./skills/workflow/diagnosing-perf-regressions/",
24
34
  "./skills/scene-and-project/brainstorm-game/",
25
35
  "./skills/scene-and-project/new-project/",
26
36
  "./skills/scene-and-project/browse-templates/",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "summer",
3
- "description": "Superpowers for AI game dev. 24 auto-trigger skills + lifecycle hooks + MCP bridge to the local Summer Engine — the AI-native game engine.",
4
- "version": "2.0.1",
3
+ "description": "Superpowers for AI game dev. 60 auto-trigger skills + lifecycle hooks + MCP bridge to the local Summer Engine — the AI-native game engine.",
4
+ "version": "2.5.0",
5
5
  "author": {
6
6
  "name": "Summer Engine",
7
7
  "email": "founders@summerengine.com",
@@ -63,7 +63,7 @@ The model should auto-invoke the `summer:fps-controller` skill before writing an
63
63
  |---|---|
64
64
  | No orientation banner appears | Verify `plugin` array in `opencode.json` and that `summer-engine` is installed in `node_modules/`. |
65
65
  | MCP tools return "not connected" | Run `summer run` to launch the engine. The MCP server lazy-connects on the first tool call. |
66
- | `summer` command not found | `npm install -g summer-engine` for the global CLI. |
66
+ | `summer` command not found | Use `npx -y summer-engine@latest <command>` or install the CLI globally only if you want a persistent `summer` command. |
67
67
  | Skills don't auto-trigger | The using-summer skill loads on first user message; if that message is empty (e.g. a startup probe), they'll trigger on the second. |
68
68
 
69
69
  ## Uninstall
package/CHANGELOG.md CHANGED
@@ -2,13 +2,34 @@
2
2
 
3
3
  All notable changes to summer-engine will be documented here. Following [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and [Semantic Versioning](https://semver.org/).
4
4
 
5
+ ## [2.5.0] — 2026-05-27 — "Project Memory"
6
+
7
+ Note: `2.1.0` through `2.4.0` were internal package/plugin snapshots in the engine repo. npm `latest` was still `2.3.0` before this release, so `2.5.0` is the public catch-up release for the memory, setup, and MCP reliability work.
8
+
9
+ ### Added
10
+ - `summer memory` — read-only CLI view of `.summer` project memory, with `--json`, `show <file>`, and `path` subcommands.
11
+ - `projectMemory` in `summer_get_project_context` — lightweight summary of `.summer` canonical files and structured memory for agents.
12
+ - `.summer/memory/` convention for locked project facts such as voice IDs, world canon, provider bindings, and cross-session decisions.
13
+ - Project-memory checks in `summer status` and `summer doctor`.
14
+ - First-class `summer setup github-copilot` and `summer setup vscode-copilot` targets for Copilot CLI and GitHub Copilot in VS Code.
15
+ - Copy-paste setup prompt docs: users can paste "Install Summer Engine and let's make a game." into their AI environment instead of starting with npm commands.
16
+
17
+ ### Changed
18
+ - `/summer:voice-line` now writes locked cast assignments to `.summer/memory/casting/voices.md`, while still reading legacy `.summer/voice-cast.md`.
19
+ - Agent playbook and `using-summer` now require agents to read relevant project memory before creative/audio/dialogue/level/character work.
20
+ - CLI and docs now link directly to the public source repo: `https://github.com/SummerEngine/summer`.
21
+
22
+ ### Fixed
23
+ - MCP project context now falls back to engine health fields for project path, project name, and current scene.
24
+ - Mutating MCP tools now surface failure terminal states and no-results failure envelopes instead of masking them as success.
25
+
5
26
  ## [2.0.0] — 2026-05-09 — "Superpowers"
6
27
 
7
28
  The plugin rebrand. Summer is now positioned as superpowers for AI game dev — installable in Claude Code, Codex (CLI + App), Cursor, Factory Droid, Gemini CLI, OpenCode, GitHub Copilot CLI, and Windsurf with one canonical command per harness.
8
29
 
9
30
  ### Added
10
31
  - **`summer:using-summer`** meta-skill — establishes workflow priority, red-flag list, and skill-invocation discipline. Auto-loads on session start. Modeled on `superpowers:using-superpowers`.
11
- - **`summer:debug`** skill — the missing flagship skill. Disciplined script-errors → console → debugger → hypothesize → propose → fix → verify loop. Honors all 4 cases in `_tests/specs/debug.md`.
32
+ - **`summer:debug`** skill — the missing flagship skill. Disciplined script-errors → console → debugger → hypothesize → propose → fix → verify loop. Honors all 4 cases in `tests/specs/debug.md`.
12
33
  - **Manifest validator** (`src/lib/plugin-manifests.test.ts`) — vitest test that walks every plugin manifest and verifies each referenced skill resolves to a real `SKILL.md` on disk. Also enforces the "Use when…" auto-trigger pattern in every skill's description.
13
34
  - **`AGENTS.md`** + **`GEMINI.md`** at repo root — context primer for harnesses that read AGENTS-style files (Codex, Factory) and the Gemini extension.
14
35
  - **`.opencode/INSTALL.md`** — explicit OpenCode setup guide.
@@ -36,10 +57,10 @@ The plugin rebrand. Summer is now positioned as superpowers for AI game dev —
36
57
 
37
58
  ### Fixed
38
59
  - `summer_input_map_bind` syntax aligned across `fps-controller` SKILL.md and its behavioral test spec.
39
- - `_meta/skill-test` static linter relaxed to allow forward-reference `See also` links to other SKILL.md files (warn instead of fail).
60
+ - `workflow/skill-test` static linter relaxed to allow forward-reference `See also` links to other SKILL.md files (warn instead of fail).
40
61
 
41
62
  ### Added
42
- - `_shared/summer-folder.md` — canonical `.summer/` folder convention (documents files written by `/summer:brainstorm-game`, `/summer:art-direction`, etc.).
63
+ - `references/summer-folder.md` — canonical `.summer/` folder convention (documents files written by `/summer:brainstorm-game`, `/summer:art-direction`, etc.).
43
64
  - `CHANGELOG.md` — retroactive v1.0.0 → v1.3.1 history.
44
65
 
45
66
  ## [1.3.1] — 2026-05-05
@@ -64,9 +85,9 @@ The plugin rebrand. Summer is now positioned as superpowers for AI game dev —
64
85
 
65
86
  ### Added
66
87
  - 20-category skill library scaffold with descriptive folder names (`character-controllers`, `gameplay-mechanics`, `scripting-patterns`, etc.).
67
- - `_shared/` directory with 5 canonical references (godot-version, mcp-tools-reference, collaborative-protocol, template-registry, gd-style).
68
- - `_meta/` directory with 3 meta-skills (skill-test linter, skill-create bootstrap, skill-improve eval harness).
69
- - `_tests/specs/` directory with per-skill behavioral test specs (fps-controller as canonical format).
88
+ - `references/` directory with 5 canonical references (godot-version, mcp-tools-reference, collaborative-protocol, template-registry, gd-style).
89
+ - `workflow/` directory with 3 meta-skills (skill-test linter, skill-create bootstrap, skill-improve eval harness).
90
+ - `tests/specs/` directory with per-skill behavioral test specs (fps-controller as canonical format).
70
91
  - `catalog.yaml` — 85-skill roadmap with HAVE / NEXT / LATER status.
71
92
 
72
93
  ### Changed
package/CLAUDE.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # Summer — Claude context
2
2
 
3
- This file primes Claude Code on Summer when it loads from this repo. The full agent workflow lives in `skills/_meta/using-summer/SKILL.md`; activate that skill on every fresh session.
3
+ This file primes Claude Code on Summer when it loads from this repo. The full agent workflow lives in `skills/workflow/using-summer/SKILL.md`; activate that skill on every fresh session.
4
4
 
5
- @./skills/_meta/using-summer/SKILL.md
5
+ @./skills/workflow/using-summer/SKILL.md
package/GEMINI.md CHANGED
@@ -51,6 +51,5 @@ Tools return "Summer Engine is not running." Tell the user to run `summer run` (
51
51
 
52
52
  If skills aren't loading or the MCP server fails:
53
53
 
54
- - `npm install -g summer-engine` — global CLI.
55
- - `summer setup gemini --yes` — writes the right MCP config.
56
- - `summer doctor` — reports auth, engine, port, skill state.
54
+ - `npx -y summer-engine@latest setup gemini --yes --force` — writes the right MCP config.
55
+ - `npx -y summer-engine@latest doctor` — reports auth, engine, port, project memory, and skill state.
package/README.md CHANGED
@@ -2,7 +2,11 @@
2
2
 
3
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
- **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.
5
+ **Summer** is the open-source plugin that connects your AI coding agent to Summer Engine. MIT licensed. First-class setup works in Claude Code, Cursor, Codex, Windsurf, Cline, Roo Code, Gemini CLI, GitHub Copilot CLI, GitHub Copilot in VS Code, and OpenCode. Factory Droid uses the plugin marketplace path.
6
+
7
+ - **Source:** [github.com/SummerEngine/summer](https://github.com/SummerEngine/summer)
8
+ - **Docs:** [summerengine.com/docs](https://summerengine.com/docs)
9
+ - **MCP setup:** [summerengine.com/mcp](https://summerengine.com/mcp)
6
10
 
7
11
  It just works. Open your agent, say *"let's make an FPS in Summer Engine,"* and it does.
8
12
 
@@ -10,7 +14,7 @@ It just works. Open your agent, say *"let's make an FPS in Summer Engine,"* and
10
14
 
11
15
  ## Get started — one prompt
12
16
 
13
- Open Claude Code (or Cursor / Codex / Windsurf / etc.) and paste:
17
+ Open your AI agent (Claude Code, Cursor, Codex, Copilot, Windsurf, etc.) and paste:
14
18
 
15
19
  > Install Summer Engine and let's make a game.
16
20
 
@@ -29,7 +33,7 @@ At that point the agent has the skills, the MCP server, and your engine running.
29
33
 
30
34
  ## AGENTS READING THIS — the install playbook
31
35
 
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.
36
+ You are an AI coding agent. 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
37
 
34
38
  ### Step −1 — Verify Node.js is on PATH
35
39
 
@@ -42,7 +46,7 @@ If this fails or returns a version below 18, **stop**. Tell the user: "Summer ne
42
46
  ### Step 0 — Pre-detection (no commits to disk, just check state)
43
47
 
44
48
  ```bash
45
- npx -y summer-engine doctor --json
49
+ npx -y summer-engine@latest doctor --json
46
50
  ```
47
51
 
48
52
  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.
@@ -53,12 +57,15 @@ Parse the JSON output. Top-level `ok: true` means everything is installed and yo
53
57
  {
54
58
  "ok": true | false,
55
59
  "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", ... }
60
+ { "id": "node-version", "status": "ok" | "warning" | "fail", ... },
61
+ { "id": "cli-version", "status": "ok" | "warning" | "fail", ... },
62
+ { "id": "cli-version-current", "status": "ok" | "warning" | "fail", ... },
63
+ { "id": "skills-version-stale","status": "ok" | "warning" | "fail", ... },
64
+ { "id": "login", "status": "ok" | "warning" | "fail", ... },
65
+ { "id": "engine-install", "status": "ok" | "warning" | "fail", ... },
66
+ { "id": "local-api", "status": "ok" | "warning" | "fail", ... },
67
+ { "id": "project-memory", "status": "ok" | "warning" | "fail", ... },
68
+ { "id": "mcp-server", "status": "ok" | "warning" | "fail", ... }
62
69
  ]
63
70
  }
64
71
  ```
@@ -67,21 +74,23 @@ Parse the JSON output. Top-level `ok: true` means everything is installed and yo
67
74
  |---|---|---|
68
75
  | `node-version` | continue | (Step −1 already covered this) |
69
76
  | `cli-version` | (always ok via npx) | — |
77
+ | `cli-version-current` | continue | run `npx clear-npx-cache && npx -y summer-engine@latest doctor --json` (forces a fresh resolve) |
78
+ | `skills-version-stale` | skip Step 1 | run Step 1 with `--force` |
70
79
  | `engine-install` | skip Step 2 | run Step 2 |
71
80
  | `login` | skip Step 3 | run Step 3 |
72
81
  | `local-api` | skip Step 5b wait-loop | run wait-loop after `summer run` |
82
+ | `project-memory` | continue | if a project is open, run `summer:brainstorm-game` before building |
73
83
  | `mcp-server` | skip Step 1 | run Step 1 |
74
- | (skills installed) | skip Step 1 | run Step 1 |
75
84
 
76
- (There's no doctor check for "skills installed" yet — run Step 1 unconditionally on first install. It's idempotent.)
85
+ **On version drift:** if either `cli-version-current` or `skills-version-stale` returns `warning` or `fail`, you should refresh before proceeding. Tell the user once: "There's a newer Summer (X.Y.Z → A.B.C); updating before we start." Then run the recommended action from `details.recommendedAction` and re-run doctor. Don't ask the user to choose — they paste 'install' and want the latest.
77
86
 
78
87
  ### Step 1 — Install user-level skills (idempotent, fast)
79
88
 
80
89
  ```bash
81
- npx -y summer-engine setup claude-code --yes
90
+ npx -y summer-engine@latest setup claude-code --yes --force
82
91
  ```
83
92
 
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.
93
+ Replace `claude-code` with the user's actual agent: `codex`, `cursor`, `windsurf`, `cline`, `roo-code`, `gemini`, `github-copilot`, `vscode-copilot`, or `opencode`. Use `github-copilot` for Copilot CLI and `vscode-copilot` for GitHub Copilot Chat/Agent in VS Code. Factory Droid still uses the plugin marketplace path in the install section below. 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. The `--force` flag wipes any stale skill content first, so re-runs always end up with the latest copy.
85
94
 
86
95
  **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
96
 
@@ -90,7 +99,7 @@ Replace `claude-code` with the user's actual agent: `codex`, `cursor`, or `winds
90
99
  ### Step 2 — Install the engine app (only if `engine-install` check failed)
91
100
 
92
101
  ```bash
93
- npx -y summer-engine install
102
+ npx -y summer-engine@latest install
94
103
  ```
95
104
 
96
105
  ~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.
@@ -100,15 +109,15 @@ npx -y summer-engine install
100
109
  ### Step 3 — Sign in (only if `login` check failed)
101
110
 
102
111
  ```bash
103
- npx -y summer-engine login
112
+ npx -y summer-engine@latest login
104
113
  ```
105
114
 
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.
115
+ 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@latest 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.
107
116
 
108
117
  ### Step 4 — Re-run doctor to confirm
109
118
 
110
119
  ```bash
111
- npx -y summer-engine doctor --json
120
+ npx -y summer-engine@latest doctor --json
112
121
  ```
113
122
 
114
123
  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.
@@ -124,8 +133,8 @@ cd ~/Projects # or wherever the user keeps code
124
133
  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
134
 
126
135
  ```bash
127
- npx -y summer-engine create 3d-basic my-fps-game
128
- npx -y summer-engine run my-fps-game
136
+ npx -y summer-engine@latest create 3d-basic my-fps-game
137
+ npx -y summer-engine@latest run my-fps-game
129
138
  ```
130
139
 
131
140
  `summer run` launches the engine app with the project loaded and polls the engine's local API for up to 20 seconds before returning.
@@ -137,13 +146,13 @@ If the engine takes longer than 20s to boot (cold start, slow disk, etc.), `summ
137
146
  ```bash
138
147
  # Poll doctor until local-api flips to ok (max ~30s):
139
148
  for i in 1 2 3 4 5 6; do
140
- result=$(npx -y summer-engine doctor --json)
149
+ result=$(npx -y summer-engine@latest doctor --json)
141
150
  echo "$result" | grep -q '"id":"local-api","status":"ok"' && break
142
151
  sleep 5
143
152
  done
144
153
  ```
145
154
 
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 }`)
155
+ (Equivalent PowerShell: `for ($i=0; $i -lt 6; $i++) { $r = npx -y summer-engine@latest doctor --json; if ($r -match '"id":"local-api","status":"ok"') { break }; Start-Sleep 5 }`)
147
156
 
148
157
  Once `local-api` is `ok`, MCP tools are safe to call.
149
158
 
@@ -151,26 +160,29 @@ Once `local-api` is `ok`, MCP tools are safe to call.
151
160
 
152
161
  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
162
 
163
+ Project memory lives in `.summer/` as readable Markdown. Use `.summer/memory/` for locked facts that should not drift across sessions, such as character voice IDs, world canon, and provider bindings. Users can inspect it with `summer memory`; agents should read relevant memory surfaced by `summer_get_project_context` before changing creative/audio/dialogue/level/character work.
164
+
154
165
  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
166
 
156
167
  ### Anti-patterns (do NOT do these)
157
168
 
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`.
169
+ - **Don't run `npm install -g summer-engine`.** Use `npx -y summer-engine@latest ...` 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
170
  - **Don't try to install Node.js for the user.** If `node --version` fails, point them at https://nodejs.org and stop.
160
171
  - **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`.
172
+ - **Don't double-install.** Always run `npx -y summer-engine@latest doctor --json` first. Skip steps that already returned `status: ok`.
162
173
  - **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
174
  - **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
175
  - **Don't skip the `--json` flag on `summer doctor`** — text output is fragile to parse and changes per version.
165
176
  - **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.
177
+ - **Don't drop `@latest` from the npx commands.** `npx -y summer-engine` (no version pin) serves whatever's in npx's local cache, which can be a stale older version. The `@latest` tag forces npm to re-resolve from the registry. If a user reports "unknown command 'doctor'" or sees a much smaller skill list than expected, they got cache-served — tell them to run `npx clear-npx-cache` then retry with `@latest`.
166
178
  - **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
179
  - **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
180
  - **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
181
  - **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
182
 
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.
183
+ **Using a different agent?** Replace `claude-code` with any supported agent in Step 1: `codex`, `cursor`, `windsurf`, `cline`, `roo-code`, `gemini`, `github-copilot`, `vscode-copilot`, or `opencode`. Skill targets vary per agent (Cursor uses `.cursor/rules/`, Windsurf uses `.windsurfrules`, Cline + Roo use `.clinerules/`, Copilot uses `~/.copilot/skills` or `.github/skills`, OpenCode uses agent definitions, etc.). The CLI handles the difference. After install, **Cline and Roo Code users should restart VS Code** so the extension reloads its MCP config. **Gemini users** may need to run `gemini extensions enable summer-engine` after the first install. **VS Code Copilot users** should start the `summer-engine` MCP server from Agent mode if VS Code does not autostart it. **Factory Droid** still has its own plugin path below.
172
184
 
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.
185
+ **Power-user note:** if the user specifically wants `summer` on their `PATH` for everyday terminal use outside the AI agent, a global npm install is still possible. The agent flow doesn't need it.
174
186
 
175
187
  ---
176
188
 
@@ -183,7 +195,7 @@ If you specifically prefer the official Claude Code plugin marketplace UI, you c
183
195
  /plugin install summer@summer-engine
184
196
  ```
185
197
 
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.
198
+ This is functionally equivalent to `npx -y summer-engine@latest setup claude-code --yes` for the skill install. You'll still need `npx -y summer-engine@latest install` and `npx -y summer-engine@latest 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
199
 
188
200
  ---
189
201
 
@@ -191,9 +203,9 @@ This is functionally equivalent to `summer setup claude-code --yes` for the skil
191
203
 
192
204
  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
205
 
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.
206
+ - **Summer Engine** — the game engine app. Where you see, play, and debug your game. Installed by the agent via `npx -y summer-engine@latest install`. Proprietary, free to use.
207
+ - **Summer plugin** — what Claude Code (or your agent) uses to know what game-dev skills to apply and which tools to call. Installed by `summer setup` or the marketplace path. MIT, open source.
208
+ - **Summer CLI** — the terminal command layer that installs the engine, scaffolds projects, runs them, signs you in, and starts MCP. Usually invoked through `npx -y summer-engine@latest ...`, so no global install is needed. MIT, open source.
197
209
 
198
210
  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
211
 
@@ -205,9 +217,9 @@ We tell you before we touch your disk.
205
217
 
206
218
  | What | Size | When | Source |
207
219
  |---|---|---|---|
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` |
220
+ | `summer-engine` npm package (CLI + plugin source) | ~3 MB | first `npx -y summer-engine@latest ...` call | [npmjs.com/package/summer-engine](https://www.npmjs.com/package/summer-engine) |
221
+ | Summer Engine app | ~1 GB (engine + bundled Git/runtime tools) | `npx -y summer-engine@latest install` | Summer's signed releases |
222
+ | Auth token | ~1 KB | `npx -y summer-engine@latest login` | Browser → `~/.summer/auth-token` |
211
223
  | Skill files | < 50 KB | bundled in the npm package | no extra network call |
212
224
  | Generated assets (3D / image / audio / video) | varies | only on explicit `summer_generate_*` calls | Summer Engine Studio |
213
225
  | URL imports | varies | only on explicit `summer_import_from_url` calls | the URL you provide |
@@ -298,7 +310,7 @@ Twenty-four skills replace "agent flailing through tutorials" with measurable cr
298
310
 
299
311
  C# is supported by the engine. A `summer:csharp-patterns` skill is on the roadmap; for now write C# from Godot 4.5 docs.
300
312
 
301
- Full catalog with HAVE / NEXT / LATER status: [`skills/catalog.yaml`](./skills/catalog.yaml).
313
+ Full list of shipping skills: the `skills:` array in [`.claude-plugin/plugin.json`](./.claude-plugin/plugin.json).
302
314
 
303
315
  ## Philosophy
304
316
 
@@ -352,49 +364,59 @@ droid plugin marketplace add https://github.com/SummerEngine/summer
352
364
  droid plugin install summer@summer-engine
353
365
  ```
354
366
 
367
+ ### Cline (VS Code)
368
+
369
+ ```bash
370
+ npx -y summer-engine@latest setup cline --yes
371
+ ```
372
+
373
+ Writes the MCP server config to VS Code's globalStorage for the Cline extension and drops project rules into `.clinerules/`. **Restart VS Code** so Cline reloads its MCP config.
374
+
375
+ ### Roo Code (VS Code)
376
+
377
+ ```bash
378
+ npx -y summer-engine@latest setup roo-code --yes
379
+ ```
380
+
381
+ Same shape as Cline (Roo Code is a Cline fork) — writes globalStorage MCP config and `.clinerules/` files. **Restart VS Code** afterward.
382
+
355
383
  ### Gemini CLI
356
384
 
357
385
  ```bash
358
- gemini extensions install https://github.com/SummerEngine/summer
386
+ npx -y summer-engine@latest setup gemini --yes
359
387
  ```
360
388
 
361
- Update later: `gemini extensions update summer`.
389
+ Drops a Summer extension manifest at `~/.gemini/extensions/summer-engine/`. If the extension isn't auto-enabled on next launch, run `gemini extensions enable summer-engine`. The marketplace path (`gemini extensions install https://github.com/SummerEngine/summer`) still works for users who prefer it — both end up at the same place.
362
390
 
363
391
  ### GitHub Copilot CLI
364
392
 
365
393
  ```bash
366
- copilot plugin marketplace add SummerEngine/summer
367
- copilot plugin install summer@summer-engine
394
+ npx -y summer-engine@latest setup github-copilot --yes
368
395
  ```
369
396
 
370
- ### OpenCode
397
+ Writes MCP config to `~/.copilot/mcp-config.json` and skills to `~/.copilot/skills/`. In an active Copilot CLI session, run `/mcp reload` and `/skills reload`; otherwise restart Copilot CLI.
398
+
399
+ ### GitHub Copilot in VS Code
371
400
 
372
401
  ```bash
373
- npm install --save-dev summer-engine
402
+ npx -y summer-engine@latest setup vscode-copilot --yes
374
403
  ```
375
404
 
376
- Add to `opencode.json`:
405
+ Writes MCP config to VS Code's user `mcp.json` and skills to `~/.copilot/skills/`. Restart VS Code or run **MCP: List Servers**, then use Copilot Agent mode.
377
406
 
378
- ```json
379
- {
380
- "plugin": ["summer-engine"],
381
- "mcp": {
382
- "summer-engine": {
383
- "command": "npx",
384
- "args": ["summer-engine", "mcp"]
385
- }
386
- }
387
- }
407
+ ### OpenCode
408
+
409
+ ```bash
410
+ npx -y summer-engine@latest setup opencode --yes
388
411
  ```
389
412
 
390
- Restart. Full guide: [`.opencode/INSTALL.md`](./.opencode/INSTALL.md).
413
+ Writes the MCP server entry into `opencode.json` (`~/.config/opencode/opencode.json` for user scope, `./opencode.json` for project) using the array-shaped `command: ["npx", "-y", "summer-engine@latest", "mcp"]` format. Restart OpenCode. Full guide: [`.opencode/INSTALL.md`](./.opencode/INSTALL.md).
391
414
 
392
415
  ### Windsurf and others
393
416
 
394
417
  ```bash
395
- npm install -g summer-engine
396
- summer setup <agent> --yes
397
- summer doctor
418
+ npx -y summer-engine@latest setup <agent> --yes --force
419
+ npx -y summer-engine@latest doctor
398
420
  ```
399
421
 
400
422
  ---
@@ -407,7 +429,9 @@ summer doctor
407
429
  | `summer login` | Browser-based sign-in. |
408
430
  | `summer logout` | Clear auth tokens. |
409
431
  | `summer status` | Engine state, port, auth. |
410
- | `summer doctor` | Diagnose Node, login, engine, MCP. |
432
+ | `summer doctor` | Diagnose Node, login, engine, project memory, MCP. |
433
+ | `summer memory` | Inspect project memory in `.summer`. |
434
+ | `summer memory show <file>` | Print a project memory Markdown file. |
411
435
  | `summer run [path]` | Launch the engine. |
412
436
  | `summer open <path>` | Open a project in a running engine. |
413
437
  | `summer create <template> [name]` | Scaffold a project. |
@@ -419,7 +443,7 @@ summer doctor
419
443
  | `summer mcp setup <agent>` | Write MCP config for an agent. |
420
444
  | `summer setup <agent> [--yes]` | One shot: MCP config + recommended skills + doctor. |
421
445
 
422
- Agents: `claude-code`, `codex`, `cursor`, `gemini`, `opencode`, `windsurf`. Scopes: `--scope user` (default), `--scope project`.
446
+ Agents: `claude-code`, `codex`, `cursor`, `windsurf`, `cline`, `roo-code`, `gemini`, `opencode`. Scopes: `--scope user` (default), `--scope project`.
423
447
 
424
448
  ---
425
449
 
@@ -449,7 +473,7 @@ More coming.
449
473
  Skills evolve fast. Two ways to help:
450
474
 
451
475
  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.
476
+ 2. **Submit a new SKILL.md** under `skills/<category>/<name>/`. Register it in `.claude-plugin/plugin.json` and `src/lib/skills-registry.ts`. Run `summer:skill-test` against it before opening the PR.
453
477
 
454
478
  [`docs/DEVELOPMENT.md`](./docs/DEVELOPMENT.md) is the contributor guide.
455
479
 
@@ -50,7 +50,7 @@ When the user invokes `/summer`, you:
50
50
  | "/summer let me play it" | `summer:scene-and-project/play` |
51
51
  | "/summer I'm stuck" or "/summer what should I work on" | `summer:scene-and-project/brainstorm-game` (back to the playable cut) |
52
52
 
53
- If nothing on the table fits, fall back to `summer:_meta/using-summer` and read the catalog (`skills/catalog.yaml`) to find the closest skill. Never invent a skill name; verify in the `Skill` tool's index first.
53
+ If nothing on the table fits, fall back to `summer:using-summer` and walk the `Skill` tool's index to find the closest skill. Never invent a skill name; verify in the index first.
54
54
 
55
55
  ## Tone rules
56
56
 
@@ -64,7 +64,7 @@ If nothing on the table fits, fall back to `summer:_meta/using-summer` and read
64
64
  ## What to avoid
65
65
 
66
66
  - Don't pretend to be a different model. You're the same model with a sharper voice.
67
- - Don't invent Summer skills that don't exist. Check the `Skill` index and `skills/catalog.yaml` first.
67
+ - Don't invent Summer skills that don't exist. Check the `Skill` tool's index first.
68
68
  - Don't generate without confirming cost. Ever.
69
69
  - Don't ship a 30-second response when the user wants the build started. Invoke the right skill and start producing artifacts.
70
70
  - Don't redirect users to external docs. Solve the problem in-conversation.
@@ -107,7 +107,6 @@ If `.summer/GameSoul.md` exists, read it before any creative work. It's the sour
107
107
 
108
108
  ## See also
109
109
 
110
- - `summer:_meta/using-summer` — base context for the Summer skill family (auto-loaded; this persona builds on top).
111
- - `summer:scene-and-project/brainstorm-game` — when starting from scratch or stuck.
112
- - `summer:scene-and-project/play` — push the build into the player's hands.
113
- - `skills/catalog.yaml` — full skill index when the routing table doesn't cover the request.
110
+ - `summer:using-summer` — base context for the Summer skill family (auto-loaded; this persona builds on top).
111
+ - `summer:brainstorm-game` — when starting from scratch or stuck.
112
+ - `summer:play` — push the build into the player's hands.