summer-engine 2.7.0 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/.claude-plugin/plugin.json +2 -1
  2. package/.codex-plugin/plugin.json +3 -2
  3. package/.cursor-plugin/plugin.json +2 -1
  4. package/.opencode/INSTALL.md +1 -1
  5. package/.opencode/plugins/summer.js +1 -1
  6. package/AGENTS.md +4 -4
  7. package/CHANGELOG.md +10 -0
  8. package/GEMINI.md +5 -4
  9. package/README.md +58 -19
  10. package/assets/autopilot/README.md +51 -0
  11. package/assets/autopilot/autopilot.gd +222 -0
  12. package/assets/autopilot/probe_base.gd +262 -0
  13. package/assets/autopilot/run.sh +78 -0
  14. package/commands/gameskill.md +11 -2
  15. package/dist/bin/summer.js +8 -0
  16. package/dist/commands/config.d.ts +2 -0
  17. package/dist/commands/config.js +53 -0
  18. package/dist/commands/create.d.ts +1 -0
  19. package/dist/commands/create.js +38 -6
  20. package/dist/commands/list.js +1 -1
  21. package/dist/commands/login.d.ts +19 -0
  22. package/dist/commands/login.js +123 -36
  23. package/dist/commands/logout.js +3 -16
  24. package/dist/commands/logs.d.ts +2 -0
  25. package/dist/commands/logs.js +19 -0
  26. package/dist/commands/mcp.js +7 -2
  27. package/dist/commands/open.js +1 -1
  28. package/dist/commands/publish.d.ts +2 -0
  29. package/dist/commands/publish.js +20 -0
  30. package/dist/commands/releases.d.ts +2 -0
  31. package/dist/commands/releases.js +20 -0
  32. package/dist/commands/run.js +1 -1
  33. package/dist/lib/api-client.d.ts +4 -2
  34. package/dist/lib/api-client.js +28 -4
  35. package/dist/lib/auth.d.ts +40 -12
  36. package/dist/lib/auth.js +173 -37
  37. package/dist/lib/cloud/engine-bridge.d.ts +17 -4
  38. package/dist/lib/cloud/engine-bridge.js +32 -6
  39. package/dist/lib/config.d.ts +20 -0
  40. package/dist/lib/config.js +142 -0
  41. package/dist/lib/creator.d.ts +93 -0
  42. package/dist/lib/creator.js +393 -0
  43. package/dist/lib/engine.d.ts +35 -2
  44. package/dist/lib/engine.js +240 -6
  45. package/dist/lib/public-surface-paths.d.ts +13 -0
  46. package/dist/lib/public-surface-paths.js +42 -0
  47. package/dist/lib/skills-registry.d.ts +8 -0
  48. package/dist/lib/skills-registry.js +9 -0
  49. package/dist/lib/store.d.ts +14 -0
  50. package/dist/lib/store.js +145 -0
  51. package/dist/lib/summer-compatibility.d.ts +6 -0
  52. package/dist/lib/summer-compatibility.js +22 -0
  53. package/dist/mcp/server.d.ts +8 -1
  54. package/dist/mcp/server.js +25 -4
  55. package/dist/mcp/tools/creator-tools.d.ts +2 -0
  56. package/dist/mcp/tools/creator-tools.js +105 -0
  57. package/dist/mcp/tools/generate-tools.js +16 -6
  58. package/dist/mcp/tools/project-tools.js +12 -7
  59. package/dist/mcp/tools/scene-tools.js +6 -6
  60. package/dist/mcp/tools/visual-tools.js +4 -3
  61. package/hooks/pre-commit-doctor.sh +0 -0
  62. package/hooks/run-hook.cmd +0 -0
  63. package/hooks/session-start.sh +5 -5
  64. package/package.json +3 -1
  65. package/references/collaborative-protocol.md +50 -0
  66. package/references/gd-style.md +121 -0
  67. package/references/godot-version.md +51 -0
  68. package/references/mcp-tools-reference.md +199 -0
  69. package/references/public-surface-language.md +30 -0
  70. package/references/summer-folder.md +90 -0
  71. package/references/template-registry.md +73 -0
  72. package/skills/2d-assets/character-portrait/SKILL.md +17 -12
  73. package/skills/2d-assets/concept-art/SKILL.md +10 -9
  74. package/skills/2d-assets/pixel-art/SKILL.md +36 -20
  75. package/skills/2d-assets/skybox-panorama/SKILL.md +32 -37
  76. package/skills/2d-assets/sprite-sheet/SKILL.md +40 -35
  77. package/skills/2d-assets/tileable-texture/SKILL.md +28 -22
  78. package/skills/2d-assets/ui-graphics/SKILL.md +46 -32
  79. package/skills/2d-assets/use-widget-asset/SKILL.md +8 -6
  80. package/skills/3d-assets/character-model/SKILL.md +34 -19
  81. package/skills/3d-assets/environment-kit/SKILL.md +11 -5
  82. package/skills/3d-assets/organic-model/SKILL.md +8 -5
  83. package/skills/3d-assets/prop-model/SKILL.md +9 -3
  84. package/skills/3d-assets/vehicle-model/SKILL.md +32 -19
  85. package/skills/README.md +1 -1
  86. package/skills/ai-and-npcs/design-npc/SKILL.md +31 -13
  87. package/skills/animation/animation-tree/SKILL.md +39 -15
  88. package/skills/animation/facial-and-lipsync/SKILL.md +25 -8
  89. package/skills/animation/generate-motion/SKILL.md +47 -15
  90. package/skills/animation/procedural-animation/SKILL.md +31 -13
  91. package/skills/animation/retarget/SKILL.md +127 -79
  92. package/skills/audio/adaptive-music/SKILL.md +24 -20
  93. package/skills/audio/ambient-bed/SKILL.md +22 -16
  94. package/skills/audio/audio-direction/SKILL.md +15 -10
  95. package/skills/audio/music-track/SKILL.md +18 -12
  96. package/skills/audio/sound-effect/SKILL.md +17 -12
  97. package/skills/audio/voice-line/SKILL.md +42 -42
  98. package/skills/character-controllers/fps-controller/SKILL.md +26 -16
  99. package/skills/debugging/debug/SKILL.md +52 -20
  100. package/skills/deployment/export-and-ship/SKILL.md +105 -38
  101. package/skills/deployment/remote-deploy/SKILL.md +56 -23
  102. package/skills/gameplay-mechanics/auto-fire-targeting/SKILL.md +26 -1
  103. package/skills/gameplay-mechanics/design-mechanic/SKILL.md +23 -15
  104. package/skills/level-design/design-level/SKILL.md +22 -8
  105. package/skills/level-design/scene-to-level/SKILL.md +13 -7
  106. package/skills/multiplayer-and-networking/host-authoritative-state/SKILL.md +8 -8
  107. package/skills/multiplayer-and-networking/peer-to-peer-multiplayer/SKILL.md +2 -7
  108. package/skills/multiplayer-and-networking/setup-multiplayer/SKILL.md +26 -18
  109. package/skills/performance/tune-performance/SKILL.md +51 -32
  110. package/skills/rendering-and-lighting/3d-lighting/SKILL.md +34 -5
  111. package/skills/rendering-and-lighting/art-direction/SKILL.md +6 -8
  112. package/skills/scene-and-project/brainstorm-game/SKILL.md +3 -5
  113. package/skills/scene-and-project/make-game/SKILL.md +2 -1
  114. package/skills/scene-and-project/play/SKILL.md +10 -4
  115. package/skills/scene-and-project/scene-composition/SKILL.md +21 -8
  116. package/skills/scene-and-project/summer-cloud/SKILL.md +1 -1
  117. package/skills/ui-and-ux/ui-basics/SKILL.md +16 -7
  118. package/skills/video/animated-loop/SKILL.md +63 -39
  119. package/skills/video/cinematic-cutscene/SKILL.md +66 -30
  120. package/skills/video/trailer-shot/SKILL.md +30 -21
  121. package/skills/visual-effects/_building-blocks/additive-billboard-particles.md +25 -16
  122. package/skills/visual-effects/_building-blocks/trauma-shake-snippet.md +5 -3
  123. package/skills/visual-effects/game-feel/SKILL.md +51 -33
  124. package/skills/visual-effects/recipes/dissolve/SKILL.md +51 -9
  125. package/skills/visual-effects/recipes/fire/SKILL.md +136 -49
  126. package/skills/visual-effects/recipes/hit-spark/SKILL.md +45 -8
  127. package/skills/visual-effects/recipes/lightning/SKILL.md +59 -27
  128. package/skills/visual-effects/recipes/magic-glow/SKILL.md +59 -26
  129. package/skills/visual-effects/recipes/muzzle-flash/SKILL.md +68 -25
  130. package/skills/visual-effects/recipes/smoke/SKILL.md +89 -28
  131. package/skills/visual-effects/recipes/water-ripple/SKILL.md +83 -23
  132. package/skills/workflow/brainstorming/SKILL.md +1 -1
  133. package/skills/workflow/brainstorming/scripts/start-server.sh +0 -0
  134. package/skills/workflow/brainstorming/scripts/stop-server.sh +0 -0
  135. package/skills/workflow/debugging-game-feel/SKILL.md +29 -9
  136. package/skills/workflow/diagnosing-perf-regressions/SKILL.md +46 -21
  137. package/skills/workflow/gameskill/SKILL.md +11 -2
  138. package/skills/workflow/headless-scripting/SKILL.md +407 -0
  139. package/skills/workflow/investigating-bugs/SKILL.md +4 -2
  140. package/skills/workflow/investigating-bugs/find-polluter.sh +0 -0
  141. package/skills/workflow/mcpupdate/SKILL.md +3 -3
  142. package/skills/workflow/playtesting-a-feature/SKILL.md +94 -21
  143. package/skills/workflow/skill-create/SKILL.md +7 -7
  144. package/skills/workflow/skill-test/SKILL.md +3 -3
  145. package/skills/workflow/using-summer/SKILL.md +12 -2
  146. package/skills/workflow/verification-before-completion/SKILL.md +2 -0
  147. package/skills/workflow/writing-plans/SKILL.md +7 -7
  148. package/skills/workflow/writing-skills/SKILL.md +7 -5
  149. package/skills/workflow/writing-skills/render-graphs.js +0 -0
  150. package/skills/workflow/writing-skills/testing-skills-with-subagents.md +1 -1
@@ -15,9 +15,9 @@ allowed-tools: Read Write Glob Grep
15
15
 
16
16
  Ask the user:
17
17
  - **Name** (kebab-case, ≤ 64 chars). Example: `state-machine-patterns`.
18
- - **Category** (one of the 20 in `SKILL_CATEGORIES` at `src/lib/skills-registry.ts`). Example: `scripting-patterns`.
18
+ - **Category** (must be one of the values in the `SKILL_CATEGORIES` array at `src/lib/skills-registry.ts` — read it, do not guess). Example: `scripting-patterns`.
19
19
  - **One-sentence description** for the frontmatter.
20
- - **Template-id** (optional). Lookup against `references/template-registry.md`.
20
+ - **Template-id** (optional). Lookup against `../../../references/template-registry.md`.
21
21
 
22
22
  ### 2. Create the folder
23
23
 
@@ -80,13 +80,13 @@ May I <action>?
80
80
 
81
81
  → **template-id**: `<template-id>`
82
82
  → **Repo**: <github URL from references/template-registry.md>
83
- → **Bootstrap**: `summer template clone <template-id> my-game`
83
+ → **Bootstrap**: `summer create <template-id> my-game` (see `summer list templates` for the slugs)
84
84
 
85
85
  ## See also
86
86
 
87
- - `references/godot-version.md`
88
- - `references/mcp-tools-reference.md`
89
- - `references/gd-style.md`
87
+ - `../../../references/godot-version.md`
88
+ - `../../../references/mcp-tools-reference.md`
89
+ - `../../../references/gd-style.md`
90
90
  - (other relevant skills)
91
91
  ```
92
92
 
@@ -149,5 +149,5 @@ This skill writes files (the new skill folder + plugin manifest update + TS regi
149
149
 
150
150
  ## See also
151
151
 
152
- - `references/collaborative-protocol.md`
152
+ - `../../../references/collaborative-protocol.md`
153
153
  - `workflow/skill-test/SKILL.md`
@@ -21,7 +21,7 @@ For a single skill at `skills/<category>/<name>/`, run these checks:
21
21
  - At least one `summer_*` MCP tool example.
22
22
  - At least one file-edit fallback block (e.g., raw `.tscn` snippet) OR an explicit "no fallback for this — Summer MCP required" note.
23
23
  4. **Collaborative protocol.** If the skill triggers user-visible writes, body must contain at least one of: `May I`, `I'm about to`, `Continue?`, `OK?`, `Proceed?`. Skills that only inspect/read are exempt.
24
- 5. **Template-id resolved.** If the skill's frontmatter declares `template-id: <id>`, that id must exist in `references/template-registry.md`.
24
+ 5. **Template-id resolved.** If the skill's frontmatter declares `template-id: <id>`, that id must exist in `../../../references/template-registry.md`.
25
25
  6. **Tests/spec.md present.** Every skill in a non-`_meta` category must have `tests/spec.md` with at least one `## Case` heading.
26
26
  7. **Relative links resolve.** Every `](../references/...)`, `](../../references/...)`, `](./references/...)`, and `](./examples/...)` link must point at an existing file (FAIL if broken). Forward references in `## See also` to other SKILL.md files (e.g., `[design-mechanic](../../gameplay-mechanics/design-mechanic/SKILL.md)`) are allowed to dangle and only WARN if the target is missing — the catalog evolves and skills should be free to point at planned skills.
27
27
 
@@ -80,7 +80,7 @@ This skill is **read-only**. It never writes. No "May I" needed.
80
80
 
81
81
  ## See also
82
82
 
83
- - `references/collaborative-protocol.md`
84
- - `references/template-registry.md`
83
+ - `../../../references/collaborative-protocol.md`
84
+ - `../../../references/template-registry.md`
85
85
  - `tests/runner.md`
86
86
  - `tests/specs/` — per-skill behavioral specs
@@ -38,10 +38,20 @@ Two layers:
38
38
  - **Skills** — discipline guides that fire on specific situations: brainstorming a game, designing a mechanic, building an FPS controller, debugging a crash, shipping a build. Each one is a SKILL.md you load via the Skill tool.
39
39
  - **MCP tools** — `summer_*` tools that talk to the running Summer Engine on `localhost:6550`. Scene mutation (`summer_add_node`, `summer_set_prop`), inspection (`summer_get_scene_tree`, `summer_inspect_node`), play/diagnostics (`summer_play`, `summer_get_diagnostics`), asset import/generation (`summer_import_from_url`, `summer_generate_3d`), whole-project sync to Summer Cloud (`summer_cloud_push`, `summer_cloud_pull`; see `summer:summer-cloud`), and 30+ more.
40
40
 
41
- **Scripting language:** Summer Engine is compatible with Godot 4.5. You can write game code in either:
41
+ **Scripting language:** The user is making a Summer game with the Summer SDK.
42
+ GDScript is the default creator language. Summer currently uses the 4.6.1
43
+ upstream technical base, plans to adopt 4.7.1 next, and follows upstream
44
+ continuously. Confirm version-sensitive behavior from the engine's own version
45
+ string rather than turning that base into the product identity. You can write
46
+ game code in either:
42
47
 
43
48
  - **GDScript** (`.gd`) — the default. Best supported by Summer skills (see `summer:gdscript-patterns`). Use this unless the user has explicitly chosen C#.
44
- - **C#** (`.cs`) — fully supported by the engine. There is no `summer:csharp-patterns` skill yet — when writing C#, use the Godot 4.5 C# API from first principles. The patterns are different (different lifecycle method names, different signal API, different export attributes), so don't blindly translate GDScript idioms. Confirm with the user that they want C# before producing it; switching languages mid-project is painful.
49
+ - **C#** (`.cs`) — supported by the shipped Mono build. There is no
50
+ `summer:csharp-patterns` skill yet. When writing C#, use the upstream C# API
51
+ reference matching the current Summer technical base. The lifecycle, signal
52
+ API, and export attributes differ, so do not blindly translate GDScript
53
+ idioms. Confirm that the user wants C# before producing it; switching
54
+ languages mid-project is painful.
45
55
 
46
56
  Scenes are always `.tscn`/`.scn`. Resources are always `.tres`/`.res`. Drive the engine through `summer_*` tools — do not hand-edit `.tscn` files; the editor holds in-memory state that diverges from disk.
47
57
 
@@ -45,6 +45,7 @@ Skip any step = lying, not verifying
45
45
  | Linter clean | Linter output: 0 errors | Partial check, extrapolation |
46
46
  | Build succeeds | Build command: exit 0 | Linter passing, logs look good |
47
47
  | Bug fixed | Test original symptom: passes | Code changed, assumed fixed |
48
+ | Gameplay behaviour works | `RunVerification` probe: pressed the input, read the state back | Script compiles, game boots, diagnostics clean |
48
49
  | Regression test works | Red-green cycle verified | Test passes once |
49
50
  | Agent completed | VCS diff shows changes | Agent reports "success" |
50
51
  | Requirements met | Line-by-line checklist | Tests passing |
@@ -72,6 +73,7 @@ Skip any step = lying, not verifying
72
73
  | "I'm tired" | Exhaustion ≠ excuse |
73
74
  | "Partial check is enough" | Partial proves nothing |
74
75
  | "Different words so rule doesn't apply" | Spirit over letter |
76
+ | "There's no way to test gameplay, I'll ask the user" | There is. A `RunVerification` probe presses input and reads state back. Ask the user only for what a probe cannot judge. |
75
77
 
76
78
  ## Key Patterns
77
79
 
@@ -13,7 +13,7 @@ Assume they are a skilled developer, but know almost nothing about our toolset o
13
13
 
14
14
  **Announce at start:** "I'm using the writing-plans skill to create the implementation plan."
15
15
 
16
- **Context:** If working in an isolated worktree, it should have been created via the `summer:using-git-worktrees` skill at execution time.
16
+ **Context:** If the work needs isolation from the current checkout, create a git worktree for it before execution starts.
17
17
 
18
18
  **Save plans to:** `docs/superpowers/plans/YYYY-MM-DD-<feature-name>.md`
19
19
  - (User preferences for plan location override this default)
@@ -49,7 +49,7 @@ This structure informs the task decomposition. Each task should produce self-con
49
49
  ```markdown
50
50
  # [Feature Name] Implementation Plan
51
51
 
52
- > **For agentic workers:** REQUIRED SUB-SKILL: Use summer:subagent-driven-development (recommended) or summer:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
52
+ > **For agentic workers:** implement this plan task-by-task, in order, checking off each step as it lands. Steps use checkbox (`- [ ]`) syntax for tracking. Dispatch a fresh subagent per task where the tasks are independent (see summer:dispatching-parallel-agents), otherwise execute inline with a review checkpoint after each task.
53
53
 
54
54
  **Goal:** [One sentence describing what this builds]
55
55
 
@@ -139,14 +139,14 @@ After saving the plan, offer execution choice:
139
139
 
140
140
  **1. Subagent-Driven (recommended)** - I dispatch a fresh subagent per task, review between tasks, fast iteration
141
141
 
142
- **2. Inline Execution** - Execute tasks in this session using executing-plans, batch execution with checkpoints
142
+ **2. Inline Execution** - Execute tasks in this session, batched with checkpoints
143
143
 
144
144
  **Which approach?"**
145
145
 
146
146
  **If Subagent-Driven chosen:**
147
- - **REQUIRED SUB-SKILL:** Use summer:subagent-driven-development
148
- - Fresh subagent per task + two-stage review
147
+ - One fresh subagent per task, each given the task's full text and nothing else from this session's history. See `summer:dispatching-parallel-agents` for prompt structure and when parallelism is safe.
148
+ - Two-stage review: read the subagent's summary, then verify the diff yourself before starting the next task.
149
149
 
150
150
  **If Inline Execution chosen:**
151
- - **REQUIRED SUB-SKILL:** Use summer:executing-plans
152
- - Batch execution with checkpoints for review
151
+ - Execute tasks in order in this session, stopping at a checkpoint after each task for review.
152
+ - Never batch past a failing step. Fix it, verify it, then continue.
@@ -15,7 +15,7 @@ You write test cases (pressure scenarios with subagents), watch them fail (basel
15
15
 
16
16
  **Core principle:** If you didn't watch an agent fail without the skill, you don't know if the skill teaches the right thing.
17
17
 
18
- **REQUIRED BACKGROUND:** You MUST understand summer:test-driven-development before using this skill. That skill defines the fundamental RED-GREEN-REFACTOR cycle. This skill adapts TDD to documentation.
18
+ **REQUIRED BACKGROUND:** This skill adapts the RED-GREEN-REFACTOR cycle to documentation. The cycle: write the test first and watch it FAIL for the reason you expect (red), make the smallest change that passes it (green), then clean up without changing behaviour (refactor). A test you never saw fail proves nothing.
19
19
 
20
20
  **Official guidance:** For Anthropic's official skill authoring best practices, see anthropic-best-practices.md. This document provides additional patterns and guidelines that complement the TDD-focused approach in this skill.
21
21
 
@@ -280,10 +280,12 @@ wc -w skills/path/SKILL.md
280
280
  **When writing documentation that references other skills:**
281
281
 
282
282
  Use skill name only, with explicit requirement markers:
283
- - ✅ Good: `**REQUIRED SUB-SKILL:** Use summer:test-driven-development`
283
+ - ✅ Good: `**REQUIRED SUB-SKILL:** Use summer:verification-before-completion`
284
284
  - ✅ Good: `**REQUIRED BACKGROUND:** You MUST understand summer:investigating-bugs`
285
- - ❌ Bad: `See skills/testing/test-driven-development` (unclear if required)
286
- - ❌ Bad: `@skills/testing/test-driven-development/SKILL.md` (force-loads, burns context)
285
+ - ❌ Bad: `See skills/debugging/debug` (unclear if required)
286
+ - ❌ Bad: `@skills/debugging/debug/SKILL.md` (force-loads, burns context)
287
+
288
+ **Check the skill exists before you point at it.** The registry of shipped skills is the `SKILL_REGISTRY` array in `src/lib/skills-registry.ts` and the `skills:` array in `.claude-plugin/plugin.json`. A `REQUIRED SUB-SKILL` pointing at a skill that was never shipped is worse than no cross-reference: the reader stops and looks for something that does not exist.
287
289
 
288
290
  **Why no @ links:** `@` syntax force-loads files immediately, consuming 200k+ context before you need them.
289
291
 
@@ -390,7 +392,7 @@ Edit skill without testing? Same violation.
390
392
  - Don't "adapt" while running tests
391
393
  - Delete means delete
392
394
 
393
- **REQUIRED BACKGROUND:** The summer:test-driven-development skill explains why this matters. Same principles apply to documentation.
395
+ **Why this matters:** an untested change is an assertion, not a result. Same principle in documentation as in code.
394
396
 
395
397
  ## Testing All Skill Types
396
398
 
File without changes
@@ -10,7 +10,7 @@ You run scenarios without the skill (RED - watch agent fail), write skill addres
10
10
 
11
11
  **Core principle:** If you didn't watch an agent fail without the skill, you don't know if the skill prevents the right failures.
12
12
 
13
- **REQUIRED BACKGROUND:** You MUST understand summer:test-driven-development before using this skill. That skill defines the fundamental RED-GREEN-REFACTOR cycle. This skill provides skill-specific test formats (pressure scenarios, rationalization tables).
13
+ **REQUIRED BACKGROUND:** the RED-GREEN-REFACTOR cycle as stated just above. This reference supplies the skill-specific test formats on top of it (pressure scenarios, rationalization tables).
14
14
 
15
15
  **Complete worked example:** See examples/CLAUDE_MD_TESTING.md for a full test campaign testing CLAUDE.md documentation variants.
16
16