summer-engine 2.8.1 → 2.8.2

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/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
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.8.2] — 2026-09-01 — "Windows setup works out of the box"
6
+
7
+ ### Fixed
8
+ - Windows: generated MCP configs now launch the server via `cmd.exe /c npx ...` instead of `command: "npx"`. `npx` is a `.cmd`/`.ps1` shim on Windows and Node's `spawn()` does no PATHEXT resolution, so agent hosts that spawn the command directly (Claude Code, Kimi Code, Cursor, ...) failed with `spawn npx ENOENT` even though npx worked in a terminal. Reported by Imitater967 — thank you. Re-run `npx -y summer-engine@latest setup <agent> --yes --force` on Windows to rewrite the config; docs for manual configs carry the same note.
9
+ - Six shipped skills (`host-authoritative-state`, `setup-multiplayer`, `scene-composition`, `make-game`, `ui-basics`, `mcpupdate`) had unquoted colons in their YAML frontmatter descriptions — strict YAML parsers rejected the frontmatter and skipped the skill entirely. Descriptions are now quoted; all shipped skill frontmatter is YAML-validated.
10
+
5
11
  ## [2.8.1] — 2026-08-18 — "Scene mutations work again on engine 0.5.60+"
6
12
 
7
13
  ### Added
@@ -35,5 +35,5 @@ export interface AgentConfigResult {
35
35
  export declare function parseAgent(value: string | undefined): SupportedAgent | null;
36
36
  export declare function parseScope(value: string | undefined): ConfigScope | null;
37
37
  export declare function configureAgentMcp(options: AgentConfigOptions): Promise<AgentConfigResult>;
38
- export declare function createSummerMcpServerConfig(localDev: boolean): StdioMcpServerConfig;
38
+ export declare function createSummerMcpServerConfig(localDev: boolean, platform?: NodeJS.Platform): StdioMcpServerConfig;
39
39
  export declare function renderConfigSnippet(agent: SupportedAgent, server: StdioMcpServerConfig): string;
@@ -103,13 +103,24 @@ export async function configureAgentMcp(options) {
103
103
  nextSteps: createNextSteps(options.agent, options.scope, target.path),
104
104
  };
105
105
  }
106
- export function createSummerMcpServerConfig(localDev) {
106
+ export function createSummerMcpServerConfig(localDev, platform = process.platform) {
107
107
  if (localDev) {
108
+ // node is a real executable on every platform; spawn("node") resolves fine.
108
109
  return {
109
110
  command: "node",
110
111
  args: [resolveLocalCliPath(), "mcp"],
111
112
  };
112
113
  }
114
+ // On Windows, npx is a .cmd/.ps1 shim, and Node's spawn() does not do PATHEXT
115
+ // resolution — hosts that spawn("npx") directly (Claude Code, Kimi Code,
116
+ // Cursor, ...) fail with ENOENT even though npx works in a terminal. Route
117
+ // through cmd.exe so the shim resolves. (User-reported: Imitater967, 2026-09-01.)
118
+ if (platform === "win32") {
119
+ return {
120
+ command: "cmd.exe",
121
+ args: ["/c", "npx", "-y", "summer-engine@latest", "mcp"],
122
+ };
123
+ }
113
124
  return {
114
125
  command: "npx",
115
126
  args: ["-y", "summer-engine@latest", "mcp"],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "summer-engine",
3
- "version": "2.8.1",
3
+ "version": "2.8.2",
4
4
  "description": "Local Summer CLI and MCP server for Summer Engine. Install and run the engine, connect Claude Code, Cursor, Codex, Gemini, and other agents, and build real games with bundled skills, hooks, and plugins.",
5
5
  "keywords": [
6
6
  "summer-engine",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: host-authoritative-state
3
- description: Use when designing the state layer of a multiplayer Summer game: deciding what the host owns, how clients request changes, and how the host validates and broadcasts. Pairs with `/peer-to-peer-multiplayer`. Trigger on "host authority", "authoritative state", "state ownership", "MP cheating", "client validation", "RPC patterns".
3
+ description: "Use when designing the state layer of a multiplayer Summer game: deciding what the host owns, how clients request changes, and how the host validates and broadcasts. Pairs with `/peer-to-peer-multiplayer`. Trigger on \"host authority\", \"authoritative state\", \"state ownership\", \"MP cheating\", \"client validation\", \"RPC patterns\"."
4
4
  license: MIT
5
5
  compatibility: [Cursor, Claude Code, Windsurf, Codex]
6
6
  category: multiplayer-and-networking
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: setup-multiplayer
3
- description: Use when the user wants to add multiplayer to an existing Summer game: co-op LAN, co-op online, competitive PvP, or a lobby. Start with Summer Engine's high-level MultiplayerAPI plus MultiplayerSpawner and MultiplayerSynchronizer; use custom networking only with a justified reason. Walks peer authority, RPC patterns, replication, and irreversible architecture decisions. It does not claim that managed matchmaking or hosting is live. Trigger on "multiplayer", "co-op", "PvP", "online", "netcode", "rollback", "MultiplayerAPI", "host migration", "matchmaking".
3
+ description: "Use when the user wants to add multiplayer to an existing Summer game: co-op LAN, co-op online, competitive PvP, or a lobby. Start with Summer Engine's high-level MultiplayerAPI plus MultiplayerSpawner and MultiplayerSynchronizer; use custom networking only with a justified reason. Walks peer authority, RPC patterns, replication, and irreversible architecture decisions. It does not claim that managed matchmaking or hosting is live. Trigger on \"multiplayer\", \"co-op\", \"PvP\", \"online\", \"netcode\", \"rollback\", \"MultiplayerAPI\", \"host migration\", \"matchmaking\"."
4
4
  license: MIT
5
5
  compatibility: [Cursor, Claude Code, Windsurf, Codex]
6
6
  category: multiplayer-and-networking
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: make-game
3
- description: Use when the user says "make me a game", "build me a game", "I want to make a [genre] game", "let's build something" — the orchestration spine that runs the full game-dev pipeline: brainstorm → plan → scaffold → build core mechanics → art direction → audio → polish/VFX → verify → ship. Delegates to specialist skills with explicit checkpoints between phases. Trigger on "make a game", "build me a game", "create a new game", "make me a game", "let's build a game", "I want to build [game shape]".
3
+ description: "Use when the user says \"make me a game\", \"build me a game\", \"I want to make a [genre] game\", \"let's build something\" \u2014 the orchestration spine that runs the full game-dev pipeline: brainstorm \u2192 plan \u2192 scaffold \u2192 build core mechanics \u2192 art direction \u2192 audio \u2192 polish/VFX \u2192 verify \u2192 ship. Delegates to specialist skills with explicit checkpoints between phases. Trigger on \"make a game\", \"build me a game\", \"create a new game\", \"make me a game\", \"let's build a game\", \"I want to build [game shape]\"."
4
4
  license: MIT
5
5
  compatibility: [Cursor, Claude Code, Codex, Windsurf, Gemini, OpenCode]
6
6
  category: scene-and-project
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: scene-composition
3
- description: Use when building or organizing Summer Engine scenes: node hierarchy conventions, when to extract sub-scenes, reusable prefab patterns, and instance-versus-add-node decisions. Trigger on "scene", "sub-scene", "instance", "prefab", "node hierarchy", "scene structure", "PackedScene".
3
+ description: "Use when building or organizing Summer Engine scenes: node hierarchy conventions, when to extract sub-scenes, reusable prefab patterns, and instance-versus-add-node decisions. Trigger on \"scene\", \"sub-scene\", \"instance\", \"prefab\", \"node hierarchy\", \"scene structure\", \"PackedScene\"."
4
4
  license: MIT
5
5
  compatibility: [Cursor, Claude Code, Windsurf, Codex]
6
6
  category: scene-and-project
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: ui-basics
3
- description: Use when building Summer Engine UI: HUDs, main menus, pause menus, health bars, progress bars, dialogue boxes, or any Control-node tree. Covers anchors, containers (VBox/HBox/Margin), responsive layout, and theme versus inline styling. Trigger on "UI", "HUD", "menu", "health bar", "Control", "anchors", "VBoxContainer", "main menu", "pause menu".
3
+ description: "Use when building Summer Engine UI: HUDs, main menus, pause menus, health bars, progress bars, dialogue boxes, or any Control-node tree. Covers anchors, containers (VBox/HBox/Margin), responsive layout, and theme versus inline styling. Trigger on \"UI\", \"HUD\", \"menu\", \"health bar\", \"Control\", \"anchors\", \"VBoxContainer\", \"main menu\", \"pause menu\"."
4
4
  license: MIT
5
5
  compatibility: [Cursor, Claude Code, Windsurf, Codex]
6
6
  category: ui-and-ux
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: mcpupdate
3
- description: Use when improving or maintaining the Summer Engine CLI, its MCP tools (summer_* / "ops"), or its prompt-engineering skills based on a real working session. Examples: the user types /mcpupdate, says "mcpskillify this", "log this as a skill/example", "this <feature> feels great, capture it", or notes that an agent went down a bad path with the Summer tools/skills and the prompts should be fixed. Works from ANY chat, not just inside the summer-cli repo.
3
+ description: "Use when improving or maintaining the Summer Engine CLI, its MCP tools (summer_* / \"ops\"), or its prompt-engineering skills based on a real working session. Examples: the user types /mcpupdate, says \"mcpskillify this\", \"log this as a skill/example\", \"this <feature> feels great, capture it\", or notes that an agent went down a bad path with the Summer tools/skills and the prompts should be fixed. Works from ANY chat, not just inside the summer-cli repo."
4
4
  ---
5
5
 
6
6
  # mcpupdate: turn a session into improvements to the Summer CLI / MCP / skills