extensions/README.md
Extension system for Spec Kit - add new functionality without bloating the core framework.
Spec Kit provides two catalog files with different purposes:
catalog.json)extensions/catalog.json in the GitHub-hosted spec-kit repospecify extension commands use the upstream catalog URL by default, unless overriddenSPECKIT_CATALOG_URL at your organization's fork or hosted catalog JSON to use it instead of the upstream defaultExample override:
# Override the default upstream catalog with your organization's catalog
export SPECKIT_CATALOG_URL="https://your-org.com/spec-kit/catalog.json"
specify extension search # Now uses your organization's catalog instead of the upstream default
catalog.community.json)[!NOTE] Community extensions are independently created and maintained by their respective authors. Maintainers only verify that catalog entries are complete and correctly formatted — they do not review, audit, endorse, or support the extension code itself. Review extension source code before installation and use at your own discretion.
extensions/catalog.community.jsonHow It Works:
You control which extensions your team can discover and install:
Populate your catalog.json with approved extensions:
catalog.community.json for community extensionscatalog.jsonspecify extension search shows your curated catalogspecify extension add <name> installs from your catalogBenefits: Full control over available extensions, team consistency, organizational approval workflow
Example: Copy an entry from catalog.community.json to your catalog.json, then your team can discover and install it by name.
Skip catalog curation - team members install directly using URLs:
specify extension add <extension-name> --from https://github.com/org/spec-kit-ext/archive/refs/tags/v1.0.0.zip
Benefits: Quick for one-off testing or private extensions
Tradeoff: Extensions installed this way won't appear in specify extension search for other team members unless you also add them to your catalog.json.
[!NOTE] Community extensions are independently created and maintained by their respective authors. Maintainers only verify that catalog entries are complete and correctly formatted — they do not review, audit, endorse, or support the extension code itself. The Community Extensions website is also a third-party resource. Review extension source code before installation and use at your own discretion.
🔍 Browse and search community extensions on the Community Extensions website.
See the Community Extensions section in the main README for the full list of available community-contributed extensions.
For the raw catalog data, see catalog.community.json.
To add your extension to the community catalog:
See the Extension Publishing Guide for detailed step-by-step instructions.
Before submitting, ensure:
extension.yml manifestOnce extensions are available (either in your catalog or via direct URL), install them:
# From your curated catalog (by name)
specify extension search # See what's in your catalog
specify extension add <extension-name> # Install by name
# Direct from URL (bypasses catalog)
specify extension add <extension-name> --from https://github.com/<org>/<repo>/archive/refs/tags/<version>.zip
# List installed extensions
specify extension list
For more information, see the Extension User Guide.