summer-engine 3.5.2 → 3.7.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 +2 -2
- package/.claude-plugin/plugin.json +2 -2
- package/.codex-plugin/plugin.json +3 -3
- package/.cursor-plugin/plugin.json +2 -2
- package/.factory-plugin/plugin.json +2 -2
- package/CHANGELOG.md +16 -2
- package/README.md +0 -4
- package/dist/cli/commands/login.d.ts +0 -10
- package/dist/cli/commands/login.js +2 -82
- package/dist/cli/index.js +0 -4
- package/dist/core/auth.d.ts +0 -8
- package/dist/core/auth.js +5 -35
- package/dist/core/capabilities/seeing/args.d.ts +2 -2
- package/dist/core/capabilities/seeing/seeing.d.ts +1 -1
- package/dist/core/capabilities/sfx-choices.d.ts +78 -0
- package/dist/core/capabilities/sfx-choices.js +253 -0
- package/dist/core/capabilities/tool-dispatch.js +35 -52
- package/dist/core/config.d.ts +1 -7
- package/dist/core/config.js +5 -75
- package/dist/mcp/server.d.ts +2 -1
- package/dist/mcp/server.js +6 -5
- package/dist/mcp/tools/creator-tools.js +0 -71
- package/dist/mcp/tools/generate-tools.js +69 -3
- package/gemini-extension.json +1 -1
- package/library/references/mcp-tools-reference/mcp-tools-reference.md +6 -7
- package/library/references/mcp-tools-reference/resource.yaml +1 -1
- package/library/skills/README.md +2 -2
- package/library/skills/ambient-bed/SKILL.md +3 -1
- package/library/skills/ambient-bed/resource.yaml +1 -1
- package/library/skills/audio-direction/SKILL.md +5 -5
- package/library/skills/audio-direction/resource.yaml +1 -1
- package/library/skills/export-and-ship/SKILL.md +2 -0
- package/library/skills/multiplayer-publish/SKILL.md +8 -4
- package/library/skills/publish-your-game/SKILL.md +2 -0
- package/library/skills/release-readiness/SKILL.md +141 -2
- package/library/skills/release-readiness/resource.yaml +4 -1
- package/library/skills/sound-effect/SKILL.md +83 -158
- package/library/skills/sound-effect/resource.yaml +8 -2
- package/library/skills/ui-basics/SKILL.md +1 -0
- package/library/tools/generate-audio/resource.yaml +6 -2
- package/library/tools/generate-sfx-choices/resource.yaml +69 -0
- package/library/tools/get-choices/resource.yaml +50 -0
- package/package.json +1 -1
- package/registry/generated/aliases.json +2 -3
- package/registry/generated/counts.json +2 -2
- package/registry/generated/gemini-extension.json +1 -1
- package/registry/generated/index.json +105 -121
- package/registry/generated/marketplace.claude.json +2 -2
- package/registry/generated/plugin.claude.json +2 -2
- package/registry/generated/plugin.codex.json +3 -3
- package/registry/generated/plugin.cursor.json +2 -2
- package/registry/generated/plugin.factory.json +2 -2
- package/registry/generated/skills-index.md +2 -2
- package/registry/generated/skills-registry.json +2 -2
- package/dist/cli/commands/publish.d.ts +0 -2
- package/dist/cli/commands/publish.js +0 -21
- package/dist/cli/commands/releases.d.ts +0 -2
- package/dist/cli/commands/releases.js +0 -20
- package/dist/core/capabilities/creator.d.ts +0 -65
- package/dist/core/capabilities/creator.js +0 -374
- package/library/tools/creator-config/resource.yaml +0 -63
- package/library/tools/creator-publish/resource.yaml +0 -74
- package/library/tools/creator-releases/resource.yaml +0 -53
|
@@ -147,8 +147,8 @@
|
|
|
147
147
|
{
|
|
148
148
|
"id": "reference/mcp-tools-reference",
|
|
149
149
|
"kind": "reference",
|
|
150
|
-
"version": "1.4.
|
|
151
|
-
"content_hash": "
|
|
150
|
+
"version": "1.4.1",
|
|
151
|
+
"content_hash": "ee626e6bac5ff34eb4a69ad44ef1c93c0c26d4b57783cc1068dd5ad4d280d473",
|
|
152
152
|
"summary": "Canonical reference for which Summer MCP tool to call — skills should reference tool names exactly as written here.",
|
|
153
153
|
"use_when": [
|
|
154
154
|
"choosing between Summer MCP tools and host tools for an operation",
|
|
@@ -429,8 +429,8 @@
|
|
|
429
429
|
{
|
|
430
430
|
"id": "skill/ambient-bed",
|
|
431
431
|
"kind": "skill",
|
|
432
|
-
"version": "1.0.
|
|
433
|
-
"content_hash": "
|
|
432
|
+
"version": "1.0.3",
|
|
433
|
+
"content_hash": "019312cde595bc12813c1fe6787cd0127f37e4933985930039214c58acbbdb45",
|
|
434
434
|
"summary": "Generate a long looping location ambience — forest, dungeon, city, spaceship, cave — a looping AudioStreamPlayer on the Ambient bus with a seamless loop.",
|
|
435
435
|
"use_when": [
|
|
436
436
|
"generating a long looping location ambience — forest at dawn, dungeon air, city street, spaceship hum, cave drip — non-melodic and low-energy",
|
|
@@ -637,8 +637,8 @@
|
|
|
637
637
|
{
|
|
638
638
|
"id": "skill/audio-direction",
|
|
639
639
|
"kind": "skill",
|
|
640
|
-
"version": "1.0.
|
|
641
|
-
"content_hash": "
|
|
640
|
+
"version": "1.0.7",
|
|
641
|
+
"content_hash": "c9d7324e75b87eb183d0e0c0787aacd75008a1797b6fb58de6bf8273971c5ce9",
|
|
642
642
|
"summary": "Define the game's sonic identity — music style, instruments, SFX vocabulary, dynamic music plan — output as an audio bible at .summer/audio-bible.md.",
|
|
643
643
|
"use_when": [
|
|
644
644
|
"defining the sonic identity — music style, instruments, SFX vocabulary, dynamic music plan",
|
|
@@ -1599,7 +1599,7 @@
|
|
|
1599
1599
|
"id": "skill/export-and-ship",
|
|
1600
1600
|
"kind": "skill",
|
|
1601
1601
|
"version": "1.0.3",
|
|
1602
|
-
"content_hash": "
|
|
1602
|
+
"content_hash": "c0ed1e67fe9a32ea1ad869dd2c1c320f74816696a87ad17ab40a26cdd138d5c9",
|
|
1603
1603
|
"summary": "Assess and prepare a game export: inventory installed templates and targets, validate release assets and config, produce supported builds after approval.",
|
|
1604
1604
|
"use_when": [
|
|
1605
1605
|
"the user wants to assess or prepare a Summer game export — Steam, itch, HTML5, iOS, Android targets as available in the installed build",
|
|
@@ -2321,7 +2321,7 @@
|
|
|
2321
2321
|
"id": "skill/multiplayer-publish",
|
|
2322
2322
|
"kind": "skill",
|
|
2323
2323
|
"version": "1.0.0",
|
|
2324
|
-
"content_hash": "
|
|
2324
|
+
"content_hash": "e0624b497dc1e45bbe9e529817502a4e05c829189402391d0882fc0b007e8766",
|
|
2325
2325
|
"summary": "Ship a hosted Summer multiplayer game: the summer.games bundle, server preset, pre-upload checks, and a new Build.",
|
|
2326
2326
|
"use_when": [
|
|
2327
2327
|
"publishing a hosted Summer multiplayer game online so other players can join it",
|
|
@@ -2828,7 +2828,7 @@
|
|
|
2828
2828
|
"id": "skill/publish-your-game",
|
|
2829
2829
|
"kind": "skill",
|
|
2830
2830
|
"version": "1.0.0",
|
|
2831
|
-
"content_hash": "
|
|
2831
|
+
"content_hash": "c2ed78b67c43fbcea5792ec31b97daff0ded3e0fe63e8d676ecdc8da7527de4d",
|
|
2832
2832
|
"summary": "Publish a Summer game on Summer Games through MCP: store page, art, build upload, submit, and one approval link for the owner.",
|
|
2833
2833
|
"use_when": [
|
|
2834
2834
|
"the user says 'publish my game', 'put it on summer.games', 'launch it on the store' or 'submit it for review'",
|
|
@@ -2900,14 +2900,17 @@
|
|
|
2900
2900
|
"id": "skill/release-readiness",
|
|
2901
2901
|
"kind": "skill",
|
|
2902
2902
|
"version": "1.0.0",
|
|
2903
|
-
"content_hash": "
|
|
2904
|
-
"summary": "Before releasing a Summer game version, prove players can play it: server scene, online join,
|
|
2903
|
+
"content_hash": "229b468ac0f85c84e55c5cb952dd1e3fcbc8e8c8d1ebe7aca1919199d5b6090e",
|
|
2904
|
+
"summary": "Before releasing a Summer game version, prove players can play it: server scene, online join, progress, Game ID, released Summer, packed files, app version.",
|
|
2905
2905
|
"use_when": [
|
|
2906
2906
|
"before uploading, promoting or releasing a new version to players: is it ready to release",
|
|
2907
2907
|
"every online join fails with world_start_timeout, or the hosted server's log is empty, while Local Play works",
|
|
2908
2908
|
"Summer.initialize fails with game_identity_mismatch: the initialized Game ID does not match hosted runtime context",
|
|
2909
2909
|
"checking that a hosted game's server.pck starts the authority scene and not the title screen",
|
|
2910
2910
|
"players get a blank or black screen when they open the released game, but it runs in the editor: client scripts fail with Parse Error or Failed to load script",
|
|
2911
|
+
"text shows as boxes on iPhone but looks fine on desktop: a font or other file read with FileAccess is missing from the pack, or SystemFont is used",
|
|
2912
|
+
"the Summer Games phone app says the game could not start, but it works on desktop: the game's Summer version line differs from the app's",
|
|
2913
|
+
"the game closes about a minute into play with Play paused or That link can't be opened, and the player is signed out",
|
|
2911
2914
|
"a game release failed for players and the check that would have caught it needs adding"
|
|
2912
2915
|
],
|
|
2913
2916
|
"facets": {
|
|
@@ -3436,12 +3439,14 @@
|
|
|
3436
3439
|
{
|
|
3437
3440
|
"id": "skill/sound-effect",
|
|
3438
3441
|
"kind": "skill",
|
|
3439
|
-
"version": "1.0
|
|
3440
|
-
"content_hash": "
|
|
3441
|
-
"summary": "
|
|
3442
|
+
"version": "1.1.0",
|
|
3443
|
+
"content_hash": "4ea1cf55a48cf8e4670018c9a7b858e970acb3852b3e0023bade97e408c8eb08",
|
|
3444
|
+
"summary": "Make SFX one-shots and timed sequences (swings, hits, whooshes, reloads, UI) - offer three model versions to pick from, then wire them as AudioStreamPlayers.",
|
|
3442
3445
|
"use_when": [
|
|
3443
3446
|
"generating short SFX one-shots — footsteps, weapon swings, UI clicks, hit impacts, environmental cues",
|
|
3444
|
-
"an action, impact, or UI interaction is silent and needs a short one-shot sound wired to it"
|
|
3447
|
+
"an action, impact, or UI interaction is silent and needs a short one-shot sound wired to it",
|
|
3448
|
+
"a timed sound that must match an animation, such as a rifle reload or an attack combo",
|
|
3449
|
+
"the person wants several versions of a sound to pick from"
|
|
3445
3450
|
],
|
|
3446
3451
|
"facets": {
|
|
3447
3452
|
"lifecycle": [
|
|
@@ -3462,6 +3467,11 @@
|
|
|
3462
3467
|
"related": {
|
|
3463
3468
|
"skills": [
|
|
3464
3469
|
"skill/audio-direction"
|
|
3470
|
+
],
|
|
3471
|
+
"tools": [
|
|
3472
|
+
"tool/generate-sfx-choices",
|
|
3473
|
+
"tool/get-choices",
|
|
3474
|
+
"tool/generate-audio"
|
|
3465
3475
|
]
|
|
3466
3476
|
},
|
|
3467
3477
|
"status": "stable",
|
|
@@ -4185,7 +4195,7 @@
|
|
|
4185
4195
|
"id": "skill/ui-basics",
|
|
4186
4196
|
"kind": "skill",
|
|
4187
4197
|
"version": "1.0.3",
|
|
4188
|
-
"content_hash": "
|
|
4198
|
+
"content_hash": "76793a56f9517ec7fb20d705ab8584955cad3e3c827a54a26220f87afde343a3",
|
|
4189
4199
|
"summary": "Build Summer Engine UI — HUDs, menus, health bars, dialogue boxes, Control trees — anchors, containers, responsive layout, theme vs inline styling.",
|
|
4190
4200
|
"use_when": [
|
|
4191
4201
|
"building Summer Engine UI: HUDs, main menus, pause menus, health bars, progress bars, dialogue boxes, or any Control-node tree",
|
|
@@ -5954,109 +5964,6 @@
|
|
|
5954
5964
|
"publish": false
|
|
5955
5965
|
}
|
|
5956
5966
|
},
|
|
5957
|
-
{
|
|
5958
|
-
"id": "tool/creator-config",
|
|
5959
|
-
"kind": "tool",
|
|
5960
|
-
"version": "1.0.2",
|
|
5961
|
-
"content_hash": "1449083d5fef74d8bdb5fcfe88d5a8dc0ab80824c4fec51fa4dcb24c5c5bfef6",
|
|
5962
|
-
"summary": "Read or update the shared non-secret Summer configuration; mutations require confirm, and tokens are never returned or accepted.",
|
|
5963
|
-
"use_when": [
|
|
5964
|
-
"inspecting or changing shared CLI and MCP configuration values",
|
|
5965
|
-
"\"which creator project id / channel is this CLI pointed at?\"",
|
|
5966
|
-
"switching the default publish channel"
|
|
5967
|
-
],
|
|
5968
|
-
"facets": {
|
|
5969
|
-
"lifecycle": [
|
|
5970
|
-
"launch"
|
|
5971
|
-
],
|
|
5972
|
-
"domains": [
|
|
5973
|
-
"creator",
|
|
5974
|
-
"deployment"
|
|
5975
|
-
]
|
|
5976
|
-
},
|
|
5977
|
-
"compatibility": {
|
|
5978
|
-
"engine": ">=4.6"
|
|
5979
|
-
},
|
|
5980
|
-
"status": "stable",
|
|
5981
|
-
"mcp_tool_name": "summer_creator_config",
|
|
5982
|
-
"remote": false,
|
|
5983
|
-
"cli_command": "summer config",
|
|
5984
|
-
"authority": {
|
|
5985
|
-
"filesystem": true,
|
|
5986
|
-
"editor_mutation": false,
|
|
5987
|
-
"network": false,
|
|
5988
|
-
"credentials": false,
|
|
5989
|
-
"publish": false
|
|
5990
|
-
}
|
|
5991
|
-
},
|
|
5992
|
-
{
|
|
5993
|
-
"id": "tool/creator-publish",
|
|
5994
|
-
"kind": "tool",
|
|
5995
|
-
"version": "1.1.0",
|
|
5996
|
-
"content_hash": "48ee4dbe8810da6ae327ebf9e80b3e2a352daad18fe7e7061d53db17110a06fe",
|
|
5997
|
-
"summary": "Deprecated: publishes a .pck to the legacy creator API. Use summer_export_game, then summer_publish_build, to upload to summer.games.",
|
|
5998
|
-
"use_when": [
|
|
5999
|
-
"an old project that still publishes a .pck to the legacy Summercraft creator channel with an sc_ creator token",
|
|
6000
|
-
"a ~/.summer/config.json that names a legacy creator projectId and channel"
|
|
6001
|
-
],
|
|
6002
|
-
"facets": {
|
|
6003
|
-
"lifecycle": [
|
|
6004
|
-
"launch"
|
|
6005
|
-
],
|
|
6006
|
-
"domains": [
|
|
6007
|
-
"creator",
|
|
6008
|
-
"deployment"
|
|
6009
|
-
]
|
|
6010
|
-
},
|
|
6011
|
-
"compatibility": {
|
|
6012
|
-
"engine": ">=4.6"
|
|
6013
|
-
},
|
|
6014
|
-
"status": "deprecated",
|
|
6015
|
-
"mcp_tool_name": "summer_creator_publish",
|
|
6016
|
-
"remote": false,
|
|
6017
|
-
"cli_command": "summer publish",
|
|
6018
|
-
"authority": {
|
|
6019
|
-
"filesystem": true,
|
|
6020
|
-
"editor_mutation": false,
|
|
6021
|
-
"network": true,
|
|
6022
|
-
"credentials": false,
|
|
6023
|
-
"publish": true
|
|
6024
|
-
}
|
|
6025
|
-
},
|
|
6026
|
-
{
|
|
6027
|
-
"id": "tool/creator-releases",
|
|
6028
|
-
"kind": "tool",
|
|
6029
|
-
"version": "1.0.2",
|
|
6030
|
-
"content_hash": "8abe66c592d1d0f45db5106179f390a4d43cff8d72834c7029aefbaec57e628e",
|
|
6031
|
-
"summary": "Deprecated: lists releases on the legacy creator API. For summer.games use summer_store_releases.",
|
|
6032
|
-
"use_when": [
|
|
6033
|
-
"an old project that published a .pck to the legacy Summercraft creator channel with an sc_ creator token",
|
|
6034
|
-
"paging legacy creator releases by projectId and cursor"
|
|
6035
|
-
],
|
|
6036
|
-
"facets": {
|
|
6037
|
-
"lifecycle": [
|
|
6038
|
-
"launch"
|
|
6039
|
-
],
|
|
6040
|
-
"domains": [
|
|
6041
|
-
"creator",
|
|
6042
|
-
"deployment"
|
|
6043
|
-
]
|
|
6044
|
-
},
|
|
6045
|
-
"compatibility": {
|
|
6046
|
-
"engine": ">=4.6"
|
|
6047
|
-
},
|
|
6048
|
-
"status": "deprecated",
|
|
6049
|
-
"mcp_tool_name": "summer_creator_releases",
|
|
6050
|
-
"remote": true,
|
|
6051
|
-
"cli_command": "summer releases",
|
|
6052
|
-
"authority": {
|
|
6053
|
-
"filesystem": false,
|
|
6054
|
-
"editor_mutation": false,
|
|
6055
|
-
"network": true,
|
|
6056
|
-
"credentials": false,
|
|
6057
|
-
"publish": false
|
|
6058
|
-
}
|
|
6059
|
-
},
|
|
6060
5967
|
{
|
|
6061
5968
|
"id": "tool/debug-views",
|
|
6062
5969
|
"kind": "tool",
|
|
@@ -6537,8 +6444,8 @@
|
|
|
6537
6444
|
{
|
|
6538
6445
|
"id": "tool/generate-audio",
|
|
6539
6446
|
"kind": "tool",
|
|
6540
|
-
"version": "1.0
|
|
6541
|
-
"content_hash": "
|
|
6447
|
+
"version": "1.1.0",
|
|
6448
|
+
"content_hash": "48834c5df50c389c3eff20c8aaa00885f9268ff90872ca8bec3ba89cb1bdb8c7",
|
|
6542
6449
|
"summary": "Generate audio via Summer Studio: text-to-speech, sound effects, music, or multi-voice dialogue.",
|
|
6543
6450
|
"use_when": [
|
|
6544
6451
|
"creating sound effects, music beds, or spoken lines for the game",
|
|
@@ -6637,6 +6544,45 @@
|
|
|
6637
6544
|
"publish": false
|
|
6638
6545
|
}
|
|
6639
6546
|
},
|
|
6547
|
+
{
|
|
6548
|
+
"id": "tool/generate-sfx-choices",
|
|
6549
|
+
"kind": "tool",
|
|
6550
|
+
"version": "1.0.1",
|
|
6551
|
+
"content_hash": "cc583f4378e6fa60a864a5bbae0b7d3ddb5b30962a443432d5bc4a7581fd5fb3",
|
|
6552
|
+
"summary": "Make one sound effect with several models and show the versions in Summer Studio; the person approves one or more and that model becomes their default.",
|
|
6553
|
+
"use_when": [
|
|
6554
|
+
"the first sound effect in a chat, after the person said yes to three versions to pick from",
|
|
6555
|
+
"\"give me a few versions of this sword clash to choose from\"",
|
|
6556
|
+
"\"compare the sound effect models on this whoosh\""
|
|
6557
|
+
],
|
|
6558
|
+
"facets": {
|
|
6559
|
+
"lifecycle": [
|
|
6560
|
+
"build"
|
|
6561
|
+
],
|
|
6562
|
+
"domains": [
|
|
6563
|
+
"generate",
|
|
6564
|
+
"audio"
|
|
6565
|
+
]
|
|
6566
|
+
},
|
|
6567
|
+
"compatibility": {
|
|
6568
|
+
"engine": ">=4.6"
|
|
6569
|
+
},
|
|
6570
|
+
"related": {
|
|
6571
|
+
"skills": [
|
|
6572
|
+
"skill/sound-effect"
|
|
6573
|
+
]
|
|
6574
|
+
},
|
|
6575
|
+
"status": "preview",
|
|
6576
|
+
"mcp_tool_name": "summer_generate_sfx_choices",
|
|
6577
|
+
"remote": true,
|
|
6578
|
+
"authority": {
|
|
6579
|
+
"filesystem": false,
|
|
6580
|
+
"editor_mutation": false,
|
|
6581
|
+
"network": true,
|
|
6582
|
+
"credentials": false,
|
|
6583
|
+
"publish": false
|
|
6584
|
+
}
|
|
6585
|
+
},
|
|
6640
6586
|
{
|
|
6641
6587
|
"id": "tool/generate-video",
|
|
6642
6588
|
"kind": "tool",
|
|
@@ -6806,6 +6752,44 @@
|
|
|
6806
6752
|
"publish": false
|
|
6807
6753
|
}
|
|
6808
6754
|
},
|
|
6755
|
+
{
|
|
6756
|
+
"id": "tool/get-choices",
|
|
6757
|
+
"kind": "tool",
|
|
6758
|
+
"version": "1.0.0",
|
|
6759
|
+
"content_hash": "57c7366d449347c8fb0ac94a4bd419b2babcccc26391a5ace790d9e55f319404",
|
|
6760
|
+
"summary": "Read a sound-effect choice set: whether the person decided, which versions they approved (audioUrl, assetId, note) and their default sound-effect model.",
|
|
6761
|
+
"use_when": [
|
|
6762
|
+
"after summer_generate_sfx_choices, to learn which versions the person approved",
|
|
6763
|
+
"\"I picked the sounds I like in Studio\""
|
|
6764
|
+
],
|
|
6765
|
+
"facets": {
|
|
6766
|
+
"lifecycle": [
|
|
6767
|
+
"build"
|
|
6768
|
+
],
|
|
6769
|
+
"domains": [
|
|
6770
|
+
"generate",
|
|
6771
|
+
"audio"
|
|
6772
|
+
]
|
|
6773
|
+
},
|
|
6774
|
+
"compatibility": {
|
|
6775
|
+
"engine": ">=4.6"
|
|
6776
|
+
},
|
|
6777
|
+
"related": {
|
|
6778
|
+
"skills": [
|
|
6779
|
+
"skill/sound-effect"
|
|
6780
|
+
]
|
|
6781
|
+
},
|
|
6782
|
+
"status": "preview",
|
|
6783
|
+
"mcp_tool_name": "summer_get_choices",
|
|
6784
|
+
"remote": true,
|
|
6785
|
+
"authority": {
|
|
6786
|
+
"filesystem": false,
|
|
6787
|
+
"editor_mutation": false,
|
|
6788
|
+
"network": true,
|
|
6789
|
+
"credentials": false,
|
|
6790
|
+
"publish": false
|
|
6791
|
+
}
|
|
6792
|
+
},
|
|
6809
6793
|
{
|
|
6810
6794
|
"id": "tool/get-console",
|
|
6811
6795
|
"kind": "tool",
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
{
|
|
12
12
|
"name": "summer",
|
|
13
13
|
"source": "./",
|
|
14
|
-
"version": "3.
|
|
15
|
-
"description": "Agent tooling for Summer Engine: game-dev skills, lifecycle hooks, and a
|
|
14
|
+
"version": "3.7.0",
|
|
15
|
+
"description": "Agent tooling for Summer Engine: game-dev skills, lifecycle hooks, and a 104-tool MCP bridge to the local desktop app.",
|
|
16
16
|
"author": {
|
|
17
17
|
"name": "Summer Engine",
|
|
18
18
|
"email": "founders@summerengine.com"
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
"$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
|
|
3
3
|
"_generated": "GENERATED from integrations/claude — do not edit; npm run generate:registry",
|
|
4
4
|
"name": "summer",
|
|
5
|
-
"version": "3.
|
|
6
|
-
"description": "Agent tooling for Summer Engine: game-dev skills, lifecycle hooks, and a
|
|
5
|
+
"version": "3.7.0",
|
|
6
|
+
"description": "Agent tooling for Summer Engine: game-dev skills, lifecycle hooks, and a 104-tool MCP bridge to the local desktop app.",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "Summer Engine",
|
|
9
9
|
"email": "founders@summerengine.com",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_generated": "GENERATED from integrations/codex — do not edit; npm run generate:registry",
|
|
3
3
|
"name": "summer",
|
|
4
|
-
"version": "3.
|
|
5
|
-
"description": "Agent tooling for Summer Engine: game-dev skills, lifecycle hooks, and a
|
|
4
|
+
"version": "3.7.0",
|
|
5
|
+
"description": "Agent tooling for Summer Engine: game-dev skills, lifecycle hooks, and a 104-tool MCP bridge. Build games by talking.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Summer Engine",
|
|
8
8
|
"email": "founders@summerengine.com",
|
|
@@ -151,7 +151,7 @@
|
|
|
151
151
|
"interface": {
|
|
152
152
|
"displayName": "Summer",
|
|
153
153
|
"shortDescription": "Superpowers for AI game dev. Build games by talking.",
|
|
154
|
-
"longDescription": "Summer turns Codex into a game-dev studio for Summer Engine. Users make Summer games with the Summer SDK and GDScript. The plugin adds game-dev skills, lifecycle hooks, and a
|
|
154
|
+
"longDescription": "Summer turns Codex into a game-dev studio for Summer Engine. Users make Summer games with the Summer SDK and GDScript. The plugin adds game-dev skills, lifecycle hooks, and a 104-tool MCP bridge for guarded project files, scene editing, asset import, play mode, diagnostics, generation, and creator workflows. Git, shell, and grep stay with the host agent. Summer follows its upstream technical base continuously; version-sensitive work uses the bundled compatibility reference instead of a fixed onboarding version. Session-start orients the session. Pre-commit doctor (opt-in) blocks bad commits.",
|
|
155
155
|
"developerName": "Summer Engine",
|
|
156
156
|
"category": "Coding",
|
|
157
157
|
"capabilities": [
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
"_generated": "GENERATED from integrations/cursor — do not edit; npm run generate:registry",
|
|
4
4
|
"name": "summer",
|
|
5
5
|
"displayName": "Summer",
|
|
6
|
-
"version": "3.
|
|
7
|
-
"description": "Agent tooling for Summer Engine: game-dev skills, lifecycle hooks, and a
|
|
6
|
+
"version": "3.7.0",
|
|
7
|
+
"description": "Agent tooling for Summer Engine: game-dev skills, lifecycle hooks, and a 104-tool MCP bridge to the local desktop app.",
|
|
8
8
|
"author": {
|
|
9
9
|
"name": "Summer Engine",
|
|
10
10
|
"email": "founders@summerengine.com"
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_generated": "GENERATED from integrations/factory — do not edit; npm run generate:registry",
|
|
3
3
|
"name": "summer",
|
|
4
|
-
"description": "Agent tooling for Summer Engine: game-dev skills, lifecycle hooks, and a
|
|
5
|
-
"version": "3.
|
|
4
|
+
"description": "Agent tooling for Summer Engine: game-dev skills, lifecycle hooks, and a 104-tool MCP bridge to the local desktop app.",
|
|
5
|
+
"version": "3.7.0",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Summer Engine",
|
|
8
8
|
"email": "founders@summerengine.com",
|
|
@@ -117,7 +117,7 @@ Status: **stable** unless marked; *preview* = not yet exercised in-engine by the
|
|
|
117
117
|
| [ambient-bed](./ambient-bed/SKILL.md) | Generate a long looping location ambience — forest, dungeon, city, spaceship, cave — a looping AudioStreamPlayer on the Ambient bus with a seamless loop. | assets |
|
|
118
118
|
| [audio-direction](./audio-direction/SKILL.md) ★ | Define the game's sonic identity — music style, instruments, SFX vocabulary, dynamic music plan — output as an audio bible at .summer/audio-bible.md. | game-design |
|
|
119
119
|
| [music-track](./music-track/SKILL.md) ★ | Generate a looped or cinematic music track — loops authored at >=30s with a marked loop point, cinematic tracks at >=60s linear. | assets |
|
|
120
|
-
| [sound-effect](./sound-effect/SKILL.md) ★ |
|
|
120
|
+
| [sound-effect](./sound-effect/SKILL.md) ★ | Make SFX one-shots and timed sequences (swings, hits, whooshes, reloads, UI) - offer three model versions to pick from, then wire them as AudioStreamPlayers. | assets |
|
|
121
121
|
| [voice-line](./voice-line/SKILL.md) ★ | Generate TTS voice lines — NPC barks, narrator, dialogue — with voice-id sourcing, a character-to-voice decision tree, and multi-line dialogue support. | assets |
|
|
122
122
|
|
|
123
123
|
## character-controller
|
|
@@ -147,7 +147,7 @@ Status: **stable** unless marked; *preview* = not yet exercised in-engine by the
|
|
|
147
147
|
| skill | when to use | also |
|
|
148
148
|
|---|---|---|
|
|
149
149
|
| [export-and-ship](./export-and-ship/SKILL.md) ★ | Assess and prepare a game export: inventory installed templates and targets, validate release assets and config, produce supported builds after approval. | project |
|
|
150
|
-
| [*release-readiness*](./release-readiness/SKILL.md) (preview) | Before releasing a Summer game version, prove players can play it: server scene, online join,
|
|
150
|
+
| [*release-readiness*](./release-readiness/SKILL.md) (preview) | Before releasing a Summer game version, prove players can play it: server scene, online join, progress, Game ID, released Summer, packed files, app version. | multiplayer, playtest |
|
|
151
151
|
| [remote-deploy](./remote-deploy/SKILL.md) ★ | Run or test the game on a real device — phone, tablet, another computer — via the Remote Deploy button, runnable export presets, and on-device debugging. | project |
|
|
152
152
|
|
|
153
153
|
## editor
|
|
@@ -920,7 +920,7 @@
|
|
|
920
920
|
{
|
|
921
921
|
"id": "skill/release-readiness",
|
|
922
922
|
"name": "release-readiness",
|
|
923
|
-
"description": "Before releasing a Summer game version, prove players can play it: server scene, online join,
|
|
923
|
+
"description": "Before releasing a Summer game version, prove players can play it: server scene, online join, progress, Game ID, released Summer, packed files, app version.",
|
|
924
924
|
"clients": "all",
|
|
925
925
|
"recommended": false,
|
|
926
926
|
"status": "preview",
|
|
@@ -1109,7 +1109,7 @@
|
|
|
1109
1109
|
{
|
|
1110
1110
|
"id": "skill/sound-effect",
|
|
1111
1111
|
"name": "sound-effect",
|
|
1112
|
-
"description": "
|
|
1112
|
+
"description": "Make SFX one-shots and timed sequences (swings, hits, whooshes, reloads, UI) - offer three model versions to pick from, then wire them as AudioStreamPlayers.",
|
|
1113
1113
|
"clients": "all",
|
|
1114
1114
|
"recommended": true,
|
|
1115
1115
|
"status": "stable",
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Command } from "commander";
|
|
2
|
-
import { publishCreator } from "../../core/capabilities/creator.js";
|
|
3
|
-
export const publishCommand = new Command("publish")
|
|
4
|
-
.description("Deprecated: publish a .pck to the legacy creator API (use `summer tool export-game`, then `summer tool publish-build`)")
|
|
5
|
-
.argument("[project]", "Project root. Defaults to the current directory.")
|
|
6
|
-
.requiredOption("--artifact <path>", "Exact exported Summer .pck artifact")
|
|
7
|
-
.requiredOption("--version <value>", "Immutable release version")
|
|
8
|
-
.option("--manifest <path>", "Optional JSON release manifest")
|
|
9
|
-
.option("--project-id <id>", "Creator project ID")
|
|
10
|
-
.option("--channel <name>", "Release channel")
|
|
11
|
-
.option("--notes <text>", "Release notes")
|
|
12
|
-
.option("--confirm", "Confirm the exact project and channel after reviewing them")
|
|
13
|
-
.action(async (project, opts) => {
|
|
14
|
-
console.error("summer publish is deprecated: run `summer tool export-game`, then `summer tool publish-build`, to upload the summer.games .zip to your game.");
|
|
15
|
-
const result = await publishCreator({
|
|
16
|
-
project,
|
|
17
|
-
...opts,
|
|
18
|
-
face: "cli",
|
|
19
|
-
});
|
|
20
|
-
console.log(JSON.stringify(result, null, 2));
|
|
21
|
-
});
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Command } from "commander";
|
|
2
|
-
import { listCreatorReleases } from "../../core/capabilities/creator.js";
|
|
3
|
-
export const releasesCommand = new Command("releases")
|
|
4
|
-
.description("List creator releases for a project")
|
|
5
|
-
.option("--project-id <id>", "Creator project ID")
|
|
6
|
-
.option("--limit <count>", "Maximum releases to return", "20")
|
|
7
|
-
.option("--cursor <value>", "Opaque cursor returned by the previous page")
|
|
8
|
-
.action(async (opts) => {
|
|
9
|
-
const limit = Number.parseInt(opts.limit, 10);
|
|
10
|
-
if (!Number.isInteger(limit) || limit < 1 || limit > 100) {
|
|
11
|
-
throw new Error("--limit must be between 1 and 100. Recovery: pass a whole number in that range.");
|
|
12
|
-
}
|
|
13
|
-
const result = await listCreatorReleases({
|
|
14
|
-
projectId: opts.projectId,
|
|
15
|
-
limit,
|
|
16
|
-
cursor: opts.cursor,
|
|
17
|
-
face: "cli",
|
|
18
|
-
});
|
|
19
|
-
console.log(JSON.stringify(result, null, 2));
|
|
20
|
-
});
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
export type CreatorOperation = "publish" | "releases";
|
|
2
|
-
export type CreatorFace = "cli" | "mcp";
|
|
3
|
-
export declare const CREATOR_API_CONTRACT: "summer.creator.v1";
|
|
4
|
-
export declare class CreatorOperationError extends Error {
|
|
5
|
-
readonly code: string;
|
|
6
|
-
readonly operation: CreatorOperation;
|
|
7
|
-
readonly recovery: string;
|
|
8
|
-
readonly status?: number | undefined;
|
|
9
|
-
constructor(code: string, operation: CreatorOperation, message: string, recovery: string, status?: number | undefined);
|
|
10
|
-
}
|
|
11
|
-
export interface CreatorClientDependencies {
|
|
12
|
-
fetch: typeof fetch;
|
|
13
|
-
now: () => Date;
|
|
14
|
-
}
|
|
15
|
-
export interface PublishCreatorInput {
|
|
16
|
-
project?: string;
|
|
17
|
-
artifact?: string;
|
|
18
|
-
manifest?: string;
|
|
19
|
-
version?: string;
|
|
20
|
-
projectId?: string;
|
|
21
|
-
channel?: string;
|
|
22
|
-
notes?: string;
|
|
23
|
-
confirm?: boolean;
|
|
24
|
-
face: CreatorFace;
|
|
25
|
-
}
|
|
26
|
-
export interface CreatorPublishResult {
|
|
27
|
-
ok: true;
|
|
28
|
-
contract: typeof CREATOR_API_CONTRACT;
|
|
29
|
-
operation: "publish";
|
|
30
|
-
projectId: string;
|
|
31
|
-
releaseId: string;
|
|
32
|
-
version: string;
|
|
33
|
-
sha256: string;
|
|
34
|
-
sizeBytes: number;
|
|
35
|
-
status: string;
|
|
36
|
-
detail: string | null;
|
|
37
|
-
}
|
|
38
|
-
export declare function publishCreator(input: PublishCreatorInput, overrides?: Partial<CreatorClientDependencies>): Promise<CreatorPublishResult>;
|
|
39
|
-
export interface ListCreatorReleasesInput {
|
|
40
|
-
projectId?: string;
|
|
41
|
-
limit?: number;
|
|
42
|
-
cursor?: string;
|
|
43
|
-
face: CreatorFace;
|
|
44
|
-
}
|
|
45
|
-
export interface CreatorRelease {
|
|
46
|
-
releaseId: string;
|
|
47
|
-
gameId: string;
|
|
48
|
-
version: string;
|
|
49
|
-
state: "published" | "pending_review" | "retired";
|
|
50
|
-
gameStatus: string;
|
|
51
|
-
sha256: string | null;
|
|
52
|
-
sizeBytes: number | null;
|
|
53
|
-
changelog: string | null;
|
|
54
|
-
submittedAt: string;
|
|
55
|
-
artifactPlane: "r2" | "legacy";
|
|
56
|
-
}
|
|
57
|
-
export interface CreatorReleasesResult {
|
|
58
|
-
ok: true;
|
|
59
|
-
contract: typeof CREATOR_API_CONTRACT;
|
|
60
|
-
operation: "releases";
|
|
61
|
-
projectId: string;
|
|
62
|
-
releases: CreatorRelease[];
|
|
63
|
-
nextCursor: string | null;
|
|
64
|
-
}
|
|
65
|
-
export declare function listCreatorReleases(input: ListCreatorReleasesInput, overrides?: Partial<CreatorClientDependencies>): Promise<CreatorReleasesResult>;
|