summer-engine 2.8.2 → 3.1.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 +149 -44
- package/CLAUDE.md +4 -2
- package/GEMINI.md +7 -53
- package/NOTICE +31 -0
- package/README.md +161 -393
- 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/cli/commands/setup.js +158 -0
- package/dist/{commands → cli/commands}/skills.js +121 -251
- 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 +55 -0
- package/dist/core/skills-registry.js +106 -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/installer/agent-config.d.ts +63 -0
- package/dist/installer/agent-config.js +540 -0
- package/dist/installer/agent-table.d.ts +103 -0
- package/dist/installer/agent-table.js +584 -0
- 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 +148 -0
- package/dist/installer/skill-locations.d.ts +36 -0
- package/dist/installer/skill-locations.js +91 -0
- package/dist/installer/version-check.d.ts +178 -0
- package/dist/installer/version-check.js +479 -0
- 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 +99 -0
- package/integrations/amp/README.md +12 -0
- package/integrations/amp/manifest-target.json +3 -0
- package/integrations/antigravity/README.md +12 -0
- package/integrations/antigravity/manifest-target.json +3 -0
- package/integrations/claude/README.md +19 -0
- package/integrations/claude/manifest-target.json +16 -0
- package/integrations/claude-desktop/README.md +12 -0
- package/integrations/claude-desktop/manifest-target.json +3 -0
- package/integrations/cline/README.md +12 -0
- package/integrations/cline/manifest-target.json +3 -0
- package/integrations/cline-cli/README.md +12 -0
- package/integrations/cline-cli/manifest-target.json +3 -0
- package/integrations/codex/README.md +15 -0
- package/integrations/codex/manifest-target.json +5 -0
- package/integrations/copilot-jetbrains/README.md +12 -0
- package/integrations/copilot-jetbrains/manifest-target.json +3 -0
- package/integrations/crush/README.md +12 -0
- package/integrations/crush/manifest-target.json +3 -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/goose/README.md +12 -0
- package/integrations/goose/manifest-target.json +3 -0
- package/integrations/grok-build/README.md +12 -0
- package/integrations/grok-build/manifest-target.json +3 -0
- package/integrations/hermes/README.md +12 -0
- package/integrations/hermes/manifest-target.json +3 -0
- package/integrations/junie/README.md +12 -0
- package/integrations/junie/manifest-target.json +3 -0
- package/integrations/kilo-code/README.md +12 -0
- package/integrations/kilo-code/manifest-target.json +3 -0
- package/integrations/kimi-code/README.md +12 -0
- package/integrations/kimi-code/manifest-target.json +3 -0
- package/integrations/kiro/README.md +12 -0
- package/integrations/kiro/manifest-target.json +3 -0
- package/integrations/lm-studio/README.md +12 -0
- package/integrations/lm-studio/manifest-target.json +3 -0
- package/integrations/mistral-vibe/README.md +12 -0
- package/integrations/mistral-vibe/manifest-target.json +3 -0
- package/integrations/opencode/README.md +12 -0
- package/integrations/opencode/manifest-target.json +3 -0
- package/integrations/qoder/README.md +12 -0
- package/integrations/qoder/manifest-target.json +3 -0
- package/integrations/qwen-code/README.md +12 -0
- package/integrations/qwen-code/manifest-target.json +3 -0
- package/integrations/roo-code/README.md +14 -0
- package/integrations/roo-code/manifest-target.json +3 -0
- package/integrations/rovo-dev/README.md +12 -0
- package/integrations/rovo-dev/manifest-target.json +3 -0
- package/integrations/trae/README.md +12 -0
- package/integrations/trae/manifest-target.json +3 -0
- package/integrations/visual-studio/README.md +12 -0
- package/integrations/visual-studio/manifest-target.json +3 -0
- package/integrations/vscode-copilot/README.md +12 -0
- package/integrations/vscode-copilot/manifest-target.json +3 -0
- package/integrations/warp/README.md +12 -0
- package/integrations/warp/manifest-target.json +3 -0
- package/integrations/windsurf/README.md +12 -0
- package/integrations/windsurf/manifest-target.json +3 -0
- package/integrations/zed/README.md +12 -0
- package/integrations/zed/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/library/skills/README.md +242 -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/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 +22 -22
- 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 +8 -0
- 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/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/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 +21 -15
- 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-index.md +242 -0
- package/registry/generated/skills-registry.json +1249 -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/setup.js +0 -217
- package/dist/commands/status.js +0 -46
- package/dist/lib/agent-config.d.ts +0 -39
- package/dist/lib/agent-config.js +0 -626
- 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/lib/version-check.js +0 -338
- 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/multiplayer-and-networking → library/skills}/host-authoritative-state/SKILL.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/multiplayer-and-networking → library/skills}/setup-multiplayer/SKILL.md +0 -0
- /package/{skills/ui-and-ux → library/skills}/ui-basics/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,99 @@
|
|
|
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 = one row in `src/installer/agent-table.ts` + one folder
|
|
6
|
+
here + an empty entry in `scripts/generate-registry/targets.ts` (plus, if it
|
|
7
|
+
has a manifest file, a builder in `scripts/generate-registry/manifests.ts`) +
|
|
8
|
+
`npm run generate:registry` — never hand-editing root files. Tests fail when
|
|
9
|
+
the table, this directory, and targets.ts disagree.
|
|
10
|
+
|
|
11
|
+
Each folder contains:
|
|
12
|
+
|
|
13
|
+
- `README.md` — what gets generated where, or (for clients with no manifest
|
|
14
|
+
file in this repo) exactly what `summer setup <client>` writes at install
|
|
15
|
+
time: MCP config path and skills destination.
|
|
16
|
+
|
|
17
|
+
`summer setup <client>` (default `--scope user`) writes the MCP config AND
|
|
18
|
+
installs every skill (`skills install --all`, preview included; `--stable-only`
|
|
19
|
+
skips preview) in the SAME scope,
|
|
20
|
+
so a user-scope MCP config never ends up beside project-scope skills.
|
|
21
|
+
`--scope project` moves both; `--recommended` installs only the recommended
|
|
22
|
+
subset. Clients whose MCP config is user-only (see the table) fall back to user
|
|
23
|
+
scope with a warning. `.mcp.json` at the repo root
|
|
24
|
+
(the MCP pointer the claude / codex / cursor / factory manifests share) is
|
|
25
|
+
generated too — `registry/generated/mcp.json -> .mcp.json`.
|
|
26
|
+
- `manifest-target.json` — mapping of generated file -> repo-root destination
|
|
27
|
+
(empty when nothing is generated). Mirrors
|
|
28
|
+
`scripts/generate-registry/targets.ts`; a test fails if they drift.
|
|
29
|
+
|
|
30
|
+
Generated root dot-files (`.claude-plugin/plugin.json`, `gemini-extension.json`,
|
|
31
|
+
…) are build artifacts of `integrations/<agent>` + `library/` — their
|
|
32
|
+
`_generated` banner says so ("GENERATED from integrations/<agent> — do not
|
|
33
|
+
edit; npm run generate:registry"). CI `--check` fails on any drift between
|
|
34
|
+
`library/`, `registry/generated/`, and the applied root files.
|
|
35
|
+
|
|
36
|
+
How the plugin manifests reference skills, and what is verified:
|
|
37
|
+
|
|
38
|
+
- **Claude Code** — the plugin-manifest `skills` field accepts a string or an
|
|
39
|
+
array of `./`-relative directory paths and *extends* the default `skills/`
|
|
40
|
+
scan (Claude Code plugins reference, "Plugin manifest schema"). The
|
|
41
|
+
generated `.claude-plugin/plugin.json` lists one entry per skill
|
|
42
|
+
(`./library/skills/<slug>/`). The docs do not say whether a listed
|
|
43
|
+
directory is loaded as one skill or scanned for skill subfolders, and this
|
|
44
|
+
repo has not yet loaded the generated manifest through the real plugin
|
|
45
|
+
path (the smoke tests exercise the `summer setup` install path, not the
|
|
46
|
+
marketplace one) — treat the marketplace install as unverified until that
|
|
47
|
+
run exists.
|
|
48
|
+
- **Codex** — `.codex-plugin/plugin.json` carries the same per-skill `skills`
|
|
49
|
+
array. Whether Codex reads that field, and with which type, is
|
|
50
|
+
**unverified**; the v2 manifest carried it and nobody has confirmed a load.
|
|
51
|
+
- **Factory** — reads skills only from a root `skills/` directory; the
|
|
52
|
+
manifest's `skills` array is not read (open gap, see the table).
|
|
53
|
+
|
|
54
|
+
| Client | Manifest generated in this repo | `summer setup` writes |
|
|
55
|
+
|---|---|---|
|
|
56
|
+
| claude | `.claude-plugin/plugin.json`, `.claude-plugin/marketplace.json`, `.mcp.json` | MCP: `~/.claude.json`; Windows `%USERPROFILE%/.claude.json` / `.mcp.json`; skills: `~/.claude/skills` / `.claude/skills` (`<skill>/SKILL.md`) |
|
|
57
|
+
| claude-desktop | — | MCP: `~/Library/Application Support/Claude/claude_desktop_config.json`; Linux `~/.config/Claude/claude_desktop_config.json`; Windows `%APPDATA%/Claude/claude_desktop_config.json`; no skills folder (MCP only) |
|
|
58
|
+
| codex | `.codex-plugin/plugin.json` | MCP: `~/.codex/config.toml`; Windows `%USERPROFILE%/.codex/config.toml` / `.codex/config.toml`; skills: `~/.agents/skills` / `.agents/skills` (`<skill>/SKILL.md`) |
|
|
59
|
+
| cursor | `.cursor-plugin/plugin.json` | MCP: `~/.cursor/mcp.json`; Windows `%USERPROFILE%/.cursor/mcp.json` / `.cursor/mcp.json`; skills: `~/.cursor/skills` / `.cursor/skills` (`<skill>/SKILL.md`) |
|
|
60
|
+
| windsurf | — | MCP: `~/.codeium/windsurf/mcp_config.json`; Windows `%USERPROFILE%/.codeium/windsurf/mcp_config.json`; skills: `~/.codeium/windsurf/skills` / `.windsurf/skills` (`<skill>/SKILL.md`) |
|
|
61
|
+
| antigravity | — | MCP: `~/.gemini/config/mcp_config.json`; Windows `%USERPROFILE%/.gemini/config/mcp_config.json` / `.agents/mcp_config.json`; skills: `~/.gemini/config/skills` / `.agents/skills` (`<skill>/SKILL.md`) |
|
|
62
|
+
| gemini (legacy) | `gemini-extension.json` | MCP: `~/.gemini/extensions/summer-engine/gemini-extension.json`; Windows `%USERPROFILE%/.gemini/extensions/summer-engine/gemini-extension.json`; skills: `~/.gemini/extensions/summer-engine/skills` (`<skill>/SKILL.md`) |
|
|
63
|
+
| cline | — | MCP: `~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json`; Linux `~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json`; Windows `%APPDATA%/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json`; skills: `~/.cline/skills` / `.cline/skills` (`<skill>/SKILL.md`) |
|
|
64
|
+
| cline-cli | — | MCP: `~/.cline/data/settings/cline_mcp_settings.json`; Windows `%USERPROFILE%/.cline/data/settings/cline_mcp_settings.json`; skills: `~/.cline/skills` / `.cline/skills` (`<skill>/SKILL.md`) |
|
|
65
|
+
| roo-code (legacy) | — | MCP: `~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json`; Linux `~/.config/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json`; Windows `%APPDATA%/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json`; skills: `~/Documents/Roo/Rules` / `.clinerules` (rule files `summer-<skill>.md`) |
|
|
66
|
+
| kilo-code | — | MCP: `~/.config/kilo/kilo.json`; Windows `%APPDATA%/kilo/kilo.json` / `kilo.json`; skills: `~/.kilo/skills` / `.kilo/skills` (`<skill>/SKILL.md`) |
|
|
67
|
+
| github-copilot | — | MCP: `~/.copilot/mcp-config.json`; Windows `%USERPROFILE%/.copilot/mcp-config.json` / `.mcp.json`; skills: `~/.copilot/skills` / `.github/skills` (`<skill>/SKILL.md`) |
|
|
68
|
+
| vscode-copilot | — | MCP: `~/Library/Application Support/Code/User/mcp.json`; Linux `~/.config/Code/User/mcp.json`; Windows `%APPDATA%/Code/User/mcp.json` / `.vscode/mcp.json`; skills: `~/.copilot/skills` / `.github/skills` (`<skill>/SKILL.md`) |
|
|
69
|
+
| visual-studio | — | MCP: `~/.mcp.json`; Windows `%USERPROFILE%/.mcp.json` / `.mcp.json`; no skills folder (MCP only) |
|
|
70
|
+
| copilot-jetbrains | — | MCP: `~/.config/github-copilot/intellij/mcp.json`; Windows `%APPDATA%/github-copilot/intellij/mcp.json`; no skills folder (MCP only) |
|
|
71
|
+
| opencode | — | MCP: `~/.config/opencode/opencode.json`; Windows `%APPDATA%/opencode/opencode.json` / `opencode.json`; skills: `~/.config/opencode/skills` / `.opencode/skills` (`<skill>/SKILL.md`) |
|
|
72
|
+
| zed | — | MCP: `~/.config/zed/settings.json`; Windows `%APPDATA%/zed/settings.json`; skills: `~/.agents/skills` / `.agents/skills` (`<skill>/SKILL.md`) |
|
|
73
|
+
| kiro | — | MCP: `~/.kiro/settings/mcp.json`; Windows `%USERPROFILE%/.kiro/settings/mcp.json` / `.kiro/settings/mcp.json`; skills: `~/.kiro/skills` / `.kiro/skills` (`<skill>/SKILL.md`) |
|
|
74
|
+
| goose | — | MCP: `~/.config/goose/config.yaml`; Windows `%APPDATA%/Block/goose/config/config.yaml`; skills: `~/.config/agents/skills` / `.agents/skills` (`<skill>/SKILL.md`) |
|
|
75
|
+
| hermes | — | MCP: `~/.hermes/config.yaml`; Windows `%USERPROFILE%/.hermes/config.yaml`; skills: `~/.hermes/skills` / `.hermes/skills` (`<skill>/SKILL.md`) |
|
|
76
|
+
| trae | — | MCP: `.trae/mcp.json` / `.trae/mcp.json`; no skills folder (MCP only) |
|
|
77
|
+
| qwen-code | — | MCP: `~/.qwen/settings.json`; Windows `%USERPROFILE%/.qwen/settings.json` / `.qwen/settings.json`; skills: `~/.qwen/skills` / `.qwen/skills` (`<skill>/SKILL.md`) |
|
|
78
|
+
| kimi-code | — | MCP: `~/.kimi-code/mcp.json`; Windows `%USERPROFILE%/.kimi-code/mcp.json` / `.kimi-code/mcp.json`; skills: `~/.kimi-code/skills` / `.kimi-code/skills` (`<skill>/SKILL.md`) |
|
|
79
|
+
| crush | — | MCP: `~/.config/crush/crushrc`; Windows `%USERPROFILE%/.config/crush/crushrc` / `.crushrc`; skills: `~/.config/crush/skills` / `.crush/skills` (`<skill>/SKILL.md`) |
|
|
80
|
+
| amp | — | MCP: `~/.config/amp/settings.json`; Windows `%APPDATA%/amp/settings.json`; skills: `~/.config/amp/skills` / `.agents/skills` (`<skill>/SKILL.md`) |
|
|
81
|
+
| factory | `.factory-plugin/plugin.json` | MCP: `~/.factory/mcp.json`; Windows `%USERPROFILE%/.factory/mcp.json` / `.factory/mcp.json`; skills: `~/.factory/skills` / `.factory/skills` (`<skill>/SKILL.md`) |
|
|
82
|
+
| junie | — | MCP: `~/.junie/mcp/mcp.json`; Windows `%USERPROFILE%/.junie/mcp/mcp.json` / `.junie/mcp/mcp.json`; no skills folder (MCP only) |
|
|
83
|
+
| warp | — | MCP: `~/.warp/.mcp.json`; Windows `%USERPROFILE%/.warp/.mcp.json` / `.warp/.mcp.json`; skills: `~/.warp/skills` / `.warp/skills` (`<skill>/SKILL.md`) |
|
|
84
|
+
| rovo-dev | — | MCP: `~/.rovodev/mcp.json`; Windows `%USERPROFILE%/.rovodev/mcp.json`; skills: `~/.rovodev/skills` / `.rovodev/skills` (`<skill>/SKILL.md`) |
|
|
85
|
+
| qoder | — | MCP: `~/.qoder/settings.json`; Windows `%USERPROFILE%/.qoder/settings.json` / `.mcp.json`; skills: `~/.qoder/skills` / `.qoder/skills` (`<skill>/SKILL.md`) |
|
|
86
|
+
| grok-build | — | MCP: `~/.grok/config.toml`; Windows `%USERPROFILE%/.grok/config.toml` / `.grok/config.toml`; skills: `~/.grok/skills` / `.grok/skills` (`<skill>/SKILL.md`) |
|
|
87
|
+
| mistral-vibe | — | MCP: `~/.vibe/config.toml`; Windows `%USERPROFILE%/.vibe/config.toml` / `.vibe/config.toml`; skills: `~/.vibe/skills` / `.vibe/skills` (`<skill>/SKILL.md`) |
|
|
88
|
+
| lm-studio | — | MCP: `~/.lmstudio/mcp.json`; Windows `%USERPROFILE%/.lmstudio/mcp.json`; no skills folder (MCP only) |
|
|
89
|
+
|
|
90
|
+
Source of truth for the setup paths: `src/installer/agent-config.ts` and
|
|
91
|
+
`src/cli/commands/skills.ts`.
|
|
92
|
+
|
|
93
|
+
Not supported on purpose (checked 2026-09-11): OpenHands CLI (its `[mcp] stdio_servers`
|
|
94
|
+
inline-table array has a known upstream write bug), Xcode's agent folders (Apple
|
|
95
|
+
documents the folder but not the file names), Pi (no MCP by design), Aider,
|
|
96
|
+
ChatGPT desktop, Replit, Perplexity, JetBrains AI Assistant and Android Studio
|
|
97
|
+
(UI-only MCP), Continue.dev (shut down), Void (archived), Cody (enterprise only).
|
|
98
|
+
Grok Build also reads `~/.claude.json` and `.cursor/mcp.json`, so a Claude Code or
|
|
99
|
+
Cursor setup already covers it; `summer setup grok-build` writes its own file too.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Amp integration
|
|
2
|
+
|
|
3
|
+
No manifest file is generated in this repo for Amp — `manifest-target.json`
|
|
4
|
+
is intentionally empty. Support is delivered at install time by
|
|
5
|
+
`summer setup amp` (aliases: `sourcegraph-amp`, `ampcode`), which writes:
|
|
6
|
+
|
|
7
|
+
- MCP config: `~/.config/amp/settings.json`; Windows `%APPDATA%/amp/settings.json` (user); user scope only (project requests fall back with a warning).
|
|
8
|
+
Shape: `"amp.mcpServers".summer-engine = { command, args }`.
|
|
9
|
+
- Skills: `~/.config/amp/skills` (user) or `.agents/skills` (project) as `<skill>/SKILL.md`.
|
|
10
|
+
- After: Restart Amp so it reloads settings.json.
|
|
11
|
+
|
|
12
|
+
Source of truth: `src/installer/agent-table.ts` (one row per agent).
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Antigravity integration
|
|
2
|
+
|
|
3
|
+
No manifest file is generated in this repo for Antigravity — `manifest-target.json`
|
|
4
|
+
is intentionally empty. Support is delivered at install time by
|
|
5
|
+
`summer setup antigravity` (aliases: `agy`, `google-antigravity`), which writes:
|
|
6
|
+
|
|
7
|
+
- MCP config: `~/.gemini/config/mcp_config.json`; Windows `%USERPROFILE%/.gemini/config/mcp_config.json` (user); `.agents/mcp_config.json` (project).
|
|
8
|
+
Shape: `mcpServers.summer-engine = { command, args }`.
|
|
9
|
+
- Skills: `~/.gemini/config/skills` (user) or `.agents/skills` (project) as `<skill>/SKILL.md`.
|
|
10
|
+
- After: In Antigravity open the agent panel's MCP servers view and refresh; summer-engine appears in the list (IDE and CLI share this file).
|
|
11
|
+
|
|
12
|
+
Source of truth: `src/installer/agent-table.ts` (one row per agent).
|
|
@@ -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,12 @@
|
|
|
1
|
+
# Claude Desktop integration
|
|
2
|
+
|
|
3
|
+
No manifest file is generated in this repo for Claude Desktop — `manifest-target.json`
|
|
4
|
+
is intentionally empty. Support is delivered at install time by
|
|
5
|
+
`summer setup claude-desktop` (aliases: `claude-app`, `claudedesktop`), which writes:
|
|
6
|
+
|
|
7
|
+
- MCP config: `~/Library/Application Support/Claude/claude_desktop_config.json`; Linux `~/.config/Claude/claude_desktop_config.json`; Windows `%APPDATA%/Claude/claude_desktop_config.json` (user); user scope only (project requests fall back with a warning).
|
|
8
|
+
Shape: `mcpServers.summer-engine = { command, args }`.
|
|
9
|
+
- Skills: none. Claude Desktop has no skills folder. The MCP server ships summer_get_agent_playbook, so the model can pull Summer guidance in-chat.
|
|
10
|
+
- After: Quit and reopen Claude Desktop; the summer-engine tools appear under the tools menu in a new chat.
|
|
11
|
+
|
|
12
|
+
Source of truth: `src/installer/agent-table.ts` (one row per agent).
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Cline (VS Code) integration
|
|
2
|
+
|
|
3
|
+
No manifest file is generated in this repo for Cline (VS Code) — `manifest-target.json`
|
|
4
|
+
is intentionally empty. Support is delivered at install time by
|
|
5
|
+
`summer setup cline` (aliases: `cline-vscode`), which writes:
|
|
6
|
+
|
|
7
|
+
- MCP config: `~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json`; Linux `~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json`; Windows `%APPDATA%/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json` (user); user scope only (project requests fall back with a warning).
|
|
8
|
+
Shape: `mcpServers.summer-engine = { command, args }`.
|
|
9
|
+
- Skills: `~/.cline/skills` (user) or `.cline/skills` (project) as `<skill>/SKILL.md`.
|
|
10
|
+
- After: Restart VS Code so Cline reloads its MCP config.
|
|
11
|
+
|
|
12
|
+
Source of truth: `src/installer/agent-table.ts` (one row per agent).
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Cline CLI integration
|
|
2
|
+
|
|
3
|
+
No manifest file is generated in this repo for Cline CLI — `manifest-target.json`
|
|
4
|
+
is intentionally empty. Support is delivered at install time by
|
|
5
|
+
`summer setup cline-cli` (aliases: `clinecli`), which writes:
|
|
6
|
+
|
|
7
|
+
- MCP config: `~/.cline/data/settings/cline_mcp_settings.json`; Windows `%USERPROFILE%/.cline/data/settings/cline_mcp_settings.json` (user); user scope only (project requests fall back with a warning).
|
|
8
|
+
Shape: `mcpServers.summer-engine = { command, args }`.
|
|
9
|
+
- Skills: `~/.cline/skills` (user) or `.cline/skills` (project) as `<skill>/SKILL.md`.
|
|
10
|
+
- After: Restart the Cline CLI so it reloads its MCP settings.
|
|
11
|
+
|
|
12
|
+
Source of truth: `src/installer/agent-table.ts` (one row per agent).
|
|
@@ -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,12 @@
|
|
|
1
|
+
# GitHub Copilot in JetBrains IDEs integration
|
|
2
|
+
|
|
3
|
+
No manifest file is generated in this repo for GitHub Copilot in JetBrains IDEs — `manifest-target.json`
|
|
4
|
+
is intentionally empty. Support is delivered at install time by
|
|
5
|
+
`summer setup copilot-jetbrains` (aliases: `jetbrains-copilot`, `intellij-copilot`, `copilot-intellij`), which writes:
|
|
6
|
+
|
|
7
|
+
- MCP config: `~/.config/github-copilot/intellij/mcp.json`; Windows `%APPDATA%/github-copilot/intellij/mcp.json` (user); user scope only (project requests fall back with a warning).
|
|
8
|
+
Shape: undefined.
|
|
9
|
+
- Skills: none. Copilot in JetBrains documents no skills folder; the MCP server ships summer_get_agent_playbook for in-chat guidance.
|
|
10
|
+
- After: Restart the JetBrains IDE and open Copilot Chat in Agent mode; summer-engine shows in the tools list.
|
|
11
|
+
|
|
12
|
+
Source of truth: `src/installer/agent-table.ts` (one row per agent).
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Crush integration
|
|
2
|
+
|
|
3
|
+
No manifest file is generated in this repo for Crush — `manifest-target.json`
|
|
4
|
+
is intentionally empty. Support is delivered at install time by
|
|
5
|
+
`summer setup crush` (aliases: `charm-crush`), which writes:
|
|
6
|
+
|
|
7
|
+
- MCP config: `~/.config/crush/crushrc`; Windows `%USERPROFILE%/.config/crush/crushrc` (user); `.crushrc` (project).
|
|
8
|
+
Shape: `mcp.summer-engine = { type: "stdio", command, args }`.
|
|
9
|
+
- Skills: `~/.config/crush/skills` (user) or `.crush/skills` (project) as `<skill>/SKILL.md`.
|
|
10
|
+
- After: Restart Crush so it reloads crushrc.
|
|
11
|
+
|
|
12
|
+
Source of truth: `src/installer/agent-table.ts` (one row per agent).
|
|
@@ -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.
|