Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
{
"name": "summer",
"source": "./",
"version": "3.0.0",
"version": "3.1.0",
"description": "Agent tooling for Summer Engine: game-dev skills, lifecycle hooks, and a 86-tool MCP bridge to the local desktop app.",
"author": {
"name": "Summer Engine",
Expand Down
2 changes: 1 addition & 1 deletion .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
"_generated": "GENERATED from integrations/claude — do not edit; npm run generate:registry",
"name": "summer",
"version": "3.0.0",
"version": "3.1.0",
"description": "Agent tooling for Summer Engine: game-dev skills, lifecycle hooks, and a 86-tool MCP bridge to the local desktop app.",
"author": {
"name": "Summer Engine",
Expand Down
2 changes: 1 addition & 1 deletion .codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"_generated": "GENERATED from integrations/codex — do not edit; npm run generate:registry",
"name": "summer",
"version": "3.0.0",
"version": "3.1.0",
"description": "Agent tooling for Summer Engine: game-dev skills, lifecycle hooks, and a 86-tool MCP bridge. Build games by talking.",
"author": {
"name": "Summer Engine",
Expand Down
2 changes: 1 addition & 1 deletion .cursor-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"_generated": "GENERATED from integrations/cursor — do not edit; npm run generate:registry",
"name": "summer",
"displayName": "Summer",
"version": "3.0.0",
"version": "3.1.0",
"description": "Agent tooling for Summer Engine: game-dev skills, lifecycle hooks, and a 86-tool MCP bridge to the local desktop app.",
"author": {
"name": "Summer Engine",
Expand Down
2 changes: 1 addition & 1 deletion .factory-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"_generated": "GENERATED from integrations/factory — do not edit; npm run generate:registry",
"name": "summer",
"description": "Agent tooling for Summer Engine: game-dev skills, lifecycle hooks, and a 86-tool MCP bridge to the local desktop app.",
"version": "3.0.0",
"version": "3.1.0",
"author": {
"name": "Summer Engine",
"email": "founders@summerengine.com",
Expand Down
18 changes: 18 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,24 @@

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/).

## [3.1.0] - 2026-09-11

### Added
- `summer setup` now covers every MCP-capable coding agent with a user-editable config: Claude Desktop, Antigravity, Zed, Kiro, Goose, Hermes Agent, GitHub Copilot in Visual Studio and in JetBrains IDEs, Trae, Qwen Code, Kimi Code CLI, Crush, Amp, Factory Droid, Junie, Warp, Rovo Dev CLI, Qoder CLI, Grok Build, Mistral Vibe and Cline CLI join the existing targets (31 active agents). New file shapes: Zed `context_servers`, Amp `amp.mcpServers`, Crush `mcp`, Rovo `transport: stdio`, Mistral Vibe `[[mcp_servers]]` TOML, Goose and Hermes YAML (comments preserved), typed-stdio `mcpServers`.
- One agent table (`src/installer/agent-table.ts`) now holds every per-agent fact: label, aliases, MCP path per scope and OS, file shape, skills home, restart hint. `integrations/<id>/` folders, `AGENT_CLIENTS`, doctor's skill-marker probes and the docs tables are checked against it by tests.

### Changed
- Cursor skills install as `~/.cursor/skills/<skill>/SKILL.md` (Cursor's skills format) instead of `.cursor/rules/*.mdc`; `--force` removes the old rule files.
- Devin Desktop (formerly Windsurf) skills install as `~/.codeium/windsurf/skills/<skill>/SKILL.md` instead of a `.windsurfrules` block.
- Cline skills install to `~/.cline/skills` (shared by the VS Code extension and the CLI) instead of `Documents/Cline/Rules` markdown.
- OpenCode skills install to `~/.config/opencode/skills/<skill>/SKILL.md` (OpenCode's native skills folder) instead of `agents/summer/*.md`; `--force` removes the old files.
- Kilo Code config moved to `~/.config/kilo/kilo.json` (`mcp` key, array command, `enabled: true`) and `./kilo.json` for project scope, matching Kilo's current CLI + extension; skills go to `~/.kilo/skills`.
- Claude Code and Cursor entries now carry `type: "stdio"`, which both products' docs list as required.
- Project requests on agents with a user-only config now warn with one shared wording ("writing user scope instead"); Trae, whose user-level servers are UI-managed, writes its project file.

### Deprecated
- `gemini` (Gemini CLI, retired for individual accounts 2026-06-18) and `roo-code` (shut down 2026-05-15) still work but are hidden from help and warn on use; `antigravity` is the replacement for Gemini users.

## [3.0.0] (2026-09-09): "The Library"

v3 rebuilds the package around one idea: every resource is described once (`library/<kind>/<slug>/resource.yaml`) and everything else (the searchable index, every agent manifest, the skill and template registries, counts, aliases) is generated from it, with CI failing on drift. Migrating from v2: `docs/MIGRATION-V2-V3.md`. The design contract and the verified-vs-planned status live in the repository under `docs/design/`.
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ The check ids are `node-version`, `cli-version`, `cli-version-current`, `skills-
npx -y summer-engine@latest setup claude-code --yes --force
```

Replace `claude-code` with the user's actual agent: `codex`, `cursor`, `windsurf`, `cline`, `roo-code`, `kilo-code`, `gemini`, `github-copilot`, `vscode-copilot`, `opencode`, or `lm-studio`. Use `github-copilot` for Copilot CLI and `vscode-copilot` for GitHub Copilot Chat/Agent in VS Code. Factory Droid uses the plugin marketplace path (see [`integrations/README.md`](integrations/README.md)). This installs **every skill in the library** (`status: preview` skills included — they are labelled as preview in their guidance, and `--stable-only` skips them) to `~/.claude/skills/<slug>/SKILL.md` (or the agent's equivalent user-skill directory) AND writes the MCP server config so the agent can talk to the engine, then runs doctor and prints what it installed and where. The `--force` flag wipes any stale skill content first, so re-runs always end up with the latest copy. `--recommended` installs only the recommended subset — don't use it from this playbook.
Replace `claude-code` with the user's actual agent: `claude-desktop`, `codex`, `cursor`, `windsurf`, `antigravity`, `cline`, `cline-cli`, `kilo-code`, `github-copilot`, `vscode-copilot`, `visual-studio`, `copilot-jetbrains`, `opencode`, `zed`, `kiro`, `goose`, `hermes`, `trae`, `qwen-code`, `kimi-code`, `crush`, `amp`, `factory`, `junie`, `warp`, `rovo-dev`, `qoder`, `grok-build`, `mistral-vibe`, `lm-studio`. Use `github-copilot` for Copilot CLI, `vscode-copilot` for GitHub Copilot Chat/Agent in VS Code, `visual-studio` for Copilot in Visual Studio, and `copilot-jetbrains` for Copilot in JetBrains IDEs. `gemini` (Gemini CLI, retired June 2026) and `roo-code` (shut down May 2026) still work but are legacy; use `antigravity` for Google's agent. This installs **every skill in the library** (`status: preview` skills included — they are labelled as preview in their guidance, and `--stable-only` skips them) to `~/.claude/skills/<slug>/SKILL.md` (or the agent's equivalent user-skill directory) AND writes the MCP server config so the agent can talk to the engine, then runs doctor and prints what it installed and where. The `--force` flag wipes any stale skill content first, so re-runs always end up with the latest copy. `--recommended` installs only the recommended subset — don't use it from this playbook.

**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.**

Expand Down Expand Up @@ -186,7 +186,7 @@ Only skip brainstorm if the user explicitly said "skip brainstorm" or "just buil
- **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.
- **Don't jump straight into `summer create` from a vague prompt.** Invoke the `brainstorm-game` skill first (Step 6). The build skills assume `.summer/GameSoul.md` exists.

**Using a different agent?** Replace `claude-code` with any supported agent in Step 1: `codex`, `cursor`, `windsurf`, `cline`, `roo-code`, `kilo-code`, `gemini`, `github-copilot`, `vscode-copilot`, `opencode`, or `lm-studio`. (`devin` is also accepted as an alias for `windsurf`.) Skill targets vary per agent; the CLI handles the difference, and [`integrations/README.md`](integrations/README.md) documents exactly what gets written where for every client. 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.
**Using a different agent?** Replace `claude-code` with any supported agent in Step 1: `claude-desktop`, `codex`, `cursor`, `windsurf`, `antigravity`, `cline`, `cline-cli`, `kilo-code`, `github-copilot`, `vscode-copilot`, `visual-studio`, `copilot-jetbrains`, `opencode`, `zed`, `kiro`, `goose`, `hermes`, `trae`, `qwen-code`, `kimi-code`, `crush`, `amp`, `factory`, `junie`, `warp`, `rovo-dev`, `qoder`, `grok-build`, `mistral-vibe`, `lm-studio`. (`devin` is also accepted as an alias for `windsurf`; `agy` for `antigravity`; `droid` for `factory`.) Skill targets vary per agent; the CLI handles the difference, and [`integrations/README.md`](integrations/README.md) documents exactly what gets written where for every client. After install, **Cline users should restart VS Code** so the extension reloads its MCP config. **VS Code Copilot users** should start the `summer-engine` MCP server from Agent mode if VS Code does not autostart it.

**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.

Expand Down Expand Up @@ -344,7 +344,7 @@ matchmaking are not promised by this package.
| `summer mcp setup <agent>` | Deprecated alias of `summer setup <agent>`. |
| `summer setup <agent> [--yes] [--force] [--recommended] [--stable-only]` | One shot: MCP config + all skills, preview included (`--recommended` for the subset, `--stable-only` to skip preview) + doctor. Idempotent. |

Agents: `claude-code`, `codex`, `cursor`, `windsurf`, `cline`, `roo-code`, `kilo-code`, `gemini`, `github-copilot`, `vscode-copilot`, `opencode`, `lm-studio`. (`devin` and `devin-desktop` are accepted as aliases for `windsurf`.) Scopes: `--scope user` (default), `--scope project`.
Agents: `claude-code`, `claude-desktop`, `codex`, `cursor`, `windsurf`, `antigravity`, `cline`, `cline-cli`, `kilo-code`, `github-copilot`, `vscode-copilot`, `visual-studio`, `copilot-jetbrains`, `opencode`, `zed`, `kiro`, `goose`, `hermes`, `trae`, `qwen-code`, `kimi-code`, `crush`, `amp`, `factory`, `junie`, `warp`, `rovo-dev`, `qoder`, `grok-build`, `mistral-vibe`, `lm-studio`. Legacy (still accepted, warn on use): `gemini`, `roo-code`. Aliases: `devin`/`devin-desktop` → `windsurf`, `agy` → `antigravity`, `droid` → `factory`, `copilot` → `github-copilot`, `vscode` → `vscode-copilot`, `kilo` → `kilo-code`, `qwen` → `qwen-code`, `kimi` → `kimi-code`. Scopes: `--scope user` (default), `--scope project`.

## Contributing

Expand Down
2 changes: 1 addition & 1 deletion docs/NAMING.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Other repos, for cross-references: engine `SummerEngine/SummerEngine` (private),
| `gemini-extension.json` | `summer` in the repo; the installer writes it into `~/.gemini/extensions/summer-engine/` renamed to `summer-engine` to match the directory |
| `package.json` | `name: summer-engine`, `bin.summer`, `main: .opencode/plugins/summer.js` |
| MCP server name in host configs | `summer-engine` (what `summer setup` writes; `SUMMER_MCP_SERVER_NAME` overrides) |
| Setup targets | `claude-code`, `codex`, `cursor`, `windsurf` (aliases `devin`, `devin-desktop`), `cline`, `roo-code`, `kilo-code`, `gemini`, `github-copilot` (Copilot CLI), `vscode-copilot` (Copilot in VS Code), `opencode`, `lm-studio` |
| Setup targets | `claude-code`, `claude-desktop`, `codex`, `cursor`, `windsurf`, `antigravity`, `cline`, `cline-cli`, `kilo-code`, `github-copilot`, `vscode-copilot`, `visual-studio`, `copilot-jetbrains`, `opencode`, `zed`, `kiro`, `goose`, `hermes`, `trae`, `qwen-code`, `kimi-code`, `crush`, `amp`, `factory`, `junie`, `warp`, `rovo-dev`, `qoder`, `grok-build`, `mistral-vibe`, `lm-studio`; legacy `gemini`, `roo-code`. One row per agent in `src/installer/agent-table.ts` |

Filesystem names shared with the desktop engine — do not rename: `~/.summer/` (`api-token`, `auth-token`, `creator-token`, `user.json`, `config.json`, `credential-metadata.json`, `creator-audit.jsonl`, `instances/`), and `.summer/` in every project (`GameSoul.md`, `project.json`, `memory/`).

Expand Down
35 changes: 26 additions & 9 deletions docs/OVERVIEW.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Three things, plus glue.

**CLI.** Install the engine, log in, scaffold projects, run them, run doctor — and `summer tool <name>` runs any MCP tool from the terminal. The complete command reference is in [`DEVELOPMENT.md`](DEVELOPMENT.md#cli-command-reference); `summer --help` is the source of truth.

The glue: **lifecycle hooks** (session-start orientation, opt-in pre-commit doctor), plugin manifests for plugin-capable harnesses, and `summer setup` targets for Claude Code, Cursor, Codex, Gemini, OpenCode, GitHub Copilot CLI, GitHub Copilot in VS Code, Cline, Roo Code, Kilo Code, LM Studio, and Devin Desktop (formerly Windsurf). The per-client map is [`../integrations/README.md`](../integrations/README.md).
The glue: **lifecycle hooks** (session-start orientation, opt-in pre-commit doctor), plugin manifests for plugin-capable harnesses, and `summer setup` targets for Claude Code, Claude Desktop, Codex, Cursor, Devin Desktop (formerly Windsurf), Antigravity, Cline (VS Code), Cline CLI, Kilo Code, GitHub Copilot CLI, GitHub Copilot in VS Code, GitHub Copilot in Visual Studio, GitHub Copilot in JetBrains IDEs, OpenCode, Zed, Kiro, Goose, Hermes Agent, Trae, Qwen Code, Kimi Code CLI, Crush, Amp, Factory Droid, Junie, Warp, Rovo Dev CLI, Qoder CLI, Grok Build, Mistral Vibe, LM Studio. The per-client map is [`../integrations/README.md`](../integrations/README.md).

## Quick start

Expand Down Expand Up @@ -45,21 +45,38 @@ Or download from [summerengine.com/download](https://summerengine.com/download).

## Where skills live per agent

Each agent has its own home for SKILL.md files:
Each agent has its own home for skills (`<skill>/SKILL.md` unless noted). Agents with no skills folder (Claude Desktop, Copilot in Visual Studio and JetBrains, Trae, Junie, LM Studio) get the MCP server only and pull guidance in-chat via `summer_get_agent_playbook`.

| Agent | User scope | Project scope |
|---|---|---|
| `summer` | `~/.summer/skills` | `.summer/skills` |
| `codex` | `~/.agents/skills` | `.agents/skills` |
| `claude-code` | `~/.claude/skills` | `.claude/skills` |
| `cursor` | `~/.cursor/rules` (as `summer-<skill>.mdc`) | `.cursor/rules` |
| `cline` | `~/Documents/Cline/Rules` | `.clinerules` |
| `roo-code` | `~/Documents/Roo/Rules` | `.clinerules` |
| `gemini` | `~/.gemini/extensions/summer-engine/skills` | n/a |
| `codex` | `~/.agents/skills` | `.agents/skills` |
| `cursor` | `~/.cursor/skills` | `.cursor/skills` |
| `windsurf` | `~/.codeium/windsurf/skills` | `.windsurf/skills` |
| `antigravity` | `~/.gemini/config/skills` | `.agents/skills` |
| `gemini` (legacy) | `~/.gemini/extensions/summer-engine/skills` | n/a |
| `cline` | `~/.cline/skills` | `.cline/skills` |
| `cline-cli` | `~/.cline/skills` | `.cline/skills` |
| `roo-code` (legacy) | `~/Documents/Roo/Rules` (rule files `summer-<skill>.md`) | `.clinerules` |
| `kilo-code` | `~/.kilo/skills` | `.kilo/skills` |
| `github-copilot` | `~/.copilot/skills` | `.github/skills` |
| `vscode-copilot` | `~/.copilot/skills` | `.github/skills` |
| `opencode` | `~/.config/opencode/agents/summer` | `.opencode/agents/summer` |
| `windsurf` (Devin Desktop) | `~/.windsurfrules` (managed blocks) | `.windsurfrules` |
| `opencode` | `~/.config/opencode/skills` | `.opencode/skills` |
| `zed` | `~/.agents/skills` | `.agents/skills` |
| `kiro` | `~/.kiro/skills` | `.kiro/skills` |
| `goose` | `~/.config/agents/skills` | `.agents/skills` |
| `hermes` | `~/.hermes/skills` | `.hermes/skills` |
| `qwen-code` | `~/.qwen/skills` | `.qwen/skills` |
| `kimi-code` | `~/.kimi-code/skills` | `.kimi-code/skills` |
| `crush` | `~/.config/crush/skills` | `.crush/skills` |
| `amp` | `~/.config/amp/skills` | `.agents/skills` |
| `factory` | `~/.factory/skills` | `.factory/skills` |
| `warp` | `~/.warp/skills` | `.warp/skills` |
| `rovo-dev` | `~/.rovodev/skills` | `.rovodev/skills` |
| `qoder` | `~/.qoder/skills` | `.qoder/skills` |
| `grok-build` | `~/.grok/skills` | `.grok/skills` |
| `mistral-vibe` | `~/.vibe/skills` | `.vibe/skills` |

Use `--scope project` when you want the skills committed with the game:

Expand Down
4 changes: 2 additions & 2 deletions docs/SETUP_PROMPT.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Copy-Paste Setup Prompt

Use this when a human wants to install Summer Engine from Claude Code, Cursor, Codex, Devin Desktop (formerly Windsurf), Cline, Roo Code, Gemini CLI, GitHub Copilot CLI, GitHub Copilot in VS Code, or OpenCode.
Use this when a human wants to install Summer Engine from any MCP-capable coding agent: Claude Code, Claude Desktop, Codex, Cursor, Devin Desktop (formerly Windsurf), Antigravity, Cline (VS Code), Cline CLI, Kilo Code, GitHub Copilot CLI, GitHub Copilot in VS Code, GitHub Copilot in Visual Studio, GitHub Copilot in JetBrains IDEs, OpenCode, Zed, Kiro, Goose, Hermes Agent, Trae, Qwen Code, Kimi Code CLI, Crush, Amp, Factory Droid, Junie, Warp, Rovo Dev CLI, Qoder CLI, Grok Build, Mistral Vibe, LM Studio.

Source: https://github.com/summerengine/summer
MCP setup page: https://summerengine.com/mcp
Expand All @@ -23,7 +23,7 @@ Expected agent behavior:
6. Create and run a starter project only after choosing a stable parent directory.
7. Use the `brainstorm-game` skill before building from a vague prompt.

First-class setup targets: `claude-code`, `codex`, `cursor`, `windsurf`, `cline`, `roo-code`, `kilo-code`, `gemini`, `github-copilot`, `vscode-copilot`, `opencode`, `lm-studio`.
First-class setup targets: `claude-code`, `claude-desktop`, `codex`, `cursor`, `windsurf`, `antigravity`, `cline`, `cline-cli`, `kilo-code`, `github-copilot`, `vscode-copilot`, `visual-studio`, `copilot-jetbrains`, `opencode`, `zed`, `kiro`, `goose`, `hermes`, `trae`, `qwen-code`, `kimi-code`, `crush`, `amp`, `factory`, `junie`, `warp`, `rovo-dev`, `qoder`, `grok-build`, `mistral-vibe`, `lm-studio`. Legacy (still accepted): `gemini`, `roo-code`.

Factory Droid uses its plugin marketplace path today. Other older-school or adjacent surfaces worth watching are Continue, Aider, Zed, JetBrains AI/Junie, Goose, and Amp; do not claim first-class Summer setup support for those until a real config target exists.

Expand Down
2 changes: 1 addition & 1 deletion docs/SKILLS.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ summer skills install --all --stable-only --agent claude-code # Stable skills
summer skills install --recommended --agent cursor --scope project # Per-project
```

Supported agents: `summer`, `codex`, `claude-code`, `cursor`, `windsurf`, `cline`, `roo-code`, `gemini`, `github-copilot`, `vscode-copilot`, `opencode`. Supported scopes: `user`, `project`.
Supported agents: `summer`, `claude-code`, `codex`, `cursor`, `windsurf`, `antigravity`, `gemini`, `cline`, `cline-cli`, `roo-code`, `kilo-code`, `github-copilot`, `vscode-copilot`, `opencode`, `zed`, `kiro`, `goose`, `hermes`, `qwen-code`, `kimi-code`, `crush`, `amp`, `factory`, `warp`, `rovo-dev`, `qoder`, `grok-build`, `mistral-vibe`. Supported scopes: `user`, `project`.

## Recommended set

Expand Down
2 changes: 1 addition & 1 deletion gemini-extension.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"_generated": "GENERATED from integrations/gemini — do not edit; npm run generate:registry",
"name": "summer",
"version": "3.0.0",
"version": "3.1.0",
"description": "Agent tooling for Summer Engine: MCP bridge, context primer, and game-dev skills. Use with the npm CLI for skill files on disk.",
"contextFileName": "GEMINI.md",
"mcpServers": {
Expand Down
Loading
Loading