扩展(Extensions)
扩展用于给 spec-kit 增加新的能力,例如测试命令、系统集成、自动化钩子或自定义模板。
Extension 更像“插件”,重点是为 spec-kit 增加能力,而不是只改默认文案。
扩展能做什么
- 增加新的斜杠命令,例如 V-Model 扩展带来的 9 个测试相关命令。
- 注册生命周期钩子,例如
before_plan、after_implement。 - 提供模板覆盖,影响文档生成结果。
- 对接外部系统,如 Jira、Linear、GitHub Issues 等。
典型使用场景
测试增强
例如接入 V-Model,把测试设计和开发规格绑定在一起。
系统集成
例如把任务同步到 Jira、GitHub Issues 或其他协作平台。
自动化钩子
例如在实现前后自动运行 lint、格式化或校验动作。
命令扩展
为团队增加特定领域命令,而不是手动重复提示词。
扩展管理命令
# 搜索可用扩展
specify extension search testing
# 安装扩展(从目录)
specify extension add v-model
# 安装扩展(从 ZIP/URL,精确控制版本)
specify extension add v-model --from https://github.com/leocamello/spec-kit-v-model/archive/refs/tags/v0.4.0.zip
# 本地开发扩展
specify extension add --dev ./my-extension
# 查看已安装扩展
specify extension list
# 查看扩展详情
specify extension info v-model
# 更新扩展
specify extension update v-model
# 启用 / 禁用扩展(不卸载)
specify extension enable v-model
specify extension disable v-model
# 调整扩展优先级
specify extension set-priority v-model 5
# 管理扩展目录(catalog)
specify extension catalog list
specify extension catalog add https://example.com/catalog.json --name my-org
specify extension catalog remove my-org
# 卸载扩展
specify extension remove v-model
管理动作怎么理解
| 动作 | 作用 |
|---|---|
| search | 从扩展目录中搜索可安装扩展 |
| add | 安装扩展,可来自目录、URL 或本地开发目录 |
| info | 查看扩展详情、来源和功能说明 |
| enable / disable | 临时启用或停用扩展,但保留安装状态 |
| set-priority | 调整扩展参与模板解析时的优先级 |
| remove | 彻底卸载扩展 |