概述
自定义 OpenSpec 的选项。
OpenSpec 支持多种自定义选项。本页介绍每个选项的作用及适用场景。
可自定义的内容
| 选项 | 作用 | 适用场景 |
|---|---|---|
| Profiles | 安装哪些工作流,以及以 skills、commands 还是两者兼具的形式安装 | 需要额外的工作流和工作模式,或需要移除不需要的工作流 |
| 项目配置 | 注入到每次工作流运行中的指令:上下文、规则和操作指引(config.yaml) | 希望按照自己的方式规划变更,例如任务始终包含 Playwright 测试 |
| Schemas | OpenSpec 生成的内容:artifacts、其顺序及其模板 | 变更应生成不同的规划文件、章节或格式 |
不确定使用哪个?
配置和 schema 是两个层次的定制。根据你希望投入的精力来选择:
- 从项目配置开始:它更轻量,对大多数项目来说已足够。你保留标准的 artifacts,并在其基础上添加自己的上下文和规则。
- 当添加内容不足时,Fork 一个 schema:配置只能在核心工作流之上添加内容。它可以添加"任务始终包含测试"这样的规则,但无法删除设计文档或重命名文件。这属于 schema 的范畴。Fork 让你拥有自己的副本进行编辑。
此处的"Fork"指的是 openspec schema fork 命令,而非 fork 一个 git 仓库。Schemas 中有详细说明。
flowchart LR
a["工作流应了解我的技术栈和规范"] --> config
b["某个 artifact 需要额外规则,例如任务始终包含测试"] --> config
c["不同的 artifacts、文件名或文档结构"] --> schema
d["内置指令中有我的团队做法不同的内容"] --> schema
config["项目配置<br/>(config.yaml)"]
schema["Fork 一个 schema<br/>(openspec schema fork)"]