summer-engine 2.3.0 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +24 -8
- package/.codex-plugin/plugin.json +19 -8
- package/.cursor-plugin/plugin.json +18 -7
- package/.factory-plugin/plugin.json +3 -3
- package/.opencode/INSTALL.md +1 -1
- package/AGENTS.md +6 -4
- package/CHANGELOG.md +46 -7
- package/CLAUDE.md +2 -2
- package/GEMINI.md +5 -6
- package/README.md +116 -109
- package/_persona/summer/SKILL.md +5 -6
- package/commands/gameskill.md +103 -0
- package/dist/bin/summer.js +17 -4
- package/dist/commands/cloud.d.ts +2 -0
- package/dist/commands/cloud.js +80 -0
- package/dist/commands/create.js +2 -0
- package/dist/commands/doctor.js +90 -1
- package/dist/commands/install.d.ts +17 -0
- package/dist/commands/install.js +63 -4
- package/dist/commands/login.js +4 -1
- package/dist/commands/logout.js +1 -1
- package/dist/commands/memory.d.ts +14 -0
- package/dist/commands/memory.js +196 -0
- package/dist/commands/open.js +1 -1
- package/dist/commands/plan.d.ts +2 -0
- package/dist/commands/plan.js +60 -0
- package/dist/commands/run.js +132 -35
- package/dist/commands/setup.js +8 -2
- package/dist/commands/skills.js +90 -6
- package/dist/commands/status.js +3 -0
- package/dist/lib/agent-config.d.ts +2 -2
- package/dist/lib/agent-config.js +134 -7
- 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/auth.d.ts +2 -0
- package/dist/lib/auth.js +13 -0
- package/dist/lib/cloud/api.d.ts +79 -0
- package/dist/lib/cloud/api.js +107 -0
- package/dist/lib/cloud/apply.d.ts +32 -0
- package/dist/lib/cloud/apply.js +294 -0
- package/dist/lib/cloud/checkpoint.d.ts +26 -0
- package/dist/lib/cloud/checkpoint.js +142 -0
- package/dist/lib/cloud/conflicts.d.ts +55 -0
- package/dist/lib/cloud/conflicts.js +131 -0
- package/dist/lib/cloud/containment.d.ts +8 -0
- package/dist/lib/cloud/containment.js +52 -0
- package/dist/lib/cloud/diff.d.ts +39 -0
- package/dist/lib/cloud/diff.js +138 -0
- package/dist/lib/cloud/engine-bridge.d.ts +21 -0
- package/dist/lib/cloud/engine-bridge.js +105 -0
- package/dist/lib/cloud/hash-cache.d.ts +23 -0
- package/dist/lib/cloud/hash-cache.js +44 -0
- package/dist/lib/cloud/hash.d.ts +10 -0
- package/dist/lib/cloud/hash.js +111 -0
- package/dist/lib/cloud/http.d.ts +17 -0
- package/dist/lib/cloud/http.js +47 -0
- package/dist/lib/cloud/lock-path.d.ts +1 -0
- package/dist/lib/cloud/lock-path.js +5 -0
- package/dist/lib/cloud/lock.d.ts +14 -0
- package/dist/lib/cloud/lock.js +143 -0
- package/dist/lib/cloud/manifest.d.ts +6 -0
- package/dist/lib/cloud/manifest.js +41 -0
- package/dist/lib/cloud/paths.d.ts +20 -0
- package/dist/lib/cloud/paths.js +90 -0
- package/dist/lib/cloud/project-godot-merge.d.ts +32 -0
- package/dist/lib/cloud/project-godot-merge.js +185 -0
- package/dist/lib/cloud/rules.d.ts +39 -0
- package/dist/lib/cloud/rules.js +159 -0
- package/dist/lib/cloud/sync.d.ts +21 -0
- package/dist/lib/cloud/sync.js +518 -0
- package/dist/lib/cloud/transfer.d.ts +23 -0
- package/dist/lib/cloud/transfer.js +184 -0
- package/dist/lib/cloud/types.d.ts +62 -0
- package/dist/lib/cloud/validate-path.d.ts +23 -0
- package/dist/lib/cloud/validate-path.js +103 -0
- package/dist/lib/engine.d.ts +6 -0
- package/dist/lib/engine.js +36 -1
- package/dist/lib/game-task-plan.d.ts +42 -0
- package/dist/lib/game-task-plan.js +376 -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 +102 -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 +83 -0
- package/dist/mcp/tools/asset-tools.js +265 -45
- package/dist/mcp/tools/cloud-tools.d.ts +2 -0
- package/dist/mcp/tools/cloud-tools.js +42 -0
- package/dist/mcp/tools/debug-tools.js +32 -2
- package/dist/mcp/tools/generate-tools.js +101 -13
- package/dist/mcp/tools/project-tools.js +76 -21
- package/dist/mcp/tools/with-engine.d.ts +14 -0
- package/dist/mcp/tools/with-engine.js +52 -7
- package/gemini-extension.json +3 -3
- 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 +20 -7
- 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 +28 -6
- package/skills/3d-assets/environment-kit/SKILL.md +7 -2
- package/skills/3d-assets/organic-model/SKILL.md +5 -4
- package/skills/3d-assets/prop-model/SKILL.md +17 -9
- package/skills/3d-assets/vehicle-model/SKILL.md +5 -4
- package/skills/README.md +37 -30
- package/skills/ai-and-npcs/design-npc/SKILL.md +6 -6
- package/skills/animation/animation-tree/SKILL.md +4 -2
- package/skills/animation/facial-and-lipsync/SKILL.md +1 -1
- package/skills/animation/generate-motion/SKILL.md +26 -5
- package/skills/animation/procedural-animation/SKILL.md +2 -2
- package/skills/asset-pipeline/asset-strategy/SKILL.md +3 -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/mcpupdate/SKILL.md +134 -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.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
- /package/dist/{commands/doctor.test.d.ts → lib/cloud/types.js} +0 -0
package/README.md
CHANGED
|
@@ -1,16 +1,20 @@
|
|
|
1
|
-
# Summer Engine
|
|
1
|
+
# Summer Engine: the AI game engine
|
|
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
|
|
5
|
+
**Summer** is the MIT open-source agent layer that connects your AI coding agent to Summer Engine: CLI, MCP server, skills, hooks, and plugin manifests. 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-engine-agent](https://github.com/SummerEngine/summer-engine-agent)
|
|
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
|
|
|
9
13
|
---
|
|
10
14
|
|
|
11
|
-
## Get started
|
|
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
|
|
|
@@ -18,8 +22,8 @@ That's it. The agent reads this README, detects what's already on your machine,
|
|
|
18
22
|
|
|
19
23
|
The first run will:
|
|
20
24
|
1. Install the `summer-engine` npm package (~3 MB) if it's not on `PATH`.
|
|
21
|
-
2.
|
|
22
|
-
3. Download the Summer Engine app (~1 GB
|
|
25
|
+
2. Install Summer's game-dev skills into `~/.claude/skills/` (or your agent's user-skill directory) so the agent loads them next session.
|
|
26
|
+
3. Download the Summer Engine app (~1 GB, including the engine binary, Git, and other runtime tools so users without them aren't blocked) if it's not installed.
|
|
23
27
|
4. Open your browser for one-click sign-in.
|
|
24
28
|
5. Scaffold a starter project and open the engine.
|
|
25
29
|
|
|
@@ -27,19 +31,19 @@ At that point the agent has the skills, the MCP server, and your engine running.
|
|
|
27
31
|
|
|
28
32
|
---
|
|
29
33
|
|
|
30
|
-
## AGENTS READING THIS
|
|
34
|
+
## AGENTS READING THIS: 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.
|
|
33
37
|
|
|
34
|
-
### Step
|
|
38
|
+
### Step -1: Verify Node.js is on PATH
|
|
35
39
|
|
|
36
40
|
```bash
|
|
37
41
|
node --version
|
|
38
42
|
```
|
|
39
43
|
|
|
40
|
-
If this
|
|
44
|
+
If this command does not print Node.js 18 or newer, **stop**. Tell the user: "Summer needs Node.js 18+. Install from https://nodejs.org and re-run the prompt." Do NOT try to install Node yourself.
|
|
41
45
|
|
|
42
|
-
### Step 0
|
|
46
|
+
### Step 0: Pre-detection (no commits to disk, just check state)
|
|
43
47
|
|
|
44
48
|
```bash
|
|
45
49
|
npx -y summer-engine@latest doctor --json
|
|
@@ -47,81 +51,71 @@ npx -y summer-engine@latest doctor --json
|
|
|
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.
|
|
49
53
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
{
|
|
54
|
-
"ok": true | false,
|
|
55
|
-
"checks": [
|
|
56
|
-
{ "id": "node-version", "status": "ok" | "warning" | "fail", ... },
|
|
57
|
-
{ "id": "cli-version", "status": "ok" | "warning" | "fail", ... },
|
|
58
|
-
{ "id": "login", "status": "ok" | "warning" | "fail", ... },
|
|
59
|
-
{ "id": "engine-install", "status": "ok" | "warning" | "fail", ... },
|
|
60
|
-
{ "id": "local-api", "status": "ok" | "warning" | "fail", ... },
|
|
61
|
-
{ "id": "mcp-server", "status": "ok" | "warning" | "fail", ... }
|
|
62
|
-
]
|
|
63
|
-
}
|
|
64
|
-
```
|
|
54
|
+
Read the JSON output. If top-level `ok` is `true`, everything is installed and you can skip straight to Step 5. Otherwise use the `checks` array to run only the remediation steps that need attention.
|
|
55
|
+
|
|
56
|
+
The relevant check ids are `node-version`, `cli-version`, `cli-version-current`, `skills-version-stale`, `login`, `engine-install`, `local-api`, `project-memory`, and `mcp-server`. For any check that is not `ok`, run the action in the table below, then re-run doctor.
|
|
65
57
|
|
|
66
|
-
| Check id | If `ok` |
|
|
58
|
+
| Check id | If `ok` | Action when attention is needed |
|
|
67
59
|
|---|---|---|
|
|
68
|
-
| `node-version` | continue |
|
|
69
|
-
| `cli-version` |
|
|
60
|
+
| `node-version` | continue | Step -1 already covered this |
|
|
61
|
+
| `cli-version` | always ok via npx | no action |
|
|
62
|
+
| `cli-version-current` | continue | run `npx clear-npx-cache && npx -y summer-engine@latest doctor --json` (forces a fresh resolve) |
|
|
63
|
+
| `skills-version-stale` | skip Step 1 | run Step 1 with `--force` |
|
|
70
64
|
| `engine-install` | skip Step 2 | run Step 2 |
|
|
71
65
|
| `login` | skip Step 3 | run Step 3 |
|
|
72
66
|
| `local-api` | skip Step 5b wait-loop | run wait-loop after `summer run` |
|
|
67
|
+
| `project-memory` | continue | if a project is open, run `summer:brainstorm-game` before building |
|
|
73
68
|
| `mcp-server` | skip Step 1 | run Step 1 |
|
|
74
|
-
| (skills installed) | skip Step 1 | run Step 1 |
|
|
75
69
|
|
|
76
|
-
|
|
70
|
+
**On version drift:** if either `cli-version-current` or `skills-version-stale` needs attention, refresh before proceeding. Tell the user once: "There's a newer Summer (X.Y.Z to 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
71
|
|
|
78
|
-
### Step 1
|
|
72
|
+
### Step 1: Install user-level skills (idempotent, fast)
|
|
79
73
|
|
|
80
74
|
```bash
|
|
81
|
-
npx -y summer-engine@latest setup claude-code --yes
|
|
75
|
+
npx -y summer-engine@latest setup claude-code --yes --force
|
|
82
76
|
```
|
|
83
77
|
|
|
84
|
-
Replace `claude-code` with the user's actual agent: `codex`, `cursor`, `windsurf`, `cline`, `roo-code`, `gemini`, or `opencode`.
|
|
78
|
+
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 the current Summer skill bundle 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
79
|
|
|
86
|
-
**First-install detection:** if `~/.claude/skills/` didn't exist before this command, Claude Code wasn't watching it and won't auto-detect the new files this session. Tell the user **once**: "Skills installed
|
|
80
|
+
**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
81
|
|
|
88
82
|
**Do NOT run `/plugin install` or any slash command.** The CLI path is the canonical install. The marketplace path is an alternative for users who specifically prefer the official plugin TUI; we don't route agents there.
|
|
89
83
|
|
|
90
|
-
### Step 2
|
|
84
|
+
### Step 2: Install the engine app (only if `engine-install` needs attention)
|
|
91
85
|
|
|
92
86
|
```bash
|
|
93
87
|
npx -y summer-engine@latest install
|
|
94
88
|
```
|
|
95
89
|
|
|
96
|
-
~1 GB. Downloads from Summer's signed releases. The bundle includes the engine binary plus Git and a handful of other runtime tools so users who don't already have them aren't blocked. The CLI prints the URL and size before touching disk. Tell the user **"downloading the engine app, ~1 GB
|
|
90
|
+
~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.
|
|
97
91
|
|
|
98
|
-
**Linux note:** the engine app currently supports macOS and Windows only. On Linux, `summer install` exits with a "Linux support coming soon" message. Surface the manual download URL to the user (https://summerengine.com/download) and stop
|
|
92
|
+
**Linux note:** the engine app currently supports macOS and Windows only. On Linux, `summer install` exits with a "Linux support coming soon" message. Surface the manual download URL to the user (https://summerengine.com/download) and stop. The rest of the playbook still works once they've installed manually.
|
|
99
93
|
|
|
100
|
-
### Step 3
|
|
94
|
+
### Step 3: Sign in (only if `login` needs attention)
|
|
101
95
|
|
|
102
96
|
```bash
|
|
103
97
|
npx -y summer-engine@latest login
|
|
104
98
|
```
|
|
105
99
|
|
|
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
|
|
100
|
+
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 120 seconds, re-run `npx -y summer-engine@latest login` and tell them to come back to the terminal quickly.** Don't loop indefinitely. The same token is shared with the engine; they sign in once, both surfaces accept it.
|
|
107
101
|
|
|
108
|
-
### Step 4
|
|
102
|
+
### Step 4: Re-run doctor to confirm
|
|
109
103
|
|
|
110
104
|
```bash
|
|
111
105
|
npx -y summer-engine@latest doctor --json
|
|
112
106
|
```
|
|
113
107
|
|
|
114
|
-
Should now return `ok: true` for `cli-version`, `login`, and `engine-install`.
|
|
108
|
+
Should now return `ok: true` for `cli-version`, `login`, and `engine-install`. `local-api` may still need attention because the engine is not running yet. If a setup check still needs attention, surface the specific message to the user and do not loop or paper over it.
|
|
115
109
|
|
|
116
|
-
### Step 5
|
|
110
|
+
### Step 5: Scaffold a project and run
|
|
117
111
|
|
|
118
|
-
**Important:** `summer create` writes the project into the current working directory. **Pick a stable parent directory first
|
|
112
|
+
**Important:** `summer create` writes the project into the current working directory. **Pick a stable parent directory first**, such as the user's home or a Projects folder, and `cd` there before running `create`. Don't let it land in a temp dir or wherever the agent happened to start.
|
|
119
113
|
|
|
120
114
|
```bash
|
|
121
115
|
cd ~/Projects # or wherever the user keeps code
|
|
122
116
|
```
|
|
123
117
|
|
|
124
|
-
If the user said "let's make a game" without specifying a template, default to `3d-basic`. Pick a sensible project name from the user's request
|
|
118
|
+
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, for example "FPS" to `my-fps-game`. Avoid spaces in the name.
|
|
125
119
|
|
|
126
120
|
```bash
|
|
127
121
|
npx -y summer-engine@latest create 3d-basic my-fps-game
|
|
@@ -130,9 +124,9 @@ npx -y summer-engine@latest run my-fps-game
|
|
|
130
124
|
|
|
131
125
|
`summer run` launches the engine app with the project loaded and polls the engine's local API for up to 20 seconds before returning.
|
|
132
126
|
|
|
133
|
-
### Step 5b
|
|
127
|
+
### Step 5b: Wait for the engine to be reachable (only if `summer run` printed "API not responding yet")
|
|
134
128
|
|
|
135
|
-
If the engine takes longer than 20s to boot (cold start, slow disk, etc.), `summer run` returns successfully but the local API isn't up yet.
|
|
129
|
+
If the engine takes longer than 20s to boot (cold start, slow disk, etc.), `summer run` returns successfully but the local API isn't up yet. MCP tools may not connect until the local API is ready. Wait for it:
|
|
136
130
|
|
|
137
131
|
```bash
|
|
138
132
|
# Poll doctor until local-api flips to ok (max ~30s):
|
|
@@ -147,56 +141,58 @@ done
|
|
|
147
141
|
|
|
148
142
|
Once `local-api` is `ok`, MCP tools are safe to call.
|
|
149
143
|
|
|
150
|
-
### Step 6
|
|
144
|
+
### Step 6: Brainstorm the game, then build
|
|
151
145
|
|
|
152
|
-
Now you have skills + MCP. **Don't jump into `summer create` content from a vague prompt
|
|
146
|
+
Now you have skills + MCP. **Don't jump into `summer create` content from a vague prompt**. Call `summer_start_game_task` with the user's goal, then invoke the recommended skill. For vague "make a game" requests, that should usually be `summer:brainstorm-game`. 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.
|
|
147
|
+
|
|
148
|
+
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.
|
|
153
149
|
|
|
154
150
|
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
151
|
|
|
156
152
|
### Anti-patterns (do NOT do these)
|
|
157
153
|
|
|
158
|
-
- **Don't run `npm install -g summer-engine`.** Use `npx -y summer-engine@latest ...` instead. `-g` requires `sudo` on most Mac/Linux setups
|
|
159
|
-
- **Don't try to install Node.js for the user.** If `node --version`
|
|
160
|
-
- **Don't ask the user "do you want the engine too?" or "do you also want the CLI?"**
|
|
154
|
+
- **Don't run `npm install -g summer-engine`.** Use `npx -y summer-engine@latest ...` instead. `-g` requires `sudo` on most Mac/Linux setups, so 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`.
|
|
155
|
+
- **Don't try to install Node.js for the user.** If `node --version` is unavailable, point them at https://nodejs.org and stop.
|
|
156
|
+
- **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
157
|
- **Don't double-install.** Always run `npx -y summer-engine@latest doctor --json` first. Skip steps that already returned `status: ok`.
|
|
162
|
-
- **Don't tell the user to type `/plugin marketplace add` or `/plugin install`.** The CLI path is the canonical install
|
|
158
|
+
- **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
159
|
- **Don't run `summer install` or `summer login` in the background.** They print user-facing output (engine download progress, browser-opening notice). Run them in the foreground so the user sees what's happening.
|
|
164
|
-
- **Don't skip the `--json` flag on `summer doctor
|
|
165
|
-
- **Don't skip the `-y` flag on `npx
|
|
166
|
-
- **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
|
|
160
|
+
- **Don't skip the `--json` flag on `summer doctor`.** Text output is fragile to parse and changes per version.
|
|
161
|
+
- **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.
|
|
162
|
+
- **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`.
|
|
167
163
|
- **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.
|
|
168
164
|
- **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.
|
|
169
165
|
- **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.
|
|
170
166
|
- **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.
|
|
171
167
|
|
|
172
|
-
**Using a different agent?** Replace `claude-code` with any supported agent in Step 1: `codex`, `cursor`, `windsurf`, `cline`, `roo-code`, `gemini`, or `opencode`. Skill targets vary per agent (Cursor uses `.cursor/rules/`, Windsurf uses `.windsurfrules`, Cline + Roo use `.clinerules/`, 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. **
|
|
168
|
+
**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.
|
|
173
169
|
|
|
174
|
-
**Power-user note:** if the user specifically wants `summer` on their `PATH` for everyday terminal use
|
|
170
|
+
**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.
|
|
175
171
|
|
|
176
172
|
---
|
|
177
173
|
|
|
178
|
-
## Get started
|
|
174
|
+
## Get started: alternative manual install via plugin marketplace
|
|
179
175
|
|
|
180
176
|
If you specifically prefer the official Claude Code plugin marketplace UI, you can install via:
|
|
181
177
|
|
|
182
178
|
```
|
|
183
|
-
/plugin marketplace add SummerEngine/summer
|
|
179
|
+
/plugin marketplace add SummerEngine/summer-engine-agent
|
|
184
180
|
/plugin install summer@summer-engine
|
|
185
181
|
```
|
|
186
182
|
|
|
187
|
-
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.
|
|
183
|
+
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.
|
|
188
184
|
|
|
189
185
|
---
|
|
190
186
|
|
|
191
187
|
## What just happened (the three pieces)
|
|
192
188
|
|
|
193
|
-
You installed one product. It has three parts. You don't have to think about them
|
|
189
|
+
You installed one product. It has three parts. You don't have to think about them because Summer wires them up, but here's what each does:
|
|
194
190
|
|
|
195
|
-
- **Summer Engine
|
|
196
|
-
- **Summer
|
|
197
|
-
- **Summer CLI
|
|
191
|
+
- **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.
|
|
192
|
+
- **Summer agent layer**: the skills, hooks, and plugin manifests that tell Claude Code, Codex, Cursor, and other agents how to build games. Installed by `summer setup` or the marketplace path. MIT, open source.
|
|
193
|
+
- **Summer CLI and MCP bridge**: the terminal command and local tool server that install the engine, scaffold projects, run them, sign you in, and let agents talk to the running engine. Usually invoked through `npx -y summer-engine@latest ...`, so no global install is needed. MIT, open source.
|
|
198
194
|
|
|
199
|
-
The
|
|
195
|
+
The agent layer gives the agent judgment. The CLI and MCP bridge give it hands. The engine is where the game actually lives.
|
|
200
196
|
|
|
201
197
|
---
|
|
202
198
|
|
|
@@ -206,9 +202,9 @@ We tell you before we touch your disk.
|
|
|
206
202
|
|
|
207
203
|
| What | Size | When | Source |
|
|
208
204
|
|---|---|---|---|
|
|
209
|
-
| `summer-engine` npm package (CLI + plugin source) | ~3 MB | `
|
|
210
|
-
| Summer Engine app | ~1 GB (engine + bundled Git/runtime tools) | `summer install` | Summer's signed releases |
|
|
211
|
-
| Auth token | ~1 KB | `summer login` | Browser
|
|
205
|
+
| `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) |
|
|
206
|
+
| Summer Engine app | ~1 GB (engine + bundled Git/runtime tools) | `npx -y summer-engine@latest install` | Summer's signed releases |
|
|
207
|
+
| Auth token | ~1 KB | `npx -y summer-engine@latest login` | Browser to `~/.summer/auth-token` |
|
|
212
208
|
| Skill files | < 50 KB | bundled in the npm package | no extra network call |
|
|
213
209
|
| Generated assets (3D / image / audio / video) | varies | only on explicit `summer_generate_*` calls | Summer Engine Studio |
|
|
214
210
|
| URL imports | varies | only on explicit `summer_import_from_url` calls | the URL you provide |
|
|
@@ -224,11 +220,11 @@ Not downloaded:
|
|
|
224
220
|
|
|
225
221
|
| Thing | License | Source |
|
|
226
222
|
|---|---|---|
|
|
227
|
-
| **Summer** (this repo:
|
|
228
|
-
| **Summer Engine** (the
|
|
229
|
-
| **Summer
|
|
223
|
+
| **Summer** (this repo: CLI, MCP server, skills, hooks, plugin manifests) | **MIT** | [SummerEngine/summer-engine-agent](https://github.com/SummerEngine/summer-engine-agent) |
|
|
224
|
+
| **Summer Engine app** (the desktop editor and runtime) | free to download, closed source for now | [summerengine.com/download](https://summerengine.com/download) |
|
|
225
|
+
| **Hosted Summer AI and cloud services** (asset generation, storage, multiplayer, orchestration) | paid Summer services | [summerengine.com/pricing](https://summerengine.com/pricing) |
|
|
230
226
|
|
|
231
|
-
The
|
|
227
|
+
The desktop app is free to download. The AI-agent layer, meaning the CLI, MCP server, skills, and plugin manifests, is MIT open source. Hosted Summer AI, asset generation, storage, multiplayer, and cloud features are paid Summer services.
|
|
232
228
|
|
|
233
229
|
---
|
|
234
230
|
|
|
@@ -236,29 +232,29 @@ The engine is the moat. The agent layer is open so you can audit it, fork it, ex
|
|
|
236
232
|
|
|
237
233
|
Two pieces, plus the glue.
|
|
238
234
|
|
|
239
|
-
**Skills.**
|
|
235
|
+
**Skills.** A bundled set of markdown playbooks. Each one is a discipline guide for the agent. They auto-fire on natural language:
|
|
240
236
|
|
|
241
|
-
- "Let's brainstorm a game"
|
|
242
|
-
- "It crashes when I press play"
|
|
243
|
-
- "Add an FPS controller"
|
|
244
|
-
- "Make it look prettier"
|
|
245
|
-
- "Set up multiplayer"
|
|
237
|
+
- "Let's brainstorm a game" -> `summer:brainstorm-game`
|
|
238
|
+
- "It crashes when I press play" -> `summer:debug`
|
|
239
|
+
- "Add an FPS controller" -> `summer:fps-controller`
|
|
240
|
+
- "Make it look prettier" -> `summer:art-direction`
|
|
241
|
+
- "Set up multiplayer" -> `summer:setup-multiplayer` -> `summer:host-authoritative-state`
|
|
246
242
|
|
|
247
243
|
Skills don't list steps. They encode the **order of operations**: diagnose before editing, scope before building, ask before guessing. [Agent Skills](https://agentskills.io) format, so any conformant tool picks them up.
|
|
248
244
|
|
|
249
|
-
**MCP bridge.** The `summer-engine` MCP server gives the agent
|
|
245
|
+
**MCP bridge.** The `summer-engine` MCP server gives the agent 44 tools that talk to your local engine on `localhost:6550`:
|
|
250
246
|
|
|
251
247
|
| | |
|
|
252
248
|
|---|---|
|
|
253
|
-
| Scene | `summer_add_node`, `summer_set_prop`, `summer_replace_node`, `summer_get_scene_tree`, `summer_inspect_node`, `summer_batch` |
|
|
254
|
-
| Diagnostics | `summer_get_script_errors`, `summer_get_diagnostics`, `summer_get_console`, `summer_get_debugger_errors` |
|
|
249
|
+
| Scene | `summer_add_node`, `summer_set_prop`, `summer_instantiate_scene`, `summer_replace_node`, `summer_get_scene_tree`, `summer_inspect_node`, `summer_batch` |
|
|
250
|
+
| Diagnostics | `summer_get_script_errors`, `summer_get_diagnostics`, `summer_get_console`, `summer_get_debugger_errors`, `summer_get_debugger_warnings` |
|
|
255
251
|
| Runtime | `summer_play`, `summer_stop`, `summer_is_running` |
|
|
256
252
|
| Project | `summer_get_project_context`, `summer_open_main_scene`, `summer_project_setting`, `summer_input_map_bind` |
|
|
257
253
|
| Assets | `summer_search_assets`, `summer_import_asset`, `summer_import_from_url`, `summer_generate_image`, `summer_generate_3d`, `summer_generate_audio`, `summer_generate_video` |
|
|
258
254
|
|
|
259
|
-
File ops, git, shell, grep
|
|
255
|
+
File ops, git, shell, and grep already belong to your agent. We don't shadow them.
|
|
260
256
|
|
|
261
|
-
**Lifecycle hooks.** A `session-start` hook detects whether you're in a Summer Engine project and feeds the agent a one-line orientation. An opt-in `pre-commit doctor` runs `summer doctor` before `git commit` and blocks
|
|
257
|
+
**Lifecycle hooks.** A `session-start` hook detects whether you're in a Summer Engine project and feeds the agent a one-line orientation. An opt-in `pre-commit doctor` runs `summer doctor` before `git commit` and blocks when the setup needs attention.
|
|
262
258
|
|
|
263
259
|
For the full architecture, see [docs/OVERVIEW.md](docs/OVERVIEW.md).
|
|
264
260
|
|
|
@@ -275,31 +271,31 @@ For the full architecture, see [docs/OVERVIEW.md](docs/OVERVIEW.md).
|
|
|
275
271
|
7. **debug** runs the cheapest diagnostic, forms one specific hypothesis, asks before editing, re-verifies after the fix.
|
|
276
272
|
8. **export-and-ship** runs the pre-flight checklist before producing a release build.
|
|
277
273
|
|
|
278
|
-
|
|
274
|
+
The skill bundle replaces "agent flailing through tutorials" with measurable craft.
|
|
279
275
|
|
|
280
276
|
---
|
|
281
277
|
|
|
282
278
|
## What's inside
|
|
283
279
|
|
|
284
|
-
**Process
|
|
280
|
+
**Process**: `using-summer`, `brainstorm-game`, `debug`, `play`
|
|
285
281
|
|
|
286
|
-
**Project setup
|
|
282
|
+
**Project setup**: `new-project`, `browse-templates`, `make-game`, `scene-composition`
|
|
287
283
|
|
|
288
|
-
**Build
|
|
284
|
+
**Build**: `fps-controller`, `design-mechanic`, `design-level`, `design-npc`
|
|
289
285
|
|
|
290
|
-
**Multiplayer
|
|
286
|
+
**Multiplayer**: `setup-multiplayer`, `host-authoritative-state`, `peer-to-peer-multiplayer`
|
|
291
287
|
|
|
292
|
-
**Look & feel
|
|
288
|
+
**Look & feel**: `art-direction`, `audio-direction`, `3d-lighting`, `vfx`, `ui-basics`
|
|
293
289
|
|
|
294
|
-
**Code & assets
|
|
290
|
+
**Code & assets**: `gdscript-patterns`, `asset-strategy`
|
|
295
291
|
|
|
296
|
-
**Performance & ship
|
|
292
|
+
**Performance & ship**: `tune-performance`, `export-and-ship`
|
|
297
293
|
|
|
298
|
-
**Skill authoring
|
|
294
|
+
**Skill authoring**: `skill-create`, `skill-improve`, `skill-test`
|
|
299
295
|
|
|
300
296
|
C# is supported by the engine. A `summer:csharp-patterns` skill is on the roadmap; for now write C# from Godot 4.5 docs.
|
|
301
297
|
|
|
302
|
-
Full
|
|
298
|
+
Full list of shipping skills: the `skills:` array in [`.claude-plugin/plugin.json`](./.claude-plugin/plugin.json).
|
|
303
299
|
|
|
304
300
|
## Philosophy
|
|
305
301
|
|
|
@@ -311,12 +307,12 @@ Full catalog with HAVE / NEXT / LATER status: [`skills/catalog.yaml`](./skills/c
|
|
|
311
307
|
|
|
312
308
|
---
|
|
313
309
|
|
|
314
|
-
## Install
|
|
310
|
+
## Install: full instructions per harness
|
|
315
311
|
|
|
316
312
|
### Claude Code
|
|
317
313
|
|
|
318
314
|
```bash
|
|
319
|
-
claude /plugin marketplace add SummerEngine/summer
|
|
315
|
+
claude /plugin marketplace add SummerEngine/summer-engine-agent
|
|
320
316
|
claude /plugin install summer@summer-engine
|
|
321
317
|
```
|
|
322
318
|
|
|
@@ -336,7 +332,7 @@ Search `summer`, install.
|
|
|
336
332
|
|
|
337
333
|
### Codex App
|
|
338
334
|
|
|
339
|
-
Sidebar
|
|
335
|
+
Sidebar to **Plugins** to **Coding**, then click `+` next to **Summer**.
|
|
340
336
|
|
|
341
337
|
### Cursor
|
|
342
338
|
|
|
@@ -349,7 +345,7 @@ Or search `summer` in the Cursor plugin marketplace.
|
|
|
349
345
|
### Factory Droid
|
|
350
346
|
|
|
351
347
|
```bash
|
|
352
|
-
droid plugin marketplace add https://github.com/SummerEngine/summer
|
|
348
|
+
droid plugin marketplace add https://github.com/SummerEngine/summer-engine-agent
|
|
353
349
|
droid plugin install summer@summer-engine
|
|
354
350
|
```
|
|
355
351
|
|
|
@@ -367,7 +363,7 @@ Writes the MCP server config to VS Code's globalStorage for the Cline extension
|
|
|
367
363
|
npx -y summer-engine@latest setup roo-code --yes
|
|
368
364
|
```
|
|
369
365
|
|
|
370
|
-
Same shape as Cline (Roo Code is a Cline fork)
|
|
366
|
+
Same shape as Cline (Roo Code is a Cline fork): writes globalStorage MCP config and `.clinerules/` files. **Restart VS Code** afterward.
|
|
371
367
|
|
|
372
368
|
### Gemini CLI
|
|
373
369
|
|
|
@@ -375,15 +371,24 @@ Same shape as Cline (Roo Code is a Cline fork) — writes globalStorage MCP conf
|
|
|
375
371
|
npx -y summer-engine@latest setup gemini --yes
|
|
376
372
|
```
|
|
377
373
|
|
|
378
|
-
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
|
|
374
|
+
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-engine-agent`) still works for users who prefer it. Both end up at the same place.
|
|
379
375
|
|
|
380
376
|
### GitHub Copilot CLI
|
|
381
377
|
|
|
382
378
|
```bash
|
|
383
|
-
|
|
384
|
-
|
|
379
|
+
npx -y summer-engine@latest setup github-copilot --yes
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
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.
|
|
383
|
+
|
|
384
|
+
### GitHub Copilot in VS Code
|
|
385
|
+
|
|
386
|
+
```bash
|
|
387
|
+
npx -y summer-engine@latest setup vscode-copilot --yes
|
|
385
388
|
```
|
|
386
389
|
|
|
390
|
+
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.
|
|
391
|
+
|
|
387
392
|
### OpenCode
|
|
388
393
|
|
|
389
394
|
```bash
|
|
@@ -395,9 +400,8 @@ Writes the MCP server entry into `opencode.json` (`~/.config/opencode/opencode.j
|
|
|
395
400
|
### Windsurf and others
|
|
396
401
|
|
|
397
402
|
```bash
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
summer doctor
|
|
403
|
+
npx -y summer-engine@latest setup <agent> --yes --force
|
|
404
|
+
npx -y summer-engine@latest doctor
|
|
401
405
|
```
|
|
402
406
|
|
|
403
407
|
---
|
|
@@ -406,11 +410,14 @@ summer doctor
|
|
|
406
410
|
|
|
407
411
|
| Command | What it does |
|
|
408
412
|
|---|---|
|
|
409
|
-
| `summer install` | Download Summer Engine.
|
|
413
|
+
| `summer install` | Download Summer Engine. Prints URL and size first. |
|
|
410
414
|
| `summer login` | Browser-based sign-in. |
|
|
411
415
|
| `summer logout` | Clear auth tokens. |
|
|
412
416
|
| `summer status` | Engine state, port, auth. |
|
|
413
|
-
| `summer doctor` | Diagnose Node, login, engine, MCP. |
|
|
417
|
+
| `summer doctor` | Diagnose Node, login, engine, project memory, MCP. |
|
|
418
|
+
| `summer plan <goal>` | Route a game-building goal into skills, MCP tools, gates, and verification. |
|
|
419
|
+
| `summer memory` | Inspect project memory in `.summer`. |
|
|
420
|
+
| `summer memory show <file>` | Print a project memory Markdown file. |
|
|
414
421
|
| `summer run [path]` | Launch the engine. |
|
|
415
422
|
| `summer open <path>` | Open a project in a running engine. |
|
|
416
423
|
| `summer create <template> [name]` | Scaffold a project. |
|
|
@@ -452,7 +459,7 @@ More coming.
|
|
|
452
459
|
Skills evolve fast. Two ways to help:
|
|
453
460
|
|
|
454
461
|
1. **Open an issue** if a skill misfires. Quote the prompt and the response.
|
|
455
|
-
2. **Submit a SKILL.md**
|
|
462
|
+
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.
|
|
456
463
|
|
|
457
464
|
[`docs/DEVELOPMENT.md`](./docs/DEVELOPMENT.md) is the contributor guide.
|
|
458
465
|
|
|
@@ -480,4 +487,4 @@ MIT for everything in this repo. Summer Engine itself is proprietary. See [What'
|
|
|
480
487
|
- [Download Summer Engine](https://summerengine.com/download)
|
|
481
488
|
- [Documentation](https://summerengine.com/docs)
|
|
482
489
|
- [Community](https://summerengine.com/community)
|
|
483
|
-
- [Issues](https://github.com/SummerEngine/summer/issues)
|
|
490
|
+
- [Issues](https://github.com/SummerEngine/summer-engine-agent/issues)
|
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.
|