mirror of
https://github.com/github/spec-kit.git
synced 2026-03-17 10:53:08 +00:00
- Rename 'template packs' to 'presets' to avoid naming collision with core templates - PresetManifest, PresetRegistry, PresetManager, PresetCatalog, PresetResolver in presets.py - Extract CommandRegistrar to agents.py as shared infrastructure - CLI: specify preset list/add/remove/search/resolve/info - CLI: specify preset catalog list/add/remove - --preset option on specify init - Priority-based preset stacking (--priority, lower = higher precedence) - Command overrides registered into all detected agent directories (17+ agents) - Extension command safety: skip registration if target extension not installed - Multi-catalog support: env var, project config, user config, built-in defaults - resolve_template() / Resolve-Template in bash/PowerShell scripts - Self-test preset: overrides all 6 core templates + 1 command - Scaffold with 4 examples: core/extension template and command overrides - Preset catalog (catalog.json, catalog.community.json) - Documentation: README.md, ARCHITECTURE.md, PUBLISHING.md - 110 preset tests, 253 total tests passing
My Preset
A custom preset for Spec Kit. Copy this directory and customize it to create your own.
Templates Included
| Template | Type | Description |
|---|---|---|
spec-template |
template | Custom feature specification template (overrides core and extensions) |
myext-template |
template | Override of the myext extension's report template |
speckit.specify |
command | Custom specification command (overrides core) |
speckit.myext.myextcmd |
command | Override of the myext extension's myextcmd command |
Development
- Copy this directory:
cp -r presets/scaffold my-preset - Edit
preset.yml— set your preset's ID, name, description, and templates - Add or modify templates in
templates/ - Test locally:
specify preset add --dev ./my-preset - Verify resolution:
specify preset resolve spec-template - Remove when done testing:
specify preset remove my-preset
Manifest Reference (preset.yml)
Required fields:
schema_version— always"1.0"preset.id— lowercase alphanumeric with hyphenspreset.name— human-readable namepreset.version— semantic version (e.g.1.0.0)preset.description— brief descriptionrequires.speckit_version— version constraint (e.g.>=0.1.0)provides.templates— list of templates withtype,name, andfile
Template Types
- template — Document scaffolds (spec-template.md, plan-template.md, tasks-template.md, etc.)
- command — AI agent workflow prompts (e.g. speckit.specify, speckit.plan)
- script — Custom scripts (reserved for future use)
Publishing
See the Preset Publishing Guide for details on submitting to the catalog.
License
MIT