summer-engine 2.8.1 → 3.0.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 +27 -7
- package/.claude-plugin/plugin.json +99 -83
- package/.codex-plugin/plugin.json +112 -82
- package/.cursor-plugin/plugin.json +119 -83
- package/.factory-plugin/plugin.json +100 -3
- package/.mcp.json +6 -1
- package/.opencode/INSTALL.md +7 -4
- package/.opencode/plugins/summer.js +31 -18
- package/AGENTS.md +107 -34
- package/CHANGELOG.md +134 -41
- package/CLAUDE.md +4 -2
- package/GEMINI.md +7 -53
- package/NOTICE +31 -0
- package/README.md +159 -391
- package/assets/api-docs.json.gz +0 -0
- package/assets/autopilot/README.md +20 -6
- package/assets/autopilot/autopilot.gd +80 -26
- package/assets/autopilot/run.sh +132 -7
- package/assets/navigation/web-routes.json +719 -0
- package/commands/gameskill.md +10 -108
- package/commands/summer.md +72 -4
- package/dist/bin/summer.js +6 -87
- package/dist/cli/banner.d.ts +1 -0
- package/dist/cli/banner.js +33 -0
- package/dist/{commands → cli/commands}/config.js +1 -1
- package/dist/cli/commands/create.d.ts +30 -0
- package/dist/cli/commands/create.js +212 -0
- package/dist/{commands → cli/commands}/debug.js +2 -2
- package/dist/cli/commands/doctor.d.ts +2 -0
- package/dist/cli/commands/doctor.js +18 -0
- package/dist/cli/commands/events.d.ts +57 -0
- package/dist/cli/commands/events.js +158 -0
- package/dist/cli/commands/install.d.ts +50 -0
- package/dist/cli/commands/install.js +447 -0
- package/dist/cli/commands/list.js +72 -0
- package/dist/{commands → cli/commands}/login.js +33 -17
- package/dist/{commands → cli/commands}/logout.d.ts +1 -0
- package/dist/cli/commands/logout.js +19 -0
- package/dist/{commands → cli/commands}/memory.d.ts +1 -8
- package/dist/{commands → cli/commands}/memory.js +20 -11
- package/dist/cli/commands/open.d.ts +45 -0
- package/dist/cli/commands/open.js +216 -0
- package/dist/{commands → cli/commands}/plan.js +2 -2
- package/dist/{commands → cli/commands}/publish.js +1 -1
- package/dist/{commands → cli/commands}/releases.js +1 -1
- package/dist/cli/commands/run.d.ts +19 -0
- package/dist/cli/commands/run.js +255 -0
- package/dist/{commands → cli/commands}/setup.js +43 -89
- package/dist/{commands → cli/commands}/skills.js +85 -222
- package/dist/{commands → cli/commands}/status.d.ts +1 -0
- package/dist/cli/commands/status.js +62 -0
- package/dist/cli/commands/tool.d.ts +11 -0
- package/dist/cli/commands/tool.js +121 -0
- package/dist/cli/index.d.ts +6 -0
- package/dist/cli/index.js +89 -0
- package/dist/cli/root-action.d.ts +7 -0
- package/dist/cli/root-action.js +15 -0
- package/dist/{lib → core}/api-client.d.ts +106 -15
- package/dist/{lib → core}/api-client.js +267 -75
- package/dist/{lib → core}/async-op-lifecycle.d.ts +3 -4
- package/dist/{lib → core}/async-op-lifecycle.js +3 -4
- package/dist/{lib → core}/auth.d.ts +14 -6
- package/dist/{lib → core}/auth.js +56 -40
- package/dist/core/capabilities/agent-playbook.d.ts +20 -0
- package/dist/core/capabilities/agent-playbook.js +218 -0
- package/dist/core/capabilities/api-docs.d.ts +36 -0
- package/dist/core/capabilities/api-docs.js +118 -0
- package/dist/core/capabilities/asset-import.d.ts +49 -0
- package/dist/core/capabilities/asset-import.js +134 -0
- package/dist/core/capabilities/camera-view.d.ts +98 -0
- package/dist/core/capabilities/camera-view.js +222 -0
- package/dist/core/capabilities/capture.d.ts +63 -0
- package/dist/core/capabilities/capture.js +67 -0
- package/dist/core/capabilities/console-read.d.ts +17 -0
- package/dist/core/capabilities/console-read.js +21 -0
- package/dist/{lib → core/capabilities}/creator.d.ts +1 -29
- package/dist/{lib → core/capabilities}/creator.js +14 -33
- package/dist/{lib → core/capabilities}/debug-report.d.ts +1 -1
- package/dist/{lib → core/capabilities}/debug-report.js +12 -31
- package/dist/{commands → core/capabilities}/doctor.d.ts +7 -2
- package/dist/{commands → core/capabilities}/doctor.js +47 -73
- package/dist/core/capabilities/engine-fallbacks.d.ts +26 -0
- package/dist/core/capabilities/engine-fallbacks.js +36 -0
- package/dist/core/capabilities/engine-ops.d.ts +33 -0
- package/dist/core/capabilities/engine-ops.js +145 -0
- package/dist/core/capabilities/engine-receipt.d.ts +53 -0
- package/dist/core/capabilities/engine-receipt.js +134 -0
- package/dist/core/capabilities/events.d.ts +200 -0
- package/dist/core/capabilities/events.js +383 -0
- package/dist/core/capabilities/fabricate-mesh.d.ts +111 -0
- package/dist/core/capabilities/fabricate-mesh.js +165 -0
- package/dist/core/capabilities/frame-quality.d.ts +71 -0
- package/dist/core/capabilities/frame-quality.js +449 -0
- package/dist/core/capabilities/game-task-plan.d.ts +66 -0
- package/dist/{lib → core/capabilities}/game-task-plan.js +59 -8
- package/dist/core/capabilities/hdri-import.d.ts +90 -0
- package/dist/core/capabilities/hdri-import.js +250 -0
- package/dist/core/capabilities/image-generation.d.ts +24 -0
- package/dist/core/capabilities/image-generation.js +22 -0
- package/dist/core/capabilities/navigation/open.d.ts +156 -0
- package/dist/core/capabilities/navigation/open.js +567 -0
- package/dist/core/capabilities/navigation/render-product-map.d.ts +1 -0
- package/dist/core/capabilities/navigation/render-product-map.js +84 -0
- package/dist/core/capabilities/navigation/targets.d.ts +87 -0
- package/dist/core/capabilities/navigation/targets.js +250 -0
- package/dist/core/capabilities/play-determinism.d.ts +35 -0
- package/dist/core/capabilities/play-determinism.js +86 -0
- package/dist/core/capabilities/project-context.d.ts +114 -0
- package/dist/core/capabilities/project-context.js +249 -0
- package/dist/core/capabilities/runtime-control.d.ts +540 -0
- package/dist/core/capabilities/runtime-control.js +1011 -0
- package/dist/core/capabilities/scene-kind.d.ts +19 -0
- package/dist/core/capabilities/scene-kind.js +137 -0
- package/dist/core/capabilities/scene-script.d.ts +38 -0
- package/dist/core/capabilities/scene-script.js +45 -0
- package/dist/core/capabilities/tool-dispatch.d.ts +42 -0
- package/dist/core/capabilities/tool-dispatch.js +1490 -0
- package/dist/core/capabilities/ui-control.d.ts +179 -0
- package/dist/core/capabilities/ui-control.js +423 -0
- package/dist/core/capabilities/variant-types.d.ts +22 -0
- package/dist/core/capabilities/variant-types.js +101 -0
- package/dist/core/capability-skew.d.ts +205 -0
- package/dist/core/capability-skew.js +386 -0
- package/dist/{lib → core}/config.d.ts +11 -1
- package/dist/{lib → core}/config.js +13 -2
- package/dist/core/embeddings.d.ts +78 -0
- package/dist/core/embeddings.js +166 -0
- package/dist/core/engine-install.d.ts +105 -0
- package/dist/core/engine-install.js +190 -0
- package/dist/core/engine.d.ts +94 -0
- package/dist/{lib → core}/engine.js +74 -28
- package/dist/core/feedback/client.d.ts +88 -0
- package/dist/core/feedback/client.js +182 -0
- package/dist/{lib → core}/format.d.ts +0 -1
- package/dist/{lib → core}/format.js +1 -1
- package/dist/core/headless/connection.d.ts +86 -0
- package/dist/core/headless/connection.js +97 -0
- package/dist/core/headless/editor-connection.d.ts +26 -0
- package/dist/core/headless/editor-connection.js +81 -0
- package/dist/core/headless/mcp-routing.d.ts +38 -0
- package/dist/core/headless/mcp-routing.js +83 -0
- package/dist/core/headless/registry.d.ts +91 -0
- package/dist/core/headless/registry.js +226 -0
- package/dist/core/headless/resolve.d.ts +46 -0
- package/dist/core/headless/resolve.js +75 -0
- package/dist/core/headless/spawn.d.ts +46 -0
- package/dist/core/headless/spawn.js +205 -0
- package/dist/core/headless/worker-connection.d.ts +96 -0
- package/dist/core/headless/worker-connection.js +353 -0
- package/dist/core/headless/worker-engine-client.d.ts +58 -0
- package/dist/core/headless/worker-engine-client.js +246 -0
- package/dist/core/launch-posture.d.ts +170 -0
- package/dist/core/launch-posture.js +317 -0
- package/dist/core/library-read.d.ts +73 -0
- package/dist/core/library-read.js +279 -0
- package/dist/core/library-search.d.ts +143 -0
- package/dist/core/library-search.js +301 -0
- package/dist/{lib → core}/log-filters.js +4 -2
- package/dist/{lib → core}/mcp-log.js +2 -17
- package/dist/core/package-root.d.ts +9 -0
- package/dist/core/package-root.js +11 -0
- package/dist/core/redact.d.ts +20 -0
- package/dist/core/redact.js +64 -0
- package/dist/core/registry-search.d.ts +167 -0
- package/dist/core/registry-search.js +358 -0
- package/dist/core/skills-registry.d.ts +47 -0
- package/dist/core/skills-registry.js +83 -0
- package/dist/{lib → core}/store.js +11 -7
- package/dist/{lib → core}/summer-compatibility.js +3 -3
- package/dist/{lib → core}/telemetry.js +5 -2
- package/dist/core/templates.d.ts +98 -0
- package/dist/core/templates.js +241 -0
- package/dist/core/tool-errors.d.ts +30 -0
- package/dist/core/tool-errors.js +40 -0
- package/dist/core/trajectory.d.ts +80 -0
- package/dist/core/trajectory.js +307 -0
- package/dist/core/util/http.d.ts +13 -0
- package/dist/core/util/http.js +28 -0
- package/dist/core/util/json.d.ts +12 -0
- package/dist/core/util/json.js +21 -0
- package/dist/core/util/process.d.ts +3 -0
- package/dist/core/util/process.js +13 -0
- package/dist/core/util/sleep.d.ts +1 -0
- package/dist/core/util/sleep.js +3 -0
- package/dist/core/version.d.ts +3 -0
- package/dist/core/version.js +5 -0
- package/dist/{lib → installer}/agent-config.d.ts +20 -1
- package/dist/{lib → installer}/agent-config.js +148 -23
- package/dist/installer/legacy-skills.d.ts +26 -0
- package/dist/installer/legacy-skills.js +53 -0
- package/dist/installer/setup.d.ts +76 -0
- package/dist/installer/setup.js +146 -0
- package/dist/installer/skill-locations.d.ts +45 -0
- package/dist/installer/skill-locations.js +170 -0
- package/dist/installer/version-check.d.ts +174 -0
- package/dist/{lib → installer}/version-check.js +173 -42
- package/dist/{lib/mcp-boot-notice.d.ts → mcp/boot-notice.d.ts} +1 -1
- package/dist/{commands/mcp.js → mcp/command.js} +18 -6
- package/dist/mcp/server.d.ts +23 -3
- package/dist/mcp/server.js +122 -28
- package/dist/mcp/tools/asset-tools.js +62 -142
- package/dist/mcp/tools/creator-tools.js +5 -23
- package/dist/mcp/tools/debug-tools.js +61 -18
- package/dist/mcp/tools/event-tools.d.ts +14 -0
- package/dist/mcp/tools/event-tools.js +41 -0
- package/dist/mcp/tools/fabricate-tools.d.ts +2 -0
- package/dist/mcp/tools/fabricate-tools.js +28 -0
- package/dist/mcp/tools/feedback-tools.d.ts +77 -0
- package/dist/mcp/tools/feedback-tools.js +88 -0
- package/dist/mcp/tools/file-tools.js +6 -53
- package/dist/mcp/tools/generate-tools.js +37 -63
- package/dist/mcp/tools/library-tools.d.ts +11 -0
- package/dist/mcp/tools/library-tools.js +42 -0
- package/dist/mcp/tools/navigation-tools.d.ts +7 -0
- package/dist/mcp/tools/navigation-tools.js +37 -0
- package/dist/mcp/tools/perception-tools.d.ts +20 -0
- package/dist/mcp/tools/perception-tools.js +146 -0
- package/dist/mcp/tools/project-tools.d.ts +14 -0
- package/dist/mcp/tools/project-tools.js +72 -281
- package/dist/mcp/tools/runtime-tools.d.ts +2 -0
- package/dist/mcp/tools/runtime-tools.js +92 -0
- package/dist/mcp/tools/scene-tools.d.ts +3 -0
- package/dist/mcp/tools/scene-tools.js +68 -119
- package/dist/mcp/tools/script-tools.d.ts +3 -0
- package/dist/mcp/tools/script-tools.js +118 -0
- package/dist/mcp/tools/spatial-tools.d.ts +2 -0
- package/dist/mcp/tools/spatial-tools.js +485 -0
- package/dist/mcp/tools/text-json.d.ts +8 -0
- package/dist/mcp/tools/text-json.js +12 -0
- package/dist/mcp/tools/{cloud-tools.d.ts → ui-tools.d.ts} +1 -1
- package/dist/mcp/tools/ui-tools.js +82 -0
- package/dist/mcp/tools/visual-tools.d.ts +2 -7
- package/dist/mcp/tools/visual-tools.js +383 -101
- package/dist/mcp/tools/with-engine.d.ts +9 -15
- package/dist/mcp/tools/with-engine.js +60 -96
- package/dist/project-memory/project-manifest.d.ts +36 -0
- package/dist/project-memory/project-manifest.js +50 -0
- package/dist/project-memory/project-memory.d.ts +57 -0
- package/dist/{lib → project-memory}/project-memory.js +46 -0
- package/gemini-extension.json +103 -2
- package/hooks/hooks-cursor.json +2 -2
- package/hooks/hooks.json +2 -1
- package/hooks/pre-commit-doctor.sh +45 -39
- package/hooks/run-hook.cmd +30 -23
- package/hooks/run-hook.sh +20 -0
- package/hooks/session-start.sh +18 -7
- package/integrations/README.md +70 -0
- package/integrations/claude/README.md +19 -0
- package/integrations/claude/manifest-target.json +16 -0
- package/integrations/cline/README.md +13 -0
- package/integrations/cline/manifest-target.json +3 -0
- package/integrations/codex/README.md +15 -0
- package/integrations/codex/manifest-target.json +5 -0
- package/integrations/cursor/README.md +16 -0
- package/integrations/cursor/manifest-target.json +5 -0
- package/integrations/factory/README.md +26 -0
- package/integrations/factory/manifest-target.json +5 -0
- package/integrations/gemini/README.md +26 -0
- package/integrations/gemini/manifest-target.json +5 -0
- package/integrations/github-copilot/README.md +12 -0
- package/integrations/github-copilot/manifest-target.json +3 -0
- package/integrations/kilo-code/README.md +16 -0
- package/integrations/kilo-code/manifest-target.json +3 -0
- package/integrations/lm-studio/README.md +12 -0
- package/integrations/lm-studio/manifest-target.json +3 -0
- package/integrations/opencode/README.md +15 -0
- package/integrations/opencode/manifest-target.json +3 -0
- package/integrations/roo-code/README.md +13 -0
- package/integrations/roo-code/manifest-target.json +3 -0
- package/integrations/vscode-copilot/README.md +12 -0
- package/integrations/vscode-copilot/manifest-target.json +3 -0
- package/integrations/windsurf/README.md +13 -0
- package/integrations/windsurf/manifest-target.json +3 -0
- package/library/references/collaborative-protocol/resource.yaml +24 -0
- package/library/references/gd-style/resource.yaml +24 -0
- package/{references → library/references/godot-version}/godot-version.md +6 -6
- package/library/references/godot-version/resource.yaml +22 -0
- package/library/references/headless-routing/headless-routing.md +46 -0
- package/library/references/headless-routing/resource.yaml +24 -0
- package/library/references/mcp-fresh-chat-playbook/mcp-fresh-chat-playbook.md +49 -0
- package/library/references/mcp-fresh-chat-playbook/resource.yaml +23 -0
- package/library/references/mcp-tools-reference/mcp-tools-reference.md +271 -0
- package/library/references/mcp-tools-reference/resource.yaml +17 -0
- package/library/references/product-map/product-map.md +103 -0
- package/library/references/product-map/resource.yaml +33 -0
- package/{references → library/references/public-surface-language}/public-surface-language.md +5 -7
- package/library/references/public-surface-language/resource.yaml +17 -0
- package/library/references/summer-folder/resource.yaml +20 -0
- package/{references → library/references/summer-folder}/summer-folder.md +22 -21
- package/{skills/rendering-and-lighting → library/skills}/3d-lighting/SKILL.md +15 -11
- package/library/skills/3d-lighting/resource.yaml +27 -0
- package/{skills/audio → library/skills}/adaptive-music/SKILL.md +1 -1
- package/library/skills/adaptive-music/resource.yaml +28 -0
- package/library/skills/agent-playtesting/SKILL.md +148 -0
- package/library/skills/agent-playtesting/resource.yaml +52 -0
- package/library/skills/ambient-bed/resource.yaml +24 -0
- package/{skills/video → library/skills}/animated-loop/SKILL.md +1 -1
- package/library/skills/animated-loop/resource.yaml +27 -0
- package/{skills/animation → library/skills}/animation-tree/SKILL.md +29 -14
- package/library/skills/animation-tree/resource.yaml +33 -0
- package/{skills/rendering-and-lighting → library/skills}/art-direction/SKILL.md +3 -3
- package/library/skills/art-direction/resource.yaml +29 -0
- package/{skills/asset-pipeline → library/skills}/asset-strategy/SKILL.md +44 -44
- package/library/skills/asset-strategy/resource.yaml +63 -0
- package/{skills/audio → library/skills}/audio-direction/SKILL.md +7 -7
- package/library/skills/audio-direction/resource.yaml +32 -0
- package/library/skills/auto-fire-targeting/resource.yaml +22 -0
- package/{skills/scene-and-project → library/skills}/brainstorm-game/SKILL.md +8 -8
- package/library/skills/brainstorm-game/resource.yaml +30 -0
- package/{skills/workflow → library/skills}/brainstorming/SKILL.md +2 -22
- package/library/skills/brainstorming/resource.yaml +23 -0
- package/{skills/workflow → library/skills}/brainstorming/spec-document-reviewer-prompt.md +1 -1
- package/{skills/scene-and-project → library/skills}/browse-templates/SKILL.md +18 -18
- package/library/skills/browse-templates/resource.yaml +23 -0
- package/library/skills/celeste-momentum-platforming/SKILL.md +366 -0
- package/library/skills/celeste-momentum-platforming/resource.yaml +33 -0
- package/library/skills/character-animation-wiring/SKILL.md +249 -0
- package/library/skills/character-animation-wiring/resource.yaml +39 -0
- package/{skills/3d-assets → library/skills}/character-model/SKILL.md +25 -25
- package/library/skills/character-model/resource.yaml +36 -0
- package/{skills/2d-assets → library/skills}/character-portrait/SKILL.md +14 -14
- package/library/skills/character-portrait/resource.yaml +30 -0
- package/{skills/video → library/skills}/cinematic-cutscene/SKILL.md +2 -2
- package/library/skills/cinematic-cutscene/resource.yaml +29 -0
- package/{skills/2d-assets → library/skills}/concept-art/SKILL.md +15 -15
- package/library/skills/concept-art/resource.yaml +34 -0
- package/{skills/2d-assets → library/skills}/create-asset-sheet/SKILL.md +8 -8
- package/library/skills/create-asset-sheet/resource.yaml +33 -0
- package/{skills/debugging → library/skills}/debug/SKILL.md +3 -3
- package/library/skills/debug/resource.yaml +31 -0
- package/{skills/workflow → library/skills}/debugging-game-feel/SKILL.md +11 -11
- package/library/skills/debugging-game-feel/resource.yaml +25 -0
- package/{skills/level-design → library/skills}/design-level/SKILL.md +6 -6
- package/library/skills/design-level/resource.yaml +31 -0
- package/{skills/gameplay-mechanics → library/skills}/design-mechanic/SKILL.md +3 -3
- package/library/skills/design-mechanic/resource.yaml +31 -0
- package/{skills/ai-and-npcs → library/skills}/design-npc/SKILL.md +7 -3
- package/library/skills/design-npc/resource.yaml +29 -0
- package/{skills/workflow → library/skills}/diagnosing-perf-regressions/SKILL.md +10 -10
- package/library/skills/diagnosing-perf-regressions/resource.yaml +25 -0
- package/{skills/workflow → library/skills}/dispatching-parallel-agents/SKILL.md +8 -8
- package/library/skills/dispatching-parallel-agents/resource.yaml +23 -0
- package/library/skills/driving-the-editor-ui/SKILL.md +85 -0
- package/library/skills/driving-the-editor-ui/resource.yaml +46 -0
- package/{skills/3d-assets → library/skills}/environment-kit/SKILL.md +11 -11
- package/library/skills/environment-kit/resource.yaml +29 -0
- package/{skills/deployment → library/skills}/export-and-ship/SKILL.md +5 -5
- package/library/skills/export-and-ship/resource.yaml +32 -0
- package/library/skills/fabricating-assets/SKILL.md +195 -0
- package/library/skills/fabricating-assets/resource.yaml +52 -0
- package/{skills/animation → library/skills}/facial-and-lipsync/SKILL.md +23 -11
- package/library/skills/facial-and-lipsync/resource.yaml +36 -0
- package/{skills/character-controllers → library/skills}/fps-controller/SKILL.md +8 -4
- package/library/skills/fps-controller/resource.yaml +29 -0
- package/{skills/visual-effects → library/skills}/game-feel/SKILL.md +7 -7
- package/library/skills/game-feel/resource.yaml +27 -0
- package/library/skills/gameskill/SKILL.md +64 -0
- package/library/skills/gameskill/resource.yaml +22 -0
- package/library/skills/gdscript-patterns/resource.yaml +23 -0
- package/{skills/animation → library/skills}/generate-motion/SKILL.md +16 -16
- package/library/skills/generate-motion/resource.yaml +34 -0
- package/library/skills/godogen-visual-proof-game-generation/SKILL.md +223 -0
- package/library/skills/godogen-visual-proof-game-generation/resource.yaml +33 -0
- package/{skills/workflow → library/skills}/headless-scripting/SKILL.md +14 -7
- package/library/skills/headless-scripting/resource.yaml +26 -0
- package/{skills/multiplayer-and-networking → library/skills}/host-authoritative-state/SKILL.md +1 -1
- package/library/skills/host-authoritative-state/resource.yaml +28 -0
- package/{skills/2d-assets → library/skills}/instantiate-asset-pack/SKILL.md +10 -12
- package/library/skills/instantiate-asset-pack/resource.yaml +29 -0
- package/{skills/workflow → library/skills}/investigating-bugs/SKILL.md +4 -4
- package/{skills/workflow → library/skills}/investigating-bugs/condition-based-waiting.md +8 -8
- package/library/skills/investigating-bugs/resource.yaml +24 -0
- package/{skills/workflow → library/skills}/investigating-bugs/root-cause-tracing.md +1 -7
- package/library/skills/lumera-single-image-scene-reconstruction/SKILL.md +164 -0
- package/library/skills/lumera-single-image-scene-reconstruction/resource.yaml +35 -0
- package/{skills/scene-and-project → library/skills}/make-game/SKILL.md +23 -23
- package/library/skills/make-game/resource.yaml +35 -0
- package/library/skills/music-track/resource.yaml +28 -0
- package/library/skills/navigate-summer/SKILL.md +61 -0
- package/library/skills/navigate-summer/resource.yaml +35 -0
- package/{skills/scene-and-project → library/skills}/new-project/SKILL.md +10 -10
- package/library/skills/new-project/resource.yaml +28 -0
- package/{skills/3d-assets → library/skills}/organic-model/SKILL.md +16 -16
- package/library/skills/organic-model/resource.yaml +32 -0
- package/{skills/multiplayer-and-networking → library/skills}/peer-to-peer-multiplayer/SKILL.md +2 -2
- package/library/skills/peer-to-peer-multiplayer/resource.yaml +28 -0
- package/{skills/2d-assets → library/skills}/pixel-art/SKILL.md +13 -13
- package/library/skills/pixel-art/resource.yaml +31 -0
- package/library/skills/play/resource.yaml +26 -0
- package/{skills/workflow → library/skills}/playtesting-a-feature/SKILL.md +41 -22
- package/library/skills/playtesting-a-feature/resource.yaml +31 -0
- package/{skills/animation → library/skills}/procedural-animation/SKILL.md +25 -10
- package/library/skills/procedural-animation/resource.yaml +33 -0
- package/{skills/3d-assets → library/skills}/prop-model/SKILL.md +13 -13
- package/library/skills/prop-model/resource.yaml +33 -0
- package/library/skills/psx-retro-rendering/SKILL.md +416 -0
- package/library/skills/psx-retro-rendering/resource.yaml +36 -0
- package/library/skills/realtime-wet-surfaces/SKILL.md +189 -0
- package/library/skills/realtime-wet-surfaces/resource.yaml +31 -0
- package/{skills/deployment → library/skills}/remote-deploy/SKILL.md +3 -3
- package/library/skills/remote-deploy/resource.yaml +23 -0
- package/{skills/animation → library/skills}/retarget/SKILL.md +15 -14
- package/library/skills/retarget/resource.yaml +33 -0
- package/library/skills/running-in-the-cloud/SKILL.md +103 -0
- package/library/skills/running-in-the-cloud/resource.yaml +33 -0
- package/{skills/scene-and-project → library/skills}/scene-composition/SKILL.md +9 -1
- package/library/skills/scene-composition/resource.yaml +27 -0
- package/library/skills/scene-hierarchy-design/SKILL.md +102 -0
- package/library/skills/scene-hierarchy-design/resource.yaml +31 -0
- package/library/skills/scene-scripting/SKILL.md +764 -0
- package/library/skills/scene-scripting/resource.yaml +58 -0
- package/{skills/level-design → library/skills}/scene-to-level/SKILL.md +16 -17
- package/library/skills/scene-to-level/resource.yaml +33 -0
- package/{skills/multiplayer-and-networking → library/skills}/setup-multiplayer/SKILL.md +1 -1
- package/library/skills/setup-multiplayer/resource.yaml +28 -0
- package/library/skills/skill-create/SKILL.md +138 -0
- package/library/skills/skill-create/resource.yaml +25 -0
- package/{skills/workflow → library/skills}/skill-improve/SKILL.md +2 -2
- package/library/skills/skill-improve/resource.yaml +25 -0
- package/{skills/workflow → library/skills}/skill-test/SKILL.md +4 -4
- package/library/skills/skill-test/resource.yaml +26 -0
- package/library/skills/skintokens-auto-rigging/SKILL.md +200 -0
- package/library/skills/skintokens-auto-rigging/resource.yaml +38 -0
- package/{skills/2d-assets → library/skills}/skybox-panorama/SKILL.md +8 -8
- package/library/skills/skybox-panorama/resource.yaml +28 -0
- package/{skills/audio → library/skills}/sound-effect/SKILL.md +2 -2
- package/library/skills/sound-effect/resource.yaml +27 -0
- package/library/skills/spatial-placement/SKILL.md +74 -0
- package/library/skills/spatial-placement/resource.yaml +42 -0
- package/library/skills/spatial-placement/tests/spec.md +65 -0
- package/{skills/2d-assets → library/skills}/sprite-sheet/SKILL.md +12 -12
- package/library/skills/sprite-sheet/resource.yaml +32 -0
- package/{skills/2d-assets → library/skills}/tileable-texture/SKILL.md +9 -9
- package/library/skills/tileable-texture/resource.yaml +31 -0
- package/{skills/video → library/skills}/trailer-shot/SKILL.md +1 -1
- package/library/skills/trailer-shot/resource.yaml +27 -0
- package/{skills/performance → library/skills}/tune-performance/SKILL.md +6 -6
- package/library/skills/tune-performance/resource.yaml +31 -0
- package/{skills/ui-and-ux → library/skills}/ui-basics/SKILL.md +1 -1
- package/library/skills/ui-basics/resource.yaml +25 -0
- package/{skills/2d-assets → library/skills}/ui-graphics/SKILL.md +11 -11
- package/library/skills/ui-graphics/resource.yaml +29 -0
- package/{skills/2d-assets → library/skills}/use-widget-asset/SKILL.md +4 -4
- package/library/skills/use-widget-asset/resource.yaml +29 -0
- package/{skills/workflow → library/skills}/using-summer/SKILL.md +12 -9
- package/library/skills/using-summer/resource.yaml +41 -0
- package/{skills/3d-assets → library/skills}/vehicle-model/SKILL.md +18 -18
- package/library/skills/vehicle-model/resource.yaml +34 -0
- package/{skills/workflow → library/skills}/verification-before-completion/SKILL.md +10 -10
- package/library/skills/verification-before-completion/resource.yaml +23 -0
- package/library/skills/verifying-scenes/SKILL.md +98 -0
- package/library/skills/verifying-scenes/resource.yaml +42 -0
- package/{skills/visual-effects/recipes/dissolve → library/skills/vfx-dissolve}/SKILL.md +31 -11
- package/library/skills/vfx-dissolve/resource.yaml +33 -0
- package/{skills/visual-effects/recipes/fire → library/skills/vfx-fire}/SKILL.md +43 -12
- package/library/skills/vfx-fire/_building-blocks/noise-3d-fbm.gdshaderinc +45 -0
- package/library/skills/vfx-fire/resource.yaml +35 -0
- package/{skills/visual-effects/recipes/hit-spark → library/skills/vfx-hit-spark}/SKILL.md +16 -10
- package/library/skills/vfx-hit-spark/_building-blocks/additive-billboard-particles.md +37 -0
- package/library/skills/vfx-hit-spark/resource.yaml +34 -0
- package/{skills/visual-effects/recipes/lightning → library/skills/vfx-lightning}/SKILL.md +24 -11
- package/library/skills/vfx-lightning/_building-blocks/additive-billboard-particles.md +37 -0
- package/library/skills/vfx-lightning/resource.yaml +33 -0
- package/{skills/visual-effects/recipes/magic-glow → library/skills/vfx-magic-glow}/SKILL.md +31 -11
- package/library/skills/vfx-magic-glow/_building-blocks/additive-billboard-particles.md +37 -0
- package/library/skills/vfx-magic-glow/resource.yaml +34 -0
- package/{skills/visual-effects/recipes/muzzle-flash → library/skills/vfx-muzzle-flash}/SKILL.md +29 -9
- package/library/skills/vfx-muzzle-flash/_building-blocks/additive-billboard-particles.md +37 -0
- package/library/skills/vfx-muzzle-flash/_building-blocks/trauma-shake-snippet.md +53 -0
- package/library/skills/vfx-muzzle-flash/resource.yaml +35 -0
- package/{skills/visual-effects/recipes/smoke → library/skills/vfx-smoke}/SKILL.md +35 -9
- package/library/skills/vfx-smoke/_building-blocks/noise-3d-fbm.gdshaderinc +45 -0
- package/library/skills/vfx-smoke/resource.yaml +32 -0
- package/{skills/visual-effects/recipes/water-ripple → library/skills/vfx-water-ripple}/SKILL.md +31 -9
- package/library/skills/vfx-water-ripple/_building-blocks/additive-billboard-particles.md +37 -0
- package/library/skills/vfx-water-ripple/resource.yaml +31 -0
- package/library/skills/voice-line/resource.yaml +27 -0
- package/library/skills/world-building-3d/SKILL.md +105 -0
- package/library/skills/world-building-3d/references/spatial-tools.md +50 -0
- package/library/skills/world-building-3d/resource.yaml +44 -0
- package/library/skills/world-building-3d/tests/spec.md +48 -0
- package/{skills/workflow → library/skills}/writing-plans/SKILL.md +19 -14
- package/library/skills/writing-plans/resource.yaml +23 -0
- package/{skills/workflow → library/skills}/writing-skills/SKILL.md +38 -44
- package/library/skills/writing-skills/resource.yaml +29 -0
- package/{skills/workflow → library/skills}/writing-skills/testing-skills-with-subagents.md +13 -14
- package/library/templates/2d-brario-platformer/resource.yaml +21 -0
- package/library/templates/2d-dungeon-roguelike/resource.yaml +23 -0
- package/library/templates/2d-grid-puzzle/resource.yaml +21 -0
- package/library/templates/2d-plants-and-zombies-tower-defense/resource.yaml +21 -0
- package/library/templates/2d-platformer/resource.yaml +24 -0
- package/library/templates/2d-rpg/resource.yaml +21 -0
- package/library/templates/2d-vampire-survivor-roguelike/resource.yaml +21 -0
- package/library/templates/3d-basic/resource.yaml +16 -0
- package/library/templates/3d-city-kit/resource.yaml +24 -0
- package/library/templates/3d-fps-old-school/resource.yaml +21 -0
- package/library/templates/3d-fps-simple-animated-npc/resource.yaml +21 -0
- package/library/templates/3d-lan-multiplayer-starter/resource.yaml +22 -0
- package/library/templates/3d-open-world-explore-tps/resource.yaml +21 -0
- package/library/templates/3d-procedural-road-world/resource.yaml +21 -0
- package/library/templates/3d-racing-game/resource.yaml +21 -0
- package/library/templates/3d-royale-clash-type/resource.yaml +21 -0
- package/library/templates/3d-third-person-controller/resource.yaml +21 -0
- package/library/templates/3d-voxel-sandbox/resource.yaml +24 -0
- package/library/templates/README.md +94 -0
- package/library/templates/empty/resource.yaml +16 -0
- package/library/tools/add-node/resource.yaml +60 -0
- package/library/tools/align-distribute-3d/resource.yaml +87 -0
- package/library/tools/api-docs/resource.yaml +57 -0
- package/library/tools/batch/resource.yaml +52 -0
- package/library/tools/camera-bookmark/resource.yaml +73 -0
- package/library/tools/check-job/resource.yaml +45 -0
- package/library/tools/clear-console/resource.yaml +40 -0
- package/library/tools/connect-signal/resource.yaml +63 -0
- package/library/tools/create-debug-report/resource.yaml +67 -0
- package/library/tools/create-scene/resource.yaml +59 -0
- package/library/tools/creator-config/resource.yaml +63 -0
- package/library/tools/creator-publish/resource.yaml +73 -0
- package/library/tools/creator-releases/resource.yaml +53 -0
- package/library/tools/fabricate-3d/resource.yaml +108 -0
- package/library/tools/game-control/resource.yaml +84 -0
- package/library/tools/game-input/resource.yaml +159 -0
- package/library/tools/game-probe/resource.yaml +90 -0
- package/library/tools/generate-3d/resource.yaml +112 -0
- package/library/tools/generate-audio/resource.yaml +80 -0
- package/library/tools/generate-image/resource.yaml +62 -0
- package/library/tools/generate-motion/resource.yaml +66 -0
- package/library/tools/generate-video/resource.yaml +66 -0
- package/library/tools/get-agent-playbook/resource.yaml +40 -0
- package/library/tools/get-asset/resource.yaml +42 -0
- package/library/tools/get-asset-download-url/resource.yaml +52 -0
- package/library/tools/get-console/resource.yaml +69 -0
- package/library/tools/get-debugger-errors/resource.yaml +56 -0
- package/library/tools/get-debugger-warnings/resource.yaml +52 -0
- package/library/tools/get-diagnostics/resource.yaml +42 -0
- package/library/tools/get-project-context/resource.yaml +45 -0
- package/library/tools/get-runtime-tree/resource.yaml +62 -0
- package/library/tools/get-scene-tree/resource.yaml +52 -0
- package/library/tools/get-script-errors/resource.yaml +45 -0
- package/library/tools/get-studio-workflow/resource.yaml +43 -0
- package/library/tools/import-asset/resource.yaml +73 -0
- package/library/tools/import-asset-by-id/resource.yaml +56 -0
- package/library/tools/import-from-url/resource.yaml +51 -0
- package/library/tools/import-from-url-batch/resource.yaml +60 -0
- package/library/tools/import-hdri/resource.yaml +69 -0
- package/library/tools/input-map-bind/resource.yaml +52 -0
- package/library/tools/inspect-node/resource.yaml +46 -0
- package/library/tools/inspect-resource/resource.yaml +45 -0
- package/library/tools/inspect-runtime-node/resource.yaml +54 -0
- package/library/tools/instantiate-scene/resource.yaml +62 -0
- package/library/tools/is-running/resource.yaml +40 -0
- package/library/tools/library-feedback/resource.yaml +89 -0
- package/library/tools/list-my-assets/resource.yaml +56 -0
- package/library/tools/navigation-probe/resource.yaml +85 -0
- package/library/tools/open/resource.yaml +80 -0
- package/library/tools/open-main-scene/resource.yaml +40 -0
- package/library/tools/open-scene/resource.yaml +46 -0
- package/library/tools/play/resource.yaml +91 -0
- package/library/tools/project-setting/resource.yaml +53 -0
- package/library/tools/read-file/resource.yaml +47 -0
- package/library/tools/read-library/resource.yaml +67 -0
- package/library/tools/recent-events/resource.yaml +71 -0
- package/library/tools/remove-node/resource.yaml +51 -0
- package/library/tools/replace-node/resource.yaml +57 -0
- package/library/tools/replace-text/resource.yaml +61 -0
- package/library/tools/run-editor-script/resource.yaml +61 -0
- package/library/tools/run-script/resource.yaml +73 -0
- package/library/tools/runtime-animate/resource.yaml +140 -0
- package/library/tools/runtime-call/resource.yaml +74 -0
- package/library/tools/runtime-set/resource.yaml +80 -0
- package/library/tools/runtime-spawn/resource.yaml +95 -0
- package/library/tools/save-scene/resource.yaml +50 -0
- package/library/tools/screenshot/resource.yaml +112 -0
- package/library/tools/search-assets/resource.yaml +67 -0
- package/library/tools/search-library/resource.yaml +81 -0
- package/library/tools/select-node/resource.yaml +48 -0
- package/library/tools/set-prop/resource.yaml +64 -0
- package/library/tools/set-resource-property/resource.yaml +66 -0
- package/library/tools/slice-asset-sheet/resource.yaml +47 -0
- package/library/tools/snap-to-surface/resource.yaml +90 -0
- package/library/tools/snapshot-diff/resource.yaml +58 -0
- package/library/tools/starcast/resource.yaml +120 -0
- package/library/tools/start-game-task/resource.yaml +91 -0
- package/library/tools/stop/resource.yaml +51 -0
- package/library/tools/test-placement/resource.yaml +109 -0
- package/library/tools/ui-actions/resource.yaml +77 -0
- package/library/tools/ui-activate/resource.yaml +88 -0
- package/library/tools/ui-screenshot/resource.yaml +63 -0
- package/library/tools/ui-tree/resource.yaml +69 -0
- package/library/tools/wait-for-event/resource.yaml +84 -0
- package/library/tools/world-snapshot/resource.yaml +60 -0
- package/library/tools/write-file/resource.yaml +54 -0
- package/package.json +22 -16
- package/registry/generated/aliases.json +207 -0
- package/registry/generated/counts.json +12 -0
- package/registry/generated/gemini-extension.json +122 -0
- package/registry/generated/index.json +7709 -0
- package/registry/generated/marketplace.claude.json +44 -0
- package/registry/generated/mcp.json +13 -0
- package/registry/generated/plugin.claude.json +135 -0
- package/registry/generated/plugin.codex.json +144 -0
- package/registry/generated/plugin.cursor.json +134 -0
- package/registry/generated/plugin.factory.json +117 -0
- package/registry/generated/skills-registry.json +851 -0
- package/registry/generated/templates-registry.json +455 -0
- package/registry/schemas/allowed-hosts.json +19 -0
- package/registry/schemas/collection.schema.json +68 -0
- package/registry/schemas/domains.json +96 -0
- package/registry/schemas/example.schema.json +11 -0
- package/registry/schemas/reference.schema.json +10 -0
- package/registry/schemas/resource.schema.json +154 -0
- package/registry/schemas/skill.schema.json +14 -0
- package/registry/schemas/template.schema.json +46 -0
- package/registry/schemas/tool.schema.json +61 -0
- package/_persona/summer/SKILL.md +0 -113
- package/dist/bin/postinstall.d.ts +0 -2
- package/dist/bin/postinstall.js +0 -3
- package/dist/commands/cloud.d.ts +0 -2
- package/dist/commands/cloud.js +0 -80
- package/dist/commands/create.d.ts +0 -3
- package/dist/commands/create.js +0 -171
- package/dist/commands/install.d.ts +0 -19
- package/dist/commands/install.js +0 -194
- package/dist/commands/list.js +0 -67
- package/dist/commands/logout.js +0 -13
- package/dist/commands/logs.d.ts +0 -2
- package/dist/commands/logs.js +0 -19
- package/dist/commands/open.d.ts +0 -2
- package/dist/commands/open.js +0 -32
- package/dist/commands/orchestrator.d.ts +0 -8
- package/dist/commands/orchestrator.js +0 -143
- package/dist/commands/run.d.ts +0 -2
- package/dist/commands/run.js +0 -167
- package/dist/commands/status.js +0 -46
- package/dist/lib/banner.d.ts +0 -4
- package/dist/lib/banner.js +0 -122
- package/dist/lib/cloud/api.d.ts +0 -79
- package/dist/lib/cloud/api.js +0 -107
- package/dist/lib/cloud/apply.d.ts +0 -32
- package/dist/lib/cloud/apply.js +0 -294
- package/dist/lib/cloud/checkpoint.d.ts +0 -26
- package/dist/lib/cloud/checkpoint.js +0 -142
- package/dist/lib/cloud/conflicts.d.ts +0 -55
- package/dist/lib/cloud/conflicts.js +0 -131
- package/dist/lib/cloud/containment.d.ts +0 -8
- package/dist/lib/cloud/containment.js +0 -52
- package/dist/lib/cloud/diff.d.ts +0 -39
- package/dist/lib/cloud/diff.js +0 -138
- package/dist/lib/cloud/engine-bridge.d.ts +0 -34
- package/dist/lib/cloud/engine-bridge.js +0 -139
- package/dist/lib/cloud/hash-cache.d.ts +0 -23
- package/dist/lib/cloud/hash-cache.js +0 -44
- package/dist/lib/cloud/hash.d.ts +0 -10
- package/dist/lib/cloud/hash.js +0 -111
- package/dist/lib/cloud/http.d.ts +0 -17
- package/dist/lib/cloud/http.js +0 -47
- package/dist/lib/cloud/lock-path.d.ts +0 -1
- package/dist/lib/cloud/lock-path.js +0 -5
- package/dist/lib/cloud/lock.d.ts +0 -14
- package/dist/lib/cloud/lock.js +0 -143
- package/dist/lib/cloud/manifest.d.ts +0 -6
- package/dist/lib/cloud/manifest.js +0 -41
- package/dist/lib/cloud/paths.d.ts +0 -20
- package/dist/lib/cloud/paths.js +0 -90
- package/dist/lib/cloud/project-godot-merge.d.ts +0 -32
- package/dist/lib/cloud/project-godot-merge.js +0 -185
- package/dist/lib/cloud/rules.d.ts +0 -39
- package/dist/lib/cloud/rules.js +0 -159
- package/dist/lib/cloud/sync.d.ts +0 -21
- package/dist/lib/cloud/sync.js +0 -518
- package/dist/lib/cloud/transfer.d.ts +0 -23
- package/dist/lib/cloud/transfer.js +0 -184
- package/dist/lib/cloud/types.d.ts +0 -62
- package/dist/lib/cloud/types.js +0 -1
- package/dist/lib/cloud/validate-path.d.ts +0 -23
- package/dist/lib/cloud/validate-path.js +0 -103
- package/dist/lib/engine.d.ts +0 -51
- package/dist/lib/game-task-plan.d.ts +0 -42
- package/dist/lib/project-memory.d.ts +0 -33
- package/dist/lib/public-surface-paths.d.ts +0 -13
- package/dist/lib/public-surface-paths.js +0 -42
- package/dist/lib/remote-templates.d.ts +0 -25
- package/dist/lib/remote-templates.js +0 -86
- package/dist/lib/skills-registry.d.ts +0 -572
- package/dist/lib/skills-registry.js +0 -1061
- package/dist/lib/version-check.d.ts +0 -106
- package/dist/mcp/tools/cloud-tools.js +0 -42
- package/references/mcp-tools-reference.md +0 -199
- package/references/template-registry.md +0 -73
- package/skills/README.md +0 -103
- package/skills/scene-and-project/summer-cloud/SKILL.md +0 -92
- package/skills/workflow/brainstorming/scripts/frame-template.html +0 -214
- package/skills/workflow/brainstorming/scripts/helper.js +0 -88
- package/skills/workflow/brainstorming/scripts/server.cjs +0 -354
- package/skills/workflow/brainstorming/scripts/start-server.sh +0 -148
- package/skills/workflow/brainstorming/scripts/stop-server.sh +0 -56
- package/skills/workflow/brainstorming/visual-companion.md +0 -287
- package/skills/workflow/gameskill/SKILL.md +0 -120
- package/skills/workflow/investigating-bugs/CREATION-LOG.md +0 -119
- package/skills/workflow/investigating-bugs/condition-based-waiting-example.ts +0 -158
- package/skills/workflow/investigating-bugs/find-polluter.sh +0 -63
- package/skills/workflow/investigating-bugs/test-academic.md +0 -14
- package/skills/workflow/investigating-bugs/test-pressure-1.md +0 -58
- package/skills/workflow/investigating-bugs/test-pressure-2.md +0 -68
- package/skills/workflow/investigating-bugs/test-pressure-3.md +0 -69
- package/skills/workflow/mcpupdate/SKILL.md +0 -134
- package/skills/workflow/skill-create/SKILL.md +0 -153
- package/skills/workflow/writing-skills/anthropic-best-practices.md +0 -1150
- package/skills/workflow/writing-skills/examples/CLAUDE_MD_TESTING.md +0 -189
- package/skills/workflow/writing-skills/graphviz-conventions.dot +0 -172
- package/skills/workflow/writing-skills/persuasion-principles.md +0 -187
- package/skills/workflow/writing-skills/render-graphs.js +0 -168
- /package/dist/{commands → cli/commands}/config.d.ts +0 -0
- /package/dist/{commands → cli/commands}/debug.d.ts +0 -0
- /package/dist/{commands → cli/commands}/list.d.ts +0 -0
- /package/dist/{commands → cli/commands}/login.d.ts +0 -0
- /package/dist/{commands → cli/commands}/plan.d.ts +0 -0
- /package/dist/{commands → cli/commands}/publish.d.ts +0 -0
- /package/dist/{commands → cli/commands}/releases.d.ts +0 -0
- /package/dist/{commands → cli/commands}/setup.d.ts +0 -0
- /package/dist/{commands → cli/commands}/skills.d.ts +0 -0
- /package/dist/{lib → core}/log-filters.d.ts +0 -0
- /package/dist/{lib → core}/mcp-log.d.ts +0 -0
- /package/dist/{lib → core}/store.d.ts +0 -0
- /package/dist/{lib → core}/summer-compatibility.d.ts +0 -0
- /package/dist/{lib → core}/telemetry.d.ts +0 -0
- /package/dist/{lib/mcp-boot-notice.js → mcp/boot-notice.js} +0 -0
- /package/dist/{commands/mcp.d.ts → mcp/command.d.ts} +0 -0
- /package/{references → library/references/collaborative-protocol}/collaborative-protocol.md +0 -0
- /package/{references → library/references/gd-style}/gd-style.md +0 -0
- /package/{skills/audio → library/skills}/ambient-bed/SKILL.md +0 -0
- /package/{skills/gameplay-mechanics → library/skills}/auto-fire-targeting/SKILL.md +0 -0
- /package/{skills/scripting-patterns → library/skills}/gdscript-patterns/SKILL.md +0 -0
- /package/{skills/scripting-patterns → library/skills}/gdscript-patterns/reference.md +0 -0
- /package/{skills/workflow → library/skills}/investigating-bugs/defense-in-depth.md +0 -0
- /package/{skills/audio → library/skills}/music-track/SKILL.md +0 -0
- /package/{skills/scene-and-project → library/skills}/play/SKILL.md +0 -0
- /package/{skills/visual-effects → library/skills/vfx-dissolve}/_building-blocks/noise-3d-fbm.gdshaderinc +0 -0
- /package/{skills/visual-effects → library/skills/vfx-fire}/_building-blocks/additive-billboard-particles.md +0 -0
- /package/{skills/visual-effects → library/skills/vfx-lightning}/_building-blocks/trauma-shake-snippet.md +0 -0
- /package/{skills/audio → library/skills}/voice-line/SKILL.md +0 -0
- /package/{skills/workflow → library/skills}/writing-plans/plan-document-reviewer-prompt.md +0 -0
|
@@ -1,49 +1,55 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
2
|
# Summer Engine — Pre-commit doctor hook (OPT-IN)
|
|
3
3
|
#
|
|
4
|
-
# Event: PreToolUse (matcher: Bash, if: "Bash(git commit*)")
|
|
5
|
-
#
|
|
6
|
-
#
|
|
4
|
+
# Event: PreToolUse (matcher: "Bash", if: "Bash(git commit*)") — registered
|
|
5
|
+
# in hooks/hooks.json (Claude Code) and hooks/hooks-cursor.json.
|
|
6
|
+
# Purpose: Run `summer doctor` before any git commit the agent is about to
|
|
7
|
+
# make. Block the commit on fail. Allow with warnings on warning.
|
|
7
8
|
#
|
|
8
|
-
# Status: OPT-IN.
|
|
9
|
-
#
|
|
10
|
-
#
|
|
11
|
-
#
|
|
12
|
-
#
|
|
13
|
-
#
|
|
14
|
-
#
|
|
15
|
-
#
|
|
16
|
-
#
|
|
17
|
-
# "hooks": [
|
|
18
|
-
# {
|
|
19
|
-
# "type": "command",
|
|
20
|
-
# "command": "${CLAUDE_PLUGIN_ROOT}/hooks/pre-commit-doctor.sh",
|
|
21
|
-
# "if": "Bash(git commit*)",
|
|
22
|
-
# "timeout": 15
|
|
23
|
-
# }
|
|
24
|
-
# ]
|
|
25
|
-
# }
|
|
26
|
-
# ]
|
|
27
|
-
# }
|
|
28
|
-
# }
|
|
29
|
-
#
|
|
30
|
-
# Then: chmod +x ${CLAUDE_PLUGIN_ROOT}/hooks/pre-commit-doctor.sh
|
|
9
|
+
# Status: OPT-IN. The hook is always registered but exits 0 immediately
|
|
10
|
+
# unless one of these is set:
|
|
11
|
+
# CLAUDE_PLUGIN_OPTION_ENABLE_PRE_COMMIT_DOCTOR=true
|
|
12
|
+
# Claude Code exports every plugin userConfig value to hook
|
|
13
|
+
# processes as CLAUDE_PLUGIN_OPTION_<KEY>; this is the
|
|
14
|
+
# `enable_pre_commit_doctor` toggle from plugin.json.
|
|
15
|
+
# SUMMER_PRE_COMMIT_DOCTOR=1
|
|
16
|
+
# Manual / other-host opt-in (also the envVar Gemini's
|
|
17
|
+
# gemini-extension.json `settings` entry maps to).
|
|
31
18
|
#
|
|
32
19
|
# Input: JSON on stdin: { tool_name, tool_input: { command, ... }, ... }
|
|
33
|
-
# Output: On
|
|
34
|
-
# On
|
|
35
|
-
# On
|
|
20
|
+
# Output: On fail: stderr explanation, exit 2 (blocks commit).
|
|
21
|
+
# On warning: stderr warnings, exit 0 (allows commit).
|
|
22
|
+
# On ok, opt-in unset, or no `summer` CLI on PATH: silent, exit 0.
|
|
23
|
+
# (No npx fallback: a cold `npx summer-engine` download would blow
|
|
24
|
+
# the 30s hook budget mid-commit. Install the CLI to use this hook.)
|
|
25
|
+
#
|
|
26
|
+
# Doctor JSON shape (src/core/capabilities/doctor.ts):
|
|
27
|
+
# { ok, checks: [{ id, label, status: "ok"|"warning"|"fail", message }], summary }
|
|
36
28
|
#
|
|
37
29
|
# Portability: bash 3.2+, POSIX-friendly. jq optional.
|
|
38
30
|
|
|
39
31
|
set +e
|
|
40
32
|
|
|
33
|
+
# ---------- Opt-in gate ----------
|
|
34
|
+
is_truthy() {
|
|
35
|
+
case "$(printf '%s' "$1" | tr '[:upper:]' '[:lower:]')" in
|
|
36
|
+
1|true|yes|on) return 0 ;;
|
|
37
|
+
*) return 1 ;;
|
|
38
|
+
esac
|
|
39
|
+
}
|
|
40
|
+
if ! is_truthy "${CLAUDE_PLUGIN_OPTION_ENABLE_PRE_COMMIT_DOCTOR:-}" \
|
|
41
|
+
&& ! is_truthy "${SUMMER_PRE_COMMIT_DOCTOR:-}"; then
|
|
42
|
+
cat >/dev/null
|
|
43
|
+
exit 0
|
|
44
|
+
fi
|
|
45
|
+
|
|
41
46
|
INPUT=$(cat)
|
|
42
47
|
|
|
43
48
|
# ---------- Parse the command ----------
|
|
44
49
|
COMMAND=""
|
|
45
50
|
if command -v jq >/dev/null 2>&1; then
|
|
46
|
-
|
|
51
|
+
# Claude Code PreToolUse: .tool_input.command; Cursor beforeShellExecution: .command
|
|
52
|
+
COMMAND=$(printf '%s' "$INPUT" | jq -r '.tool_input.command // .command // empty' 2>/dev/null)
|
|
47
53
|
fi
|
|
48
54
|
if [ -z "$COMMAND" ]; then
|
|
49
55
|
COMMAND=$(printf '%s' "$INPUT" \
|
|
@@ -77,23 +83,23 @@ WARN_MSGS=""
|
|
|
77
83
|
|
|
78
84
|
if command -v jq >/dev/null 2>&1; then
|
|
79
85
|
FAIL_MSGS=$(printf '%s' "$DOCTOR_OUT" \
|
|
80
|
-
| jq -r '.checks[]? | select(.status == "
|
|
86
|
+
| jq -r '.checks[]? | select((.status // "" | ascii_downcase) == "fail") | " - " + (.label // .name // "?") + ": " + (.message // "")' 2>/dev/null)
|
|
81
87
|
WARN_MSGS=$(printf '%s' "$DOCTOR_OUT" \
|
|
82
|
-
| jq -r '.checks[]? | select(.status
|
|
88
|
+
| jq -r '.checks[]? | select((.status // "" | ascii_downcase) | IN("warning", "warn")) | " - " + (.label // .name // "?") + ": " + (.message // "")' 2>/dev/null)
|
|
83
89
|
[ -n "$FAIL_MSGS" ] && HAS_FAIL=1
|
|
84
90
|
[ -n "$WARN_MSGS" ] && HAS_WARN=1
|
|
85
91
|
else
|
|
86
92
|
# Fallback: substring sniffing
|
|
87
|
-
if printf '%s' "$DOCTOR_OUT" | grep -q '"status"[[:space:]]*:[[:space:]]*"FAIL"'; then
|
|
93
|
+
if printf '%s' "$DOCTOR_OUT" | grep -q '"status"[[:space:]]*:[[:space:]]*"(FAIL|fail)"'; then
|
|
88
94
|
HAS_FAIL=1
|
|
89
95
|
FAIL_MSGS=$(printf '%s' "$DOCTOR_OUT" \
|
|
90
|
-
| grep -oE '"status"[[:space:]]*:[[:space:]]*"FAIL"[^}]*"message"[[:space:]]*:[[:space:]]*"[^"]*"' \
|
|
96
|
+
| grep -oE '"status"[[:space:]]*:[[:space:]]*"(FAIL|fail)"[^}]*"message"[[:space:]]*:[[:space:]]*"[^"]*"' \
|
|
91
97
|
| sed -E 's/.*"message"[[:space:]]*:[[:space:]]*"([^"]*)"/ - \1/')
|
|
92
98
|
fi
|
|
93
|
-
if printf '%s' "$DOCTOR_OUT" | grep -q '"status"[[:space:]]*:[[:space:]]*"WARN"'; then
|
|
99
|
+
if printf '%s' "$DOCTOR_OUT" | grep -q '"status"[[:space:]]*:[[:space:]]*"(WARN|warn|warning)"'; then
|
|
94
100
|
HAS_WARN=1
|
|
95
101
|
WARN_MSGS=$(printf '%s' "$DOCTOR_OUT" \
|
|
96
|
-
| grep -oE '"status"[[:space:]]*:[[:space:]]*"WARN"[^}]*"message"[[:space:]]*:[[:space:]]*"[^"]*"' \
|
|
102
|
+
| grep -oE '"status"[[:space:]]*:[[:space:]]*"(WARN|warn|warning)"[^}]*"message"[[:space:]]*:[[:space:]]*"[^"]*"' \
|
|
97
103
|
| sed -E 's/.*"message"[[:space:]]*:[[:space:]]*"([^"]*)"/ - \1/')
|
|
98
104
|
fi
|
|
99
105
|
fi
|
|
@@ -101,11 +107,11 @@ fi
|
|
|
101
107
|
# ---------- FAIL: block ----------
|
|
102
108
|
if [ "$HAS_FAIL" -eq 1 ]; then
|
|
103
109
|
{
|
|
104
|
-
echo "=== Summer doctor:
|
|
110
|
+
echo "=== Summer doctor: fail — commit blocked ==="
|
|
105
111
|
echo "$FAIL_MSGS"
|
|
106
112
|
echo ""
|
|
107
113
|
echo "Fix the failures above, or run: summer doctor"
|
|
108
|
-
echo "To bypass
|
|
114
|
+
echo "To bypass: turn off the plugin option enable_pre_commit_doctor (or unset SUMMER_PRE_COMMIT_DOCTOR)."
|
|
109
115
|
echo "============================================"
|
|
110
116
|
} >&2
|
|
111
117
|
exit 2
|
|
@@ -114,7 +120,7 @@ fi
|
|
|
114
120
|
# ---------- WARN: allow with notice ----------
|
|
115
121
|
if [ "$HAS_WARN" -eq 1 ]; then
|
|
116
122
|
{
|
|
117
|
-
echo "=== Summer doctor:
|
|
123
|
+
echo "=== Summer doctor: warning — commit allowed ==="
|
|
118
124
|
echo "$WARN_MSGS"
|
|
119
125
|
echo "============================================"
|
|
120
126
|
} >&2
|
package/hooks/run-hook.cmd
CHANGED
|
@@ -1,23 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
1
|
+
:; exec bash "$(dirname "$0")/run-hook.sh" "$@"
|
|
2
|
+
@echo off
|
|
3
|
+
rem Summer Engine hook dispatcher — bash / cmd.exe polyglot.
|
|
4
|
+
rem
|
|
5
|
+
rem bash (macOS, Linux, Git Bash): line 1 is a no-op ":" followed by an exec
|
|
6
|
+
rem into run-hook.sh; nothing below it is ever parsed. No shebang on purpose:
|
|
7
|
+
rem bash falls back to running a shebang-less file as a script, and cmd.exe
|
|
8
|
+
rem would otherwise print an error for the "#!" line.
|
|
9
|
+
rem cmd.exe / PowerShell (Windows without a bash hook shell): line 1 is a
|
|
10
|
+
rem label and is skipped; the batch below locates Git Bash and forwards, or
|
|
11
|
+
rem exits 0 so a missing bash never blocks the host.
|
|
12
|
+
rem
|
|
13
|
+
rem Usage: run-hook.cmd <hook-name> (stdin is forwarded untouched)
|
|
14
|
+
setlocal
|
|
15
|
+
set "HOOK_DIR=%~dp0"
|
|
16
|
+
where bash >nul 2>nul
|
|
17
|
+
if %errorlevel%==0 (
|
|
18
|
+
bash "%HOOK_DIR%run-hook.sh" %*
|
|
19
|
+
exit /b %errorlevel%
|
|
20
|
+
)
|
|
21
|
+
if exist "%ProgramFiles%\Git\bin\bash.exe" (
|
|
22
|
+
"%ProgramFiles%\Git\bin\bash.exe" "%HOOK_DIR%run-hook.sh" %*
|
|
23
|
+
exit /b %errorlevel%
|
|
24
|
+
)
|
|
25
|
+
if exist "%LocalAppData%\Programs\Git\bin\bash.exe" (
|
|
26
|
+
"%LocalAppData%\Programs\Git\bin\bash.exe" "%HOOK_DIR%run-hook.sh" %*
|
|
27
|
+
exit /b %errorlevel%
|
|
28
|
+
)
|
|
29
|
+
echo Summer hooks need Git Bash on Windows; skipping hook. 1>&2
|
|
30
|
+
exit /b 0
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Cross-platform hook dispatcher (bash side).
|
|
3
|
+
# Usage: run-hook.sh <hook-name>
|
|
4
|
+
# Reads stdin, forwards to <plugin-root>/hooks/<hook-name>.sh
|
|
5
|
+
# Hosts reference run-hook.cmd, a bash/cmd.exe polyglot that lands here on
|
|
6
|
+
# every platform that has bash (macOS, Linux, Git Bash / WSL on Windows).
|
|
7
|
+
|
|
8
|
+
HOOK_NAME="$1"
|
|
9
|
+
shift || true
|
|
10
|
+
|
|
11
|
+
HOOK_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
12
|
+
HOOK_SCRIPT="$HOOK_DIR/$HOOK_NAME.sh"
|
|
13
|
+
|
|
14
|
+
if [ ! -f "$HOOK_SCRIPT" ]; then
|
|
15
|
+
# Missing hook = no-op (don't break the host).
|
|
16
|
+
exit 0
|
|
17
|
+
fi
|
|
18
|
+
|
|
19
|
+
# Always go through bash: fresh checkouts / npm tarballs may drop the exec bit.
|
|
20
|
+
exec bash "$HOOK_SCRIPT" "$@"
|
package/hooks/session-start.sh
CHANGED
|
@@ -25,10 +25,17 @@ PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$(pwd)}"
|
|
|
25
25
|
LINES=()
|
|
26
26
|
|
|
27
27
|
# Line 1: Summer ready + skill count
|
|
28
|
+
# The count is the number of Summer skills actually loaded by THIS host — the
|
|
29
|
+
# plugin's bundled library when running as a plugin. Outside a plugin root we
|
|
30
|
+
# cannot tell Summer skills from the user's own, so the number is dropped
|
|
31
|
+
# rather than reporting the whole library as if it were installed.
|
|
28
32
|
SKILL_COUNT=""
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
SKILL_COUNT=$(
|
|
33
|
+
PLUGIN_ROOT="${CLAUDE_PLUGIN_ROOT:-${CURSOR_PLUGIN_ROOT:-}}"
|
|
34
|
+
if [ -n "$PLUGIN_ROOT" ] && [ -d "${PLUGIN_ROOT}/library/skills" ]; then
|
|
35
|
+
SKILL_COUNT=$(find "${PLUGIN_ROOT}/library/skills" -mindepth 2 -maxdepth 2 -name SKILL.md 2>/dev/null | grep -c .)
|
|
36
|
+
case "$SKILL_COUNT" in
|
|
37
|
+
''|0|*[!0-9]*) SKILL_COUNT="" ;;
|
|
38
|
+
esac
|
|
32
39
|
fi
|
|
33
40
|
if [ -n "$SKILL_COUNT" ]; then
|
|
34
41
|
LINES+=("Summer ready. ${SKILL_COUNT} skills.")
|
|
@@ -57,18 +64,22 @@ if [ -f "${PROJECT_DIR}/project.godot" ]; then
|
|
|
57
64
|
fi
|
|
58
65
|
fi
|
|
59
66
|
|
|
60
|
-
# Line 3: doctor
|
|
67
|
+
# Line 3: doctor fail one-liner (only on status "fail" — silent on ok/warning).
|
|
68
|
+
# Doctor JSON (src/core/capabilities/doctor.ts): checks[].status is lowercase
|
|
69
|
+
# "ok" | "warning" | "fail". Only runs when a `summer` CLI is on PATH: the
|
|
70
|
+
# documented npx install never puts one there, and a cold `npx summer-engine`
|
|
71
|
+
# fetch would exceed the 10s SessionStart budget, so we degrade silently.
|
|
61
72
|
if command -v summer >/dev/null 2>&1; then
|
|
62
73
|
DOCTOR_OUT=$(summer doctor --json 2>/dev/null)
|
|
63
74
|
if [ -n "$DOCTOR_OUT" ]; then
|
|
64
75
|
FAIL_REASON=""
|
|
65
76
|
if command -v jq >/dev/null 2>&1; then
|
|
66
77
|
FAIL_REASON=$(printf '%s' "$DOCTOR_OUT" \
|
|
67
|
-
| jq -r 'first(.checks[]? | select(.status == "
|
|
78
|
+
| jq -r 'first(.checks[]? | select((.status // "" | ascii_downcase) == "fail") | .message) // empty' 2>/dev/null)
|
|
68
79
|
else
|
|
69
|
-
# Crude fallback: first "message" near a "
|
|
80
|
+
# Crude fallback: first "message" near a "fail"
|
|
70
81
|
FAIL_REASON=$(printf '%s' "$DOCTOR_OUT" \
|
|
71
|
-
| grep -oE '"status"[[:space:]]*:[[:space:]]*"FAIL"[^}]*"message"[[:space:]]*:[[:space:]]*"[^"]*"' \
|
|
82
|
+
| grep -oE '"status"[[:space:]]*:[[:space:]]*"(FAIL|fail)"[^}]*"message"[[:space:]]*:[[:space:]]*"[^"]*"' \
|
|
72
83
|
| head -1 \
|
|
73
84
|
| grep -oE '"message"[[:space:]]*:[[:space:]]*"[^"]*"' \
|
|
74
85
|
| sed 's/.*"message"[[:space:]]*:[[:space:]]*"//;s/"$//')
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# integrations/ — the complete, honest map of agent support
|
|
2
|
+
|
|
3
|
+
One folder per supported client. This directory is the single place that
|
|
4
|
+
says which agents Summer supports and how each one consumes the library.
|
|
5
|
+
Adding a new agent (e.g. Grok) = one folder here (plus, if it has a manifest
|
|
6
|
+
file, a builder in `scripts/generate-registry/manifests.ts` and a target in
|
|
7
|
+
`scripts/generate-registry/targets.ts`) + `npm run generate:registry` —
|
|
8
|
+
never hand-editing root files.
|
|
9
|
+
|
|
10
|
+
Each folder contains:
|
|
11
|
+
|
|
12
|
+
- `README.md` — what gets generated where, or (for clients with no manifest
|
|
13
|
+
file in this repo) exactly what `summer setup <client>` writes at install
|
|
14
|
+
time: MCP config path and skills destination.
|
|
15
|
+
|
|
16
|
+
`summer setup <client>` (default `--scope user`) writes the MCP config AND
|
|
17
|
+
installs every skill (`skills install --all`, preview included; `--stable-only`
|
|
18
|
+
skips preview) in the SAME scope,
|
|
19
|
+
so a user-scope MCP config never ends up beside project-scope skills.
|
|
20
|
+
`--scope project` moves both; `--recommended` installs only the recommended
|
|
21
|
+
subset. Clients whose MCP config is user-only (cline, roo-code, lm-studio,
|
|
22
|
+
gemini) fall back to user scope with a warning. `.mcp.json` at the repo root
|
|
23
|
+
(the MCP pointer the claude / codex / cursor / factory manifests share) is
|
|
24
|
+
generated too — `registry/generated/mcp.json -> .mcp.json`.
|
|
25
|
+
- `manifest-target.json` — mapping of generated file -> repo-root destination
|
|
26
|
+
(empty when nothing is generated). Mirrors
|
|
27
|
+
`scripts/generate-registry/targets.ts`; a test fails if they drift.
|
|
28
|
+
|
|
29
|
+
Generated root dot-files (`.claude-plugin/plugin.json`, `gemini-extension.json`,
|
|
30
|
+
…) are build artifacts of `integrations/<agent>` + `library/` — their
|
|
31
|
+
`_generated` banner says so ("GENERATED from integrations/<agent> — do not
|
|
32
|
+
edit; npm run generate:registry"). CI `--check` fails on any drift between
|
|
33
|
+
`library/`, `registry/generated/`, and the applied root files.
|
|
34
|
+
|
|
35
|
+
How the plugin manifests reference skills, and what is verified:
|
|
36
|
+
|
|
37
|
+
- **Claude Code** — the plugin-manifest `skills` field accepts a string or an
|
|
38
|
+
array of `./`-relative directory paths and *extends* the default `skills/`
|
|
39
|
+
scan (Claude Code plugins reference, "Plugin manifest schema"). The
|
|
40
|
+
generated `.claude-plugin/plugin.json` lists one entry per skill
|
|
41
|
+
(`./library/skills/<slug>/`). The docs do not say whether a listed
|
|
42
|
+
directory is loaded as one skill or scanned for skill subfolders, and this
|
|
43
|
+
repo has not yet loaded the generated manifest through the real plugin
|
|
44
|
+
path (the smoke tests exercise the `summer setup` install path, not the
|
|
45
|
+
marketplace one) — treat the marketplace install as unverified until that
|
|
46
|
+
run exists.
|
|
47
|
+
- **Codex** — `.codex-plugin/plugin.json` carries the same per-skill `skills`
|
|
48
|
+
array. Whether Codex reads that field, and with which type, is
|
|
49
|
+
**unverified**; the v2 manifest carried it and nobody has confirmed a load.
|
|
50
|
+
- **Factory** — reads skills only from a root `skills/` directory; the
|
|
51
|
+
manifest's `skills` array is not read (open gap, see the table).
|
|
52
|
+
|
|
53
|
+
| Client | Manifest generated in this repo | `summer setup` writes |
|
|
54
|
+
|---|---|---|
|
|
55
|
+
| claude | `.claude-plugin/plugin.json`, `.claude-plugin/marketplace.json`, `.mcp.json` | MCP: `~/.claude.json` (user) / `.mcp.json` (project); skills: `~/.claude/skills/` (user) / `.claude/skills/` (project); slash commands from `commands/` to `~/.claude/commands/` |
|
|
56
|
+
| codex | `.codex-plugin/plugin.json` | MCP: `~/.codex/config.toml` (TOML); skills: `.agents/skills/` |
|
|
57
|
+
| cursor | `.cursor-plugin/plugin.json` | MCP: `~/.cursor/mcp.json` / `.cursor/mcp.json`; skills: `.cursor/rules/` |
|
|
58
|
+
| factory | `.factory-plugin/plugin.json` | nothing — there is no `summer setup factory` target. Install via the plugin marketplace: `droid plugin marketplace add https://github.com/summerengine/summer` then `droid plugin install summer@summer-engine`. Factory reads MCP from the plugin's `.mcp.json` and skills only from a root `skills/` dir (this package ships them under `library/skills/`, so the manifest `skills` array is not read by Factory — open gap) |
|
|
59
|
+
| gemini | `gemini-extension.json` | extension dir `~/.gemini/extensions/summer-engine/`: the generated manifest (renamed `summer-engine` to match the dir, MCP launcher swapped to `npx -y summer-engine@latest mcp`) + `GEMINI.md` + `AGENTS.md`; skills: `~/.gemini/extensions/summer-engine/skills/<slug>/SKILL.md` (Gemini extension-skill discovery; user scope only) |
|
|
60
|
+
| windsurf (Devin Desktop) | — | MCP: `~/.codeium/windsurf/mcp_config.json`; rules: `.windsurfrules` |
|
|
61
|
+
| cline | — | MCP: VS Code global storage (`saoudrizwan.claude-dev`); rules: `.clinerules` |
|
|
62
|
+
| roo-code | — | MCP: VS Code global storage (`rooveterinaryinc.roo-cline`); rules: `.clinerules` |
|
|
63
|
+
| kilo-code | — | MCP: VS Code global storage `kilocode.kilo-code/settings/mcp_settings.json` (user) / `.kilocode/mcp.json` (project); rules: `~/.kilocode/rules/` (user) / `.kilocode/rules/` (project) |
|
|
64
|
+
| github-copilot | — | MCP: `~/.copilot/mcp-config.json` / `.mcp.json`; skills: `~/.copilot/skills/` or `.github/skills/` |
|
|
65
|
+
| vscode-copilot | — | MCP: VS Code user-profile `mcp.json` / `.vscode/mcp.json`; skills: `~/.copilot/skills/` or `.github/skills/` |
|
|
66
|
+
| opencode | — (JS plugin via npm `main`, `.opencode/plugins/summer.js`) | MCP entry in `opencode.json` (`type: "local"`, array `command`); skills: the plugin registers `library/skills/` via `skills.paths`; `skills install --agent opencode` additionally writes `agents/summer/` markdown |
|
|
67
|
+
| lm-studio | — | MCP: `~/.lmstudio/mcp.json` (app-global); no skills folder — guidance via `summer_get_agent_playbook` |
|
|
68
|
+
|
|
69
|
+
Source of truth for the setup paths: `src/installer/agent-config.ts` and
|
|
70
|
+
`src/cli/commands/skills.ts`.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Claude Code integration
|
|
2
|
+
|
|
3
|
+
Generated by `scripts/generate-registry` from `library/**/resource.yaml`:
|
|
4
|
+
|
|
5
|
+
- `registry/generated/plugin.claude.json` -> `.claude-plugin/plugin.json`
|
|
6
|
+
(plugin manifest: full skill list at `./library/skills/<slug>/`, hooks,
|
|
7
|
+
MCP pointer, userConfig; version stamped from `package.json`).
|
|
8
|
+
- `registry/generated/marketplace.claude.json` -> `.claude-plugin/marketplace.json`
|
|
9
|
+
(marketplace listing wrapper).
|
|
10
|
+
|
|
11
|
+
The MCP pointer `./.mcp.json` these manifests reference is generated as
|
|
12
|
+
well (`registry/generated/mcp.json -> .mcp.json`, owned by the claude target).
|
|
13
|
+
|
|
14
|
+
The MCP pointer `./.mcp.json` these manifests reference is generated as
|
|
15
|
+
well (`registry/generated/mcp.json -> .mcp.json`).
|
|
16
|
+
|
|
17
|
+
Never edit the destination files by hand — edit `library/` resources or the
|
|
18
|
+
manifest builders in `scripts/generate-registry/manifests.ts`, then run
|
|
19
|
+
`npm run generate:registry`. CI `--check` fails on any drift.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"targets": [
|
|
3
|
+
{
|
|
4
|
+
"generated": "plugin.claude.json",
|
|
5
|
+
"destination": ".claude-plugin/plugin.json"
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
"generated": "marketplace.claude.json",
|
|
9
|
+
"destination": ".claude-plugin/marketplace.json"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"generated": "mcp.json",
|
|
13
|
+
"destination": ".mcp.json"
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Cline integration
|
|
2
|
+
|
|
3
|
+
No manifest file is generated in this repo for Cline — `manifest-target.json`
|
|
4
|
+
is intentionally empty. Support is delivered at install time by
|
|
5
|
+
`summer setup cline`, which writes:
|
|
6
|
+
|
|
7
|
+
- MCP config: Cline's VS Code global storage (extension
|
|
8
|
+
`saoudrizwan.claude-dev`). User scope only — Cline has no project-scoped MCP
|
|
9
|
+
config today; project requests fall back to user scope with a warning.
|
|
10
|
+
- Skills: `summer skills install --agent cline` writes rule files to Cline's
|
|
11
|
+
user rules directory (user scope) or `./.clinerules` (project scope).
|
|
12
|
+
|
|
13
|
+
Source of truth: `src/installer/agent-config.ts`, `src/cli/commands/skills.ts`.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Codex integration
|
|
2
|
+
|
|
3
|
+
Generated by `scripts/generate-registry` from `library/**/resource.yaml`:
|
|
4
|
+
|
|
5
|
+
- `registry/generated/plugin.codex.json` -> `.codex-plugin/plugin.json`
|
|
6
|
+
(plugin manifest with the Codex app-store `interface` block; full skill
|
|
7
|
+
list at `./library/skills/<slug>/` — the pre-v3 four-skill gap was a bug and
|
|
8
|
+
is fixed by generation; version stamped from `package.json`).
|
|
9
|
+
|
|
10
|
+
The MCP pointer `./.mcp.json` these manifests reference is generated as
|
|
11
|
+
well (`registry/generated/mcp.json -> .mcp.json`, owned by the claude target).
|
|
12
|
+
|
|
13
|
+
Never edit the destination file by hand — edit `library/` resources or
|
|
14
|
+
`scripts/generate-registry/manifests.ts`, then run
|
|
15
|
+
`npm run generate:registry`. CI `--check` fails on any drift.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Cursor integration
|
|
2
|
+
|
|
3
|
+
Generated by `scripts/generate-registry` from `library/**/resource.yaml`:
|
|
4
|
+
|
|
5
|
+
- `registry/generated/plugin.cursor.json` -> `.cursor-plugin/plugin.json`
|
|
6
|
+
(Cursor plugin manifest: displayName/publisher/category, cursor-specific
|
|
7
|
+
hooks file `./hooks/hooks-cursor.json`, full skill list at
|
|
8
|
+
`./library/skills/<slug>/` — the pre-v3 four-skill gap was a bug and is fixed
|
|
9
|
+
by generation; version stamped from `package.json`).
|
|
10
|
+
|
|
11
|
+
The MCP pointer `./.mcp.json` these manifests reference is generated as
|
|
12
|
+
well (`registry/generated/mcp.json -> .mcp.json`, owned by the claude target).
|
|
13
|
+
|
|
14
|
+
Never edit the destination file by hand — edit `library/` resources or
|
|
15
|
+
`scripts/generate-registry/manifests.ts`, then run
|
|
16
|
+
`npm run generate:registry`. CI `--check` fails on any drift.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Factory (Droid) integration
|
|
2
|
+
|
|
3
|
+
Generated by `scripts/generate-registry` from `library/**/resource.yaml`:
|
|
4
|
+
|
|
5
|
+
- `registry/generated/plugin.factory.json` -> `.factory-plugin/plugin.json`
|
|
6
|
+
(metadata manifest, now including the full skill list at
|
|
7
|
+
`./library/skills/<slug>/` — the pre-v3 manifest listed zero skills, which
|
|
8
|
+
was a bug fixed by generation; version stamped from `package.json`).
|
|
9
|
+
|
|
10
|
+
There is no `summer setup factory` target (`summer setup` rejects `factory`).
|
|
11
|
+
Install through the plugin marketplace instead:
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
droid plugin marketplace add https://github.com/summerengine/summer
|
|
15
|
+
droid plugin install summer@summer-engine --scope user
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Factory reads MCP servers from the plugin's root `.mcp.json` (generated) and
|
|
19
|
+
skills ONLY from a root `skills/<name>/SKILL.md` directory; it has no `skills`
|
|
20
|
+
manifest field, so the array in `plugin.factory.json` is inert and this package
|
|
21
|
+
(skills under `library/skills/`) currently exposes no skills to Factory. Open
|
|
22
|
+
gap; fix is a root `skills/` layout, not a setup target.
|
|
23
|
+
|
|
24
|
+
Never edit the destination file by hand — edit `library/` resources or
|
|
25
|
+
`scripts/generate-registry/manifests.ts`, then run
|
|
26
|
+
`npm run generate:registry`. CI `--check` fails on any drift.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Gemini CLI integration
|
|
2
|
+
|
|
3
|
+
Generated by `scripts/generate-registry` from `library/**/resource.yaml`:
|
|
4
|
+
|
|
5
|
+
- `registry/generated/gemini-extension.json` -> `gemini-extension.json`
|
|
6
|
+
(extension manifest: MCP server, GEMINI.md context file, settings; version
|
|
7
|
+
stamped from `package.json`). The `skills` array is emitted for parity with
|
|
8
|
+
the other manifests but Gemini has no such field — it discovers extension
|
|
9
|
+
skills from `<extension>/skills/<name>/SKILL.md` and ignores unknown keys.
|
|
10
|
+
|
|
11
|
+
`summer setup gemini` writes `~/.gemini/extensions/summer-engine/`:
|
|
12
|
+
|
|
13
|
+
- `gemini-extension.json` — the generated manifest above with install-time
|
|
14
|
+
overrides: `name` becomes `summer-engine` (Gemini requires the manifest name
|
|
15
|
+
to match the extension directory), `mcpServers.summer-engine` becomes the
|
|
16
|
+
standard launcher (`npx -y summer-engine@latest mcp`, `cmd.exe /c` wrapped on
|
|
17
|
+
Windows) because `${extensionPath}` holds no npm package, `skills` and the
|
|
18
|
+
`_generated` banner are dropped.
|
|
19
|
+
- `GEMINI.md` and `AGENTS.md` (the context file and the file it imports).
|
|
20
|
+
- `skills/<slug>/SKILL.md` for every library skill (via
|
|
21
|
+
`skills install --all --agent gemini`); Gemini extensions are user-scoped, so
|
|
22
|
+
`--scope project` falls back to user with a warning.
|
|
23
|
+
|
|
24
|
+
Never edit the destination file by hand — edit `library/` resources or
|
|
25
|
+
`scripts/generate-registry/manifests.ts`, then run
|
|
26
|
+
`npm run generate:registry`. CI `--check` fails on any drift.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# GitHub Copilot CLI integration
|
|
2
|
+
|
|
3
|
+
No manifest file is generated in this repo for Copilot CLI —
|
|
4
|
+
`manifest-target.json` is intentionally empty. Support is delivered at install
|
|
5
|
+
time by `summer setup github-copilot`, which writes:
|
|
6
|
+
|
|
7
|
+
- MCP config: `~/.copilot/mcp-config.json` (user scope) or `./.mcp.json`
|
|
8
|
+
(project scope), in Copilot's MCP config format.
|
|
9
|
+
- Skills: `summer skills install --agent github-copilot` writes skill files to
|
|
10
|
+
`~/.copilot/skills/` (user scope) or `./.github/skills/` (project scope).
|
|
11
|
+
|
|
12
|
+
Source of truth: `src/installer/agent-config.ts`, `src/cli/commands/skills.ts`.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Kilo Code integration
|
|
2
|
+
|
|
3
|
+
No manifest file is generated in this repo for Kilo Code — `manifest-target.json`
|
|
4
|
+
is intentionally empty. Support is delivered at install time by
|
|
5
|
+
`summer setup kilo-code`, which writes:
|
|
6
|
+
|
|
7
|
+
- MCP config: Kilo Code's VS Code global storage
|
|
8
|
+
(`<VS Code user dir>/globalStorage/kilocode.kilo-code/settings/mcp_settings.json`,
|
|
9
|
+
user scope) or `./.kilocode/mcp.json` (project scope).
|
|
10
|
+
- Skills: `summer setup kilo-code` installs the whole library in the same
|
|
11
|
+
scope as the MCP config (user by default), as rule files in
|
|
12
|
+
`~/.kilocode/rules/summer-<skill>.md` (user) or `./.kilocode/rules/`
|
|
13
|
+
(project). `summer skills install --agent kilo-code` on its own defaults
|
|
14
|
+
to project scope; pass `--scope user` to match a user-scope MCP config.
|
|
15
|
+
|
|
16
|
+
Source of truth: `src/installer/agent-config.ts`, `src/cli/commands/skills.ts`.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# LM Studio integration
|
|
2
|
+
|
|
3
|
+
No manifest file is generated in this repo for LM Studio —
|
|
4
|
+
`manifest-target.json` is intentionally empty. Support is delivered at install
|
|
5
|
+
time by `summer setup lm-studio`, which writes:
|
|
6
|
+
|
|
7
|
+
- MCP config: `~/.lmstudio/mcp.json`. This file is app-global (user scope
|
|
8
|
+
only); project-scope requests are treated as user scope with a warning.
|
|
9
|
+
- Skills: LM Studio has no rules or skills folder. The MCP server ships
|
|
10
|
+
`summer_get_agent_playbook`, so the model pulls Summer guidance in-chat.
|
|
11
|
+
|
|
12
|
+
Source of truth: `src/installer/agent-config.ts`, `src/installer/setup.ts`.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# OpenCode integration
|
|
2
|
+
|
|
3
|
+
Nothing is generated for OpenCode today. OpenCode consumes the npm package as
|
|
4
|
+
a JavaScript module (`.opencode/plugins/summer.js`, wired via the package's
|
|
5
|
+
`main` field). The plugin's `config` hook appends `<package>/library/skills`
|
|
6
|
+
to `skills.paths` (OpenCode's `<dir>/<name>/SKILL.md` layout) and its
|
|
7
|
+
`experimental.chat.messages.transform` hook prepends the Summer orientation to
|
|
8
|
+
the first user message once per session. `summer setup opencode` writes the
|
|
9
|
+
MCP entry to `opencode.json` (`type: "local"`, array `command`) and installs
|
|
10
|
+
skills as markdown under `agents/summer/`. `manifest-target.json` is
|
|
11
|
+
intentionally empty. Install steps: `.opencode/INSTALL.md`.
|
|
12
|
+
|
|
13
|
+
If OpenCode grows a declarative manifest, add its builder to
|
|
14
|
+
`scripts/generate-registry/manifests.ts` and its target to
|
|
15
|
+
`scripts/generate-registry/targets.ts` (mirrored here).
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Roo Code integration
|
|
2
|
+
|
|
3
|
+
No manifest file is generated in this repo for Roo Code — `manifest-target.json`
|
|
4
|
+
is intentionally empty. Support is delivered at install time by
|
|
5
|
+
`summer setup roo-code`, which writes:
|
|
6
|
+
|
|
7
|
+
- MCP config: Roo Code's VS Code global storage (extension
|
|
8
|
+
`rooveterinaryinc.roo-cline`). User scope only — no project-scoped MCP config
|
|
9
|
+
today; project requests fall back to user scope with a warning.
|
|
10
|
+
- Skills: `summer skills install --agent roo-code` writes rule files to Roo
|
|
11
|
+
Code's user rules directory (user scope) or `./.clinerules` (project scope).
|
|
12
|
+
|
|
13
|
+
Source of truth: `src/installer/agent-config.ts`, `src/cli/commands/skills.ts`.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# VS Code Copilot integration
|
|
2
|
+
|
|
3
|
+
No manifest file is generated in this repo for VS Code Copilot —
|
|
4
|
+
`manifest-target.json` is intentionally empty. Support is delivered at install
|
|
5
|
+
time by `summer setup vscode-copilot`, which writes:
|
|
6
|
+
|
|
7
|
+
- MCP config: VS Code's user-profile `mcp.json` (user scope) or
|
|
8
|
+
`./.vscode/mcp.json` (project scope), in VS Code's MCP config format.
|
|
9
|
+
- Skills: `summer skills install --agent vscode-copilot` writes skill files to
|
|
10
|
+
`~/.copilot/skills/` (user scope) or `./.github/skills/` (project scope).
|
|
11
|
+
|
|
12
|
+
Source of truth: `src/installer/agent-config.ts`, `src/cli/commands/skills.ts`.
|