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.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +20 -5
- package/.codex-plugin/plugin.json +15 -5
- package/.cursor-plugin/plugin.json +15 -5
- package/.factory-plugin/plugin.json +2 -2
- package/.opencode/INSTALL.md +1 -1
- package/CHANGELOG.md +27 -6
- package/CLAUDE.md +2 -2
- package/GEMINI.md +2 -3
- package/README.md +82 -58
- package/_persona/summer/SKILL.md +5 -6
- package/commands/gameskill.md +103 -0
- package/dist/bin/summer.js +12 -4
- package/dist/commands/create.js +2 -0
- package/dist/commands/doctor.js +71 -1
- package/dist/commands/install.d.ts +17 -0
- package/dist/commands/install.js +63 -4
- package/dist/commands/memory.d.ts +14 -0
- package/dist/commands/memory.js +196 -0
- package/dist/commands/setup.js +12 -2
- package/dist/commands/skills.js +205 -8
- package/dist/commands/status.js +3 -0
- package/dist/lib/agent-config.d.ts +2 -2
- package/dist/lib/agent-config.js +298 -5
- package/dist/lib/api-client.d.ts +13 -0
- package/dist/lib/api-client.js +63 -26
- package/dist/lib/async-op-lifecycle.d.ts +60 -0
- package/dist/lib/async-op-lifecycle.js +83 -0
- package/dist/lib/project-memory.d.ts +33 -0
- package/dist/lib/project-memory.js +220 -0
- package/dist/lib/skills-registry.d.ts +134 -61
- package/dist/lib/skills-registry.js +106 -4
- package/dist/lib/version-check.d.ts +106 -0
- package/dist/lib/version-check.js +338 -0
- package/dist/mcp/server.d.ts +2 -0
- package/dist/mcp/server.js +81 -0
- package/dist/mcp/tools/debug-tools.js +32 -2
- package/dist/mcp/tools/project-tools.js +18 -6
- package/dist/mcp/tools/with-engine.d.ts +14 -0
- package/dist/mcp/tools/with-engine.js +52 -7
- package/gemini-extension.json +2 -2
- package/hooks/pre-commit-doctor.sh +0 -0
- package/hooks/run-hook.cmd +0 -0
- package/hooks/session-start.sh +0 -0
- package/package.json +6 -4
- package/skills/2d-assets/character-portrait/SKILL.md +1 -1
- package/skills/2d-assets/concept-art/SKILL.md +1 -1
- package/skills/2d-assets/create-asset-sheet/SKILL.md +163 -0
- package/skills/2d-assets/instantiate-asset-pack/SKILL.md +245 -0
- package/skills/2d-assets/pixel-art/SKILL.md +1 -1
- package/skills/2d-assets/skybox-panorama/SKILL.md +1 -1
- package/skills/2d-assets/sprite-sheet/SKILL.md +1 -1
- package/skills/2d-assets/tileable-texture/SKILL.md +1 -1
- package/skills/2d-assets/ui-graphics/SKILL.md +1 -1
- package/skills/2d-assets/use-widget-asset/SKILL.md +217 -0
- package/skills/3d-assets/character-model/SKILL.md +1 -1
- package/skills/3d-assets/organic-model/SKILL.md +1 -1
- package/skills/3d-assets/prop-model/SKILL.md +1 -1
- package/skills/3d-assets/vehicle-model/SKILL.md +1 -1
- package/skills/README.md +37 -30
- package/skills/ai-and-npcs/design-npc/SKILL.md +6 -6
- package/skills/animation/animation-tree/SKILL.md +2 -2
- package/skills/animation/facial-and-lipsync/SKILL.md +1 -1
- package/skills/animation/generate-motion/SKILL.md +1 -1
- package/skills/animation/procedural-animation/SKILL.md +2 -2
- package/skills/audio/adaptive-music/SKILL.md +1 -1
- package/skills/audio/audio-direction/SKILL.md +5 -5
- package/skills/audio/sound-effect/SKILL.md +2 -2
- package/skills/audio/voice-line/SKILL.md +25 -3
- package/skills/character-controllers/fps-controller/SKILL.md +5 -5
- package/skills/debugging/debug/SKILL.md +39 -1
- package/skills/deployment/export-and-ship/SKILL.md +4 -4
- package/skills/gameplay-mechanics/auto-fire-targeting/SKILL.md +170 -0
- package/skills/gameplay-mechanics/design-mechanic/SKILL.md +8 -8
- package/skills/level-design/design-level/SKILL.md +5 -5
- package/skills/level-design/scene-to-level/SKILL.md +125 -0
- package/skills/multiplayer-and-networking/host-authoritative-state/SKILL.md +4 -4
- package/skills/multiplayer-and-networking/peer-to-peer-multiplayer/SKILL.md +4 -4
- package/skills/multiplayer-and-networking/setup-multiplayer/SKILL.md +7 -7
- package/skills/performance/tune-performance/SKILL.md +5 -5
- package/skills/rendering-and-lighting/3d-lighting/SKILL.md +1 -1
- package/skills/rendering-and-lighting/art-direction/SKILL.md +5 -5
- package/skills/scene-and-project/brainstorm-game/SKILL.md +4 -4
- package/skills/scene-and-project/play/SKILL.md +1 -1
- package/skills/scene-and-project/scene-composition/SKILL.md +30 -1
- package/skills/scripting-patterns/gdscript-patterns/SKILL.md +53 -0
- package/skills/ui-and-ux/ui-basics/SKILL.md +1 -1
- package/skills/video/animated-loop/SKILL.md +1 -1
- package/skills/video/cinematic-cutscene/SKILL.md +1 -1
- package/skills/video/trailer-shot/SKILL.md +1 -1
- package/skills/visual-effects/game-feel/SKILL.md +6 -6
- package/skills/workflow/brainstorming/SKILL.md +164 -0
- package/skills/workflow/brainstorming/scripts/frame-template.html +214 -0
- package/skills/workflow/brainstorming/scripts/helper.js +88 -0
- package/skills/workflow/brainstorming/scripts/server.cjs +354 -0
- package/skills/workflow/brainstorming/scripts/start-server.sh +148 -0
- package/skills/workflow/brainstorming/scripts/stop-server.sh +56 -0
- package/skills/workflow/brainstorming/spec-document-reviewer-prompt.md +49 -0
- package/skills/workflow/brainstorming/visual-companion.md +287 -0
- package/skills/workflow/debugging-game-feel/SKILL.md +174 -0
- package/skills/workflow/diagnosing-perf-regressions/SKILL.md +190 -0
- package/skills/workflow/dispatching-parallel-agents/SKILL.md +182 -0
- package/skills/workflow/gameskill/SKILL.md +111 -0
- package/skills/workflow/investigating-bugs/CREATION-LOG.md +119 -0
- package/skills/workflow/investigating-bugs/SKILL.md +296 -0
- package/skills/workflow/investigating-bugs/condition-based-waiting-example.ts +158 -0
- package/skills/workflow/investigating-bugs/condition-based-waiting.md +115 -0
- package/skills/workflow/investigating-bugs/defense-in-depth.md +122 -0
- package/skills/workflow/investigating-bugs/find-polluter.sh +63 -0
- package/skills/workflow/investigating-bugs/root-cause-tracing.md +169 -0
- package/skills/workflow/investigating-bugs/test-academic.md +14 -0
- package/skills/workflow/investigating-bugs/test-pressure-1.md +58 -0
- package/skills/workflow/investigating-bugs/test-pressure-2.md +68 -0
- package/skills/workflow/investigating-bugs/test-pressure-3.md +69 -0
- package/skills/workflow/playtesting-a-feature/SKILL.md +173 -0
- package/skills/{_meta → workflow}/skill-create/SKILL.md +32 -22
- package/skills/{_meta → workflow}/skill-improve/SKILL.md +9 -10
- package/skills/{_meta → workflow}/skill-test/SKILL.md +12 -12
- package/skills/{_meta → workflow}/using-summer/SKILL.md +5 -2
- package/skills/workflow/verification-before-completion/SKILL.md +139 -0
- package/skills/workflow/writing-plans/SKILL.md +152 -0
- package/skills/workflow/writing-plans/plan-document-reviewer-prompt.md +49 -0
- package/skills/workflow/writing-skills/SKILL.md +655 -0
- package/skills/workflow/writing-skills/anthropic-best-practices.md +1150 -0
- package/skills/workflow/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
- package/skills/workflow/writing-skills/graphviz-conventions.dot +172 -0
- package/skills/workflow/writing-skills/persuasion-principles.md +187 -0
- package/skills/workflow/writing-skills/render-graphs.js +168 -0
- package/skills/workflow/writing-skills/testing-skills-with-subagents.md +384 -0
- package/dist/commands/assets.d.ts +0 -2
- package/dist/commands/assets.js +0 -189
- package/dist/commands/debug.d.ts +0 -2
- package/dist/commands/debug.js +0 -127
- package/dist/commands/doctor.test.d.ts +0 -1
- package/dist/commands/doctor.test.js +0 -29
- package/dist/commands/project.d.ts +0 -2
- package/dist/commands/project.js +0 -170
- package/dist/commands/scene.d.ts +0 -2
- package/dist/commands/scene.js +0 -290
- package/dist/lib/agent-config.test.d.ts +0 -1
- package/dist/lib/agent-config.test.js +0 -80
- package/dist/lib/format.test.d.ts +0 -1
- package/dist/lib/format.test.js +0 -36
- package/dist/lib/plugin-manifests.test.d.ts +0 -1
- package/dist/lib/plugin-manifests.test.js +0 -134
- package/dist/lib/with-engine.d.ts +0 -14
- package/dist/lib/with-engine.js +0 -109
- package/skills/_shared/collaborative-protocol.md +0 -50
- package/skills/_shared/gd-style.md +0 -121
- package/skills/_shared/godot-version.md +0 -32
- package/skills/_shared/mcp-tools-reference.md +0 -133
- package/skills/_shared/summer-folder.md +0 -44
- package/skills/_shared/template-registry.md +0 -40
- package/skills/_tests/runner.md +0 -90
- package/skills/_tests/specs/3d-lighting.md +0 -19
- package/skills/_tests/specs/art-direction.md +0 -115
- package/skills/_tests/specs/asset-strategy.md +0 -19
- package/skills/_tests/specs/audio-direction.md +0 -123
- package/skills/_tests/specs/brainstorm-game.md +0 -99
- package/skills/_tests/specs/debug.md +0 -94
- package/skills/_tests/specs/design-level.md +0 -113
- package/skills/_tests/specs/design-mechanic.md +0 -112
- package/skills/_tests/specs/design-npc.md +0 -143
- package/skills/_tests/specs/export-and-ship.md +0 -114
- package/skills/_tests/specs/fps-controller.md +0 -113
- package/skills/_tests/specs/gdscript-patterns.md +0 -19
- package/skills/_tests/specs/host-authoritative-state.md +0 -104
- package/skills/_tests/specs/make-game.md +0 -19
- package/skills/_tests/specs/peer-to-peer-multiplayer.md +0 -99
- package/skills/_tests/specs/play.md +0 -88
- package/skills/_tests/specs/scene-composition.md +0 -19
- package/skills/_tests/specs/setup-multiplayer.md +0 -106
- package/skills/_tests/specs/tune-performance.md +0 -104
- package/skills/_tests/specs/ui-basics.md +0 -19
- package/skills/_tests/specs/vfx.md +0 -116
- package/skills/catalog.yaml +0 -991
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
{
|
|
8
8
|
"name": "summer",
|
|
9
9
|
"source": "./",
|
|
10
|
-
"version": "2.
|
|
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.
|
|
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/
|
|
30
|
-
"./skills/
|
|
31
|
-
"./skills/
|
|
32
|
-
"./skills/
|
|
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.
|
|
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/
|
|
19
|
-
"./skills/
|
|
20
|
-
"./skills/
|
|
21
|
-
"./skills/
|
|
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.
|
|
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/
|
|
21
|
-
"./skills/
|
|
22
|
-
"./skills/
|
|
23
|
-
"./skills/
|
|
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.
|
|
4
|
-
"version": "2.0
|
|
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",
|
package/.opencode/INSTALL.md
CHANGED
|
@@ -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 | `
|
|
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 `
|
|
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
|
-
- `
|
|
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
|
-
- `
|
|
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
|
-
- `
|
|
68
|
-
- `
|
|
69
|
-
- `
|
|
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/
|
|
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/
|
|
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
|
-
- `
|
|
55
|
-
- `
|
|
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.
|
|
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
|
|
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
|
|
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",
|
|
57
|
-
{ "id": "cli-version",
|
|
58
|
-
{ "id": "
|
|
59
|
-
{ "id": "
|
|
60
|
-
{ "id": "
|
|
61
|
-
{ "id": "
|
|
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
|
-
|
|
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 `
|
|
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`,
|
|
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
|
|
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
|
|
196
|
-
- **Summer CLI** — the terminal command
|
|
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 | `
|
|
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
|
|
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
|
-
|
|
386
|
+
npx -y summer-engine@latest setup gemini --yes
|
|
359
387
|
```
|
|
360
388
|
|
|
361
|
-
|
|
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
|
-
|
|
367
|
-
copilot plugin install summer@summer-engine
|
|
394
|
+
npx -y summer-engine@latest setup github-copilot --yes
|
|
368
395
|
```
|
|
369
396
|
|
|
370
|
-
|
|
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
|
-
|
|
402
|
+
npx -y summer-engine@latest setup vscode-copilot --yes
|
|
374
403
|
```
|
|
375
404
|
|
|
376
|
-
|
|
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
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
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
|
-
|
|
396
|
-
|
|
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`, `
|
|
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**
|
|
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
|
|
package/_persona/summer/SKILL.md
CHANGED
|
@@ -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:
|
|
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
|
|
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:
|
|
111
|
-
- `summer:
|
|
112
|
-
- `summer:
|
|
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.
|