summer-engine 1.2.1 → 1.3.1

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.
Files changed (43) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +7 -2
  3. package/dist/bin/summer.js +24 -1
  4. package/dist/commands/doctor.js +44 -20
  5. package/dist/commands/setup.js +77 -6
  6. package/dist/commands/skills.js +14 -6
  7. package/dist/lib/format.d.ts +23 -0
  8. package/dist/lib/format.js +60 -0
  9. package/dist/lib/format.test.d.ts +1 -0
  10. package/dist/lib/format.test.js +36 -0
  11. package/dist/lib/skills-registry.d.ts +33 -11
  12. package/dist/lib/skills-registry.js +71 -11
  13. package/package.json +1 -1
  14. package/skills/README.md +96 -0
  15. package/skills/_meta/skill-create/SKILL.md +143 -0
  16. package/skills/_meta/skill-improve/SKILL.md +89 -0
  17. package/skills/_meta/skill-test/SKILL.md +86 -0
  18. package/skills/_shared/collaborative-protocol.md +50 -0
  19. package/skills/_shared/gd-style.md +121 -0
  20. package/skills/_shared/godot-version.md +32 -0
  21. package/skills/_shared/mcp-tools-reference.md +133 -0
  22. package/skills/_shared/template-registry.md +40 -0
  23. package/skills/_tests/runner.md +90 -0
  24. package/skills/_tests/specs/3d-lighting.md +19 -0
  25. package/skills/_tests/specs/asset-strategy.md +19 -0
  26. package/skills/_tests/specs/debug.md +94 -0
  27. package/skills/_tests/specs/fps-controller.md +100 -0
  28. package/skills/_tests/specs/gdscript-patterns.md +19 -0
  29. package/skills/_tests/specs/make-game.md +19 -0
  30. package/skills/_tests/specs/play.md +88 -0
  31. package/skills/_tests/specs/scene-composition.md +19 -0
  32. package/skills/_tests/specs/ui-basics.md +19 -0
  33. package/skills/{asset-strategy → asset-pipeline/asset-strategy}/SKILL.md +5 -5
  34. package/skills/catalog.yaml +646 -0
  35. package/skills/{fps-controller → character-controllers/fps-controller}/SKILL.md +7 -5
  36. package/skills/debugging/debug/SKILL.md +137 -0
  37. package/skills/{3d-lighting → rendering-and-lighting/3d-lighting}/SKILL.md +6 -5
  38. package/skills/{make-game → scene-and-project/make-game}/SKILL.md +6 -5
  39. package/skills/scene-and-project/play/SKILL.md +108 -0
  40. package/skills/{scene-composition → scene-and-project/scene-composition}/SKILL.md +6 -5
  41. package/skills/{gdscript-patterns → scripting-patterns/gdscript-patterns}/SKILL.md +6 -5
  42. package/skills/{ui-basics → ui-and-ux/ui-basics}/SKILL.md +6 -5
  43. /package/skills/{gdscript-patterns → scripting-patterns/gdscript-patterns}/reference.md +0 -0
@@ -0,0 +1,646 @@
1
+ # Summer Skill Library Catalog
2
+ # Canonical registry of every skill. Source of truth for `summer skills list` and `summer skills install`.
3
+ # Status: HAVE = ships today, NEXT = next wave, LATER = roadmap.
4
+ # When adding/changing a skill, update this file in the same commit.
5
+
6
+ version: 1
7
+ generated: 2026-05-05
8
+
9
+ skills:
10
+ # ── character-controllers ──
11
+ - name: fps-controller
12
+ category: character-controllers
13
+ status: HAVE
14
+ template-id: template-3d-fps
15
+ public: true
16
+ recommended: true
17
+ last-tested: 2026-05-05
18
+ - name: tps-controller
19
+ category: character-controllers
20
+ status: NEXT
21
+ template-id: template-3d-tps
22
+ public: true
23
+ recommended: false
24
+ - name: platformer-2d
25
+ category: character-controllers
26
+ status: NEXT
27
+ template-id: template-2d-platformer
28
+ public: true
29
+ recommended: false
30
+ - name: platformer-3d
31
+ category: character-controllers
32
+ status: NEXT
33
+ template-id: template-3d-platformer
34
+ public: true
35
+ recommended: false
36
+ - name: top-down-2d
37
+ category: character-controllers
38
+ status: NEXT
39
+ public: true
40
+ recommended: false
41
+ - name: vehicle-arcade
42
+ category: character-controllers
43
+ status: LATER
44
+ public: true
45
+ - name: flying-and-swimming
46
+ category: character-controllers
47
+ status: LATER
48
+ public: true
49
+
50
+ # ── gameplay-mechanics ──
51
+ - name: melee-combat
52
+ category: gameplay-mechanics
53
+ status: NEXT
54
+ public: true
55
+ - name: ranged-projectile-combat
56
+ category: gameplay-mechanics
57
+ status: NEXT
58
+ public: true
59
+ - name: hitboxes-and-hurtboxes
60
+ category: gameplay-mechanics
61
+ status: NEXT
62
+ public: true
63
+ - name: damage-numbers
64
+ category: gameplay-mechanics
65
+ status: NEXT
66
+ public: true
67
+ - name: inventory-system
68
+ category: gameplay-mechanics
69
+ status: NEXT
70
+ public: true
71
+ - name: dialogue-system
72
+ category: gameplay-mechanics
73
+ status: NEXT
74
+ public: true
75
+ - name: save-load
76
+ category: gameplay-mechanics
77
+ status: NEXT
78
+ public: true
79
+ - name: interaction-prompts
80
+ category: gameplay-mechanics
81
+ status: NEXT
82
+ public: true
83
+ - name: crafting-system
84
+ category: gameplay-mechanics
85
+ status: LATER
86
+ public: true
87
+ - name: quest-system
88
+ category: gameplay-mechanics
89
+ status: LATER
90
+ public: true
91
+ - name: progression-and-skill-trees
92
+ category: gameplay-mechanics
93
+ status: LATER
94
+ public: true
95
+ - name: economy-currency
96
+ category: gameplay-mechanics
97
+ status: LATER
98
+ public: true
99
+
100
+ # ── scripting-patterns ──
101
+ - name: gdscript-patterns
102
+ category: scripting-patterns
103
+ status: HAVE
104
+ public: true
105
+ recommended: true
106
+ last-tested: 2026-05-05
107
+ - name: signal-patterns
108
+ category: scripting-patterns
109
+ status: NEXT
110
+ public: true
111
+ recommended: false
112
+ - name: state-machine-patterns
113
+ category: scripting-patterns
114
+ status: NEXT
115
+ public: true
116
+ recommended: false
117
+ - name: autoloads-and-singletons
118
+ category: scripting-patterns
119
+ status: NEXT
120
+ public: true
121
+ - name: error-recovery
122
+ category: scripting-patterns
123
+ status: NEXT
124
+ public: true
125
+ - name: gdextension-cpp-bindings
126
+ category: scripting-patterns
127
+ status: LATER
128
+ public: true
129
+ - name: godot-csharp-interop
130
+ category: scripting-patterns
131
+ status: LATER
132
+ public: true
133
+
134
+ # ── scene-and-project ──
135
+ - name: scene-composition
136
+ category: scene-and-project
137
+ status: HAVE
138
+ public: true
139
+ recommended: true
140
+ last-tested: 2026-05-05
141
+ - name: play
142
+ category: scene-and-project
143
+ status: HAVE
144
+ public: true
145
+ recommended: true
146
+ user-invocable: true
147
+ last-tested: 2026-05-05
148
+ - name: make-game
149
+ category: scene-and-project
150
+ status: HAVE
151
+ public: true
152
+ recommended: false
153
+ last-tested: 2026-05-05
154
+ - name: godot-project-conventions
155
+ category: scene-and-project
156
+ status: NEXT
157
+ public: true
158
+ - name: summer-mcp-bootstrap
159
+ category: scene-and-project
160
+ status: NEXT
161
+ public: true
162
+ - name: git-lfs-for-games
163
+ category: scene-and-project
164
+ status: NEXT
165
+ public: true
166
+ - name: scene-instancing-patterns
167
+ category: scene-and-project
168
+ status: NEXT
169
+ public: true
170
+ - name: level-streaming
171
+ category: scene-and-project
172
+ status: LATER
173
+ public: true
174
+ - name: nested-scenes
175
+ category: scene-and-project
176
+ status: LATER
177
+ public: true
178
+
179
+ # ── rendering-and-lighting ──
180
+ - name: 3d-lighting
181
+ category: rendering-and-lighting
182
+ status: HAVE
183
+ public: true
184
+ recommended: true
185
+ last-tested: 2026-05-05
186
+ - name: pbr-materials
187
+ category: rendering-and-lighting
188
+ status: NEXT
189
+ public: true
190
+ - name: world-environment-and-sky
191
+ category: rendering-and-lighting
192
+ status: NEXT
193
+ public: true
194
+ - name: baked-vs-realtime-lighting
195
+ category: rendering-and-lighting
196
+ status: NEXT
197
+ public: true
198
+ - name: volumetric-fog
199
+ category: rendering-and-lighting
200
+ status: LATER
201
+ public: true
202
+ - name: ssr-glass-water
203
+ category: rendering-and-lighting
204
+ status: LATER
205
+ public: true
206
+ - name: light-probes
207
+ category: rendering-and-lighting
208
+ status: LATER
209
+ public: true
210
+ - name: gi-sdfgi
211
+ category: rendering-and-lighting
212
+ status: LATER
213
+ public: true
214
+
215
+ # ── shaders ──
216
+ - name: shader-basics
217
+ category: shaders
218
+ status: NEXT
219
+ public: true
220
+ - name: surface-shaders
221
+ category: shaders
222
+ status: NEXT
223
+ public: true
224
+ - name: screen-space-effects
225
+ category: shaders
226
+ status: NEXT
227
+ public: true
228
+ - name: fresnel-and-rim-light
229
+ category: shaders
230
+ status: NEXT
231
+ public: true
232
+ - name: dissolve-effect
233
+ category: shaders
234
+ status: NEXT
235
+ public: true
236
+ - name: water-shader
237
+ category: shaders
238
+ status: NEXT
239
+ public: true
240
+ - name: outline-shader
241
+ category: shaders
242
+ status: NEXT
243
+ public: true
244
+ - name: hologram-shader
245
+ category: shaders
246
+ status: LATER
247
+ public: true
248
+ - name: toon-shading
249
+ category: shaders
250
+ status: LATER
251
+ public: true
252
+ - name: compute-shaders
253
+ category: shaders
254
+ status: LATER
255
+ public: true
256
+
257
+ # ── visual-effects ──
258
+ - name: gpuparticles-3d-basics
259
+ category: visual-effects
260
+ status: NEXT
261
+ public: true
262
+ - name: hit-impact-flashes
263
+ category: visual-effects
264
+ status: NEXT
265
+ public: true
266
+ - name: trail-renderers
267
+ category: visual-effects
268
+ status: NEXT
269
+ public: true
270
+ - name: muzzle-flashes
271
+ category: visual-effects
272
+ status: NEXT
273
+ public: true
274
+ - name: explosion-recipes
275
+ category: visual-effects
276
+ status: NEXT
277
+ public: true
278
+ - name: magic-spell-effects
279
+ category: visual-effects
280
+ status: LATER
281
+ public: true
282
+ - name: weather-fx
283
+ category: visual-effects
284
+ status: LATER
285
+ public: true
286
+ - name: decals
287
+ category: visual-effects
288
+ status: LATER
289
+ public: true
290
+
291
+ # ── post-processing ──
292
+ - name: bloom-and-glow
293
+ category: post-processing
294
+ status: NEXT
295
+ public: true
296
+ - name: color-grading
297
+ category: post-processing
298
+ status: NEXT
299
+ public: true
300
+ - name: screen-shake
301
+ category: post-processing
302
+ status: NEXT
303
+ public: true
304
+ - name: camera-effects
305
+ category: post-processing
306
+ status: NEXT
307
+ public: true
308
+
309
+ # ── animation ──
310
+ - name: animation-tree-basics
311
+ category: animation
312
+ status: NEXT
313
+ public: true
314
+ - name: state-machine-anim
315
+ category: animation
316
+ status: NEXT
317
+ public: true
318
+ - name: retargeting
319
+ category: animation
320
+ status: NEXT
321
+ public: true
322
+ - name: procedural-animation-ik
323
+ category: animation
324
+ status: LATER
325
+ public: true
326
+ - name: root-motion
327
+ category: animation
328
+ status: LATER
329
+ public: true
330
+ - name: lip-sync
331
+ category: animation
332
+ status: LATER
333
+ public: true
334
+
335
+ # ── audio ──
336
+ - name: audio-bus-setup
337
+ category: audio
338
+ status: NEXT
339
+ public: true
340
+ - name: 3d-spatial-audio
341
+ category: audio
342
+ status: NEXT
343
+ public: true
344
+ - name: sfx-pipeline
345
+ category: audio
346
+ status: NEXT
347
+ public: true
348
+ - name: footstep-systems
349
+ category: audio
350
+ status: NEXT
351
+ public: true
352
+ - name: dynamic-music-stingers
353
+ category: audio
354
+ status: LATER
355
+ public: true
356
+ - name: audio-occlusion
357
+ category: audio
358
+ status: LATER
359
+ public: true
360
+
361
+ # ── physics ──
362
+ - name: rigid-bodies
363
+ category: physics
364
+ status: NEXT
365
+ public: true
366
+ - name: character-physics
367
+ category: physics
368
+ status: NEXT
369
+ public: true
370
+ - name: area-triggers
371
+ category: physics
372
+ status: NEXT
373
+ public: true
374
+ - name: raycasting-patterns
375
+ category: physics
376
+ status: NEXT
377
+ public: true
378
+ - name: shapecasting
379
+ category: physics
380
+ status: NEXT
381
+ public: true
382
+ - name: joints-and-constraints
383
+ category: physics
384
+ status: LATER
385
+ public: true
386
+ - name: buoyancy
387
+ category: physics
388
+ status: LATER
389
+ public: true
390
+ - name: destructible-objects
391
+ category: physics
392
+ status: LATER
393
+ public: true
394
+
395
+ # ── multiplayer-and-networking ──
396
+ - name: multiplayerapi-basics
397
+ category: multiplayer-and-networking
398
+ status: NEXT
399
+ public: true
400
+ - name: client-server-pattern
401
+ category: multiplayer-and-networking
402
+ status: NEXT
403
+ public: true
404
+ - name: enet-vs-websocket
405
+ category: multiplayer-and-networking
406
+ status: NEXT
407
+ public: true
408
+ - name: peer-replication
409
+ category: multiplayer-and-networking
410
+ status: NEXT
411
+ public: true
412
+ - name: state-sync
413
+ category: multiplayer-and-networking
414
+ status: LATER
415
+ public: true
416
+ - name: lag-compensation
417
+ category: multiplayer-and-networking
418
+ status: LATER
419
+ public: true
420
+ - name: lobby-and-matchmaking
421
+ category: multiplayer-and-networking
422
+ status: LATER
423
+ public: true
424
+
425
+ # ── ai-and-npcs ──
426
+ - name: navmesh-pathfinding
427
+ category: ai-and-npcs
428
+ status: NEXT
429
+ public: true
430
+ - name: behavior-trees
431
+ category: ai-and-npcs
432
+ status: NEXT
433
+ public: true
434
+ - name: state-machine-npc
435
+ category: ai-and-npcs
436
+ status: NEXT
437
+ public: true
438
+ - name: llm-driven-dialogue
439
+ category: ai-and-npcs
440
+ status: NEXT
441
+ public: true
442
+ - name: perception-sight-and-hearing
443
+ category: ai-and-npcs
444
+ status: NEXT
445
+ public: true
446
+ - name: group-tactics
447
+ category: ai-and-npcs
448
+ status: LATER
449
+ public: true
450
+ - name: boss-patterns
451
+ category: ai-and-npcs
452
+ status: LATER
453
+ public: true
454
+
455
+ # ── level-design ──
456
+ - name: gridmap-building
457
+ category: level-design
458
+ status: NEXT
459
+ public: true
460
+ - name: grid-snapping
461
+ category: level-design
462
+ status: NEXT
463
+ public: true
464
+ - name: modular-environments
465
+ category: level-design
466
+ status: LATER
467
+ public: true
468
+ - name: procedural-rooms
469
+ category: level-design
470
+ status: LATER
471
+ public: true
472
+ - name: occlusion-culling-zones
473
+ category: level-design
474
+ status: LATER
475
+ public: true
476
+ - name: open-world-streaming
477
+ category: level-design
478
+ status: LATER
479
+ public: true
480
+
481
+ # ── performance ──
482
+ - name: profiling-godot
483
+ category: performance
484
+ status: NEXT
485
+ public: true
486
+ - name: draw-call-batching
487
+ category: performance
488
+ status: NEXT
489
+ public: true
490
+ - name: gdscript-hotpaths
491
+ category: performance
492
+ status: LATER
493
+ public: true
494
+ - name: texture-streaming
495
+ category: performance
496
+ status: LATER
497
+ public: true
498
+ - name: lod-and-culling
499
+ category: performance
500
+ status: LATER
501
+ public: true
502
+ - name: mobile-optimization
503
+ category: performance
504
+ status: LATER
505
+ public: true
506
+
507
+ # ── ui-and-ux ──
508
+ - name: ui-basics
509
+ category: ui-and-ux
510
+ status: HAVE
511
+ public: true
512
+ recommended: true
513
+ last-tested: 2026-05-05
514
+ - name: control-anchors-and-containers
515
+ category: ui-and-ux
516
+ status: NEXT
517
+ public: true
518
+ - name: theme-resources
519
+ category: ui-and-ux
520
+ status: NEXT
521
+ public: true
522
+ - name: main-menu
523
+ category: ui-and-ux
524
+ status: NEXT
525
+ public: true
526
+ - name: pause-menu
527
+ category: ui-and-ux
528
+ status: NEXT
529
+ public: true
530
+ - name: hud-patterns
531
+ category: ui-and-ux
532
+ status: NEXT
533
+ public: true
534
+ - name: inventory-ui
535
+ category: ui-and-ux
536
+ status: LATER
537
+ public: true
538
+ - name: responsive-ui
539
+ category: ui-and-ux
540
+ status: LATER
541
+ public: true
542
+ - name: localization-ui
543
+ category: ui-and-ux
544
+ status: LATER
545
+ public: true
546
+ - name: controller-navigation
547
+ category: ui-and-ux
548
+ status: LATER
549
+ public: true
550
+
551
+ # ── asset-pipeline ──
552
+ - name: asset-strategy
553
+ category: asset-pipeline
554
+ status: HAVE
555
+ public: true
556
+ recommended: true
557
+ last-tested: 2026-05-05
558
+ - name: import-from-url
559
+ category: asset-pipeline
560
+ status: NEXT
561
+ public: true
562
+ - name: texture-import-pipeline
563
+ category: asset-pipeline
564
+ status: NEXT
565
+ public: true
566
+ - name: normal-bump-roughness
567
+ category: asset-pipeline
568
+ status: NEXT
569
+ public: true
570
+ - name: attribution-and-licensing
571
+ category: asset-pipeline
572
+ status: NEXT
573
+ public: true
574
+ - name: 3d-mesh-cleanup
575
+ category: asset-pipeline
576
+ status: LATER
577
+ public: true
578
+ - name: trim-sheets
579
+ category: asset-pipeline
580
+ status: LATER
581
+ public: true
582
+ - name: rigging-from-markers
583
+ category: asset-pipeline
584
+ status: LATER
585
+ public: true
586
+
587
+ # ── input-and-controls ──
588
+ - name: input-map-fundamentals
589
+ category: input-and-controls
590
+ status: NEXT
591
+ public: true
592
+ - name: gamepad-support
593
+ category: input-and-controls
594
+ status: NEXT
595
+ public: true
596
+ - name: action-buffering
597
+ category: input-and-controls
598
+ status: LATER
599
+ public: true
600
+ - name: rebindable-controls
601
+ category: input-and-controls
602
+ status: LATER
603
+ public: true
604
+ - name: accessibility-input
605
+ category: input-and-controls
606
+ status: LATER
607
+ public: true
608
+
609
+ # ── debugging ──
610
+ - name: debug
611
+ category: debugging
612
+ status: HAVE
613
+ public: true
614
+ recommended: true
615
+ user-invocable: true
616
+ last-tested: 2026-05-05
617
+ - name: debugger-basics
618
+ category: debugging
619
+ status: NEXT
620
+ public: true
621
+ - name: perf-investigation
622
+ category: debugging
623
+ status: LATER
624
+ public: true
625
+
626
+ # ── deployment ──
627
+ - name: export-presets
628
+ category: deployment
629
+ status: NEXT
630
+ public: true
631
+ - name: web-html5-export
632
+ category: deployment
633
+ status: NEXT
634
+ public: true
635
+ - name: steam-uploader
636
+ category: deployment
637
+ status: LATER
638
+ public: true
639
+ - name: itch-uploader
640
+ category: deployment
641
+ status: LATER
642
+ public: true
643
+ - name: mobile-export
644
+ category: deployment
645
+ status: LATER
646
+ public: true
@@ -1,11 +1,13 @@
1
1
  ---
2
2
  name: fps-controller
3
- description: First-person character controller with movement, camera, and physics. Use when building an FPS game, first-person movement, or a 3D character that moves with WASD and looks with mouse.
3
+ description: First-person character controller with WASD movement, mouse look, jumping, and physics. Use when building an FPS, first-person movement, or a 3D character that walks/jumps. Trigger on "FPS", "first-person", "WASD", "character controller", "mouse look".
4
4
  license: MIT
5
- compatibility:
6
- - Cursor
7
- - Claude Code
8
- - Windsurf
5
+ compatibility: [Cursor, Claude Code, Windsurf, Codex]
6
+ category: character-controllers
7
+ user-invocable: false
8
+ template-id: template-3d-fps
9
+ allowed-tools: Read Grep summer_add_node summer_set_prop summer_set_resource_property summer_input_map_bind summer_save_scene summer_get_script_errors
10
+ paths: ["**/*.gd", "**/*.tscn"]
9
11
  ---
10
12
 
11
13
  # FPS Controller for Summer Engine