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. GitHub and the Spec Kit maintainers may review pull requests that add entries to the community catalog for formatting, catalog structure, or policy compliance, but 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. GitHub and the Spec Kit maintainers may review pull requests that add entries to the community catalog for formatting, catalog structure, or policy compliance, but 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:
extensions/catalog.community.jsonSee 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.