第 06 章 | 安装 OpenSpec
💡 进群学习加 wx: agentupdate
(申请发送: agentupdate)
(申请发送: agentupdate)
第 6 章:安装 OpenSpec
学习目标
让你的项目目录获得 OpenSpec 的规约能力。
安装
npm install -g @fission-ai/openspec
openspec --version
# 1.3.1 或更新
在项目里初始化
cd ~/work/learn-claude
openspec init
完成后目录变成:
flowchart TB
Root["~/work/learn-claude/"] --> Specs["openspec/specs/
(空,等待累积)"]
Root --> Changes["openspec/changes/"]
Changes --> Archive["archive/
(空,已完成的 change)"]
Root --> CC[".claude/
(可能已存在)"]
style Specs fill:#e8f5e9
style Changes fill:#fff3e0
style Archive fill:#f3e5f5每个目录的角色:
| 路径 | 含义 | 谁写谁读 |
|---|---|---|
openspec/specs/ |
系统当前承诺的能力 | 由 archive 累积合并而来 |
openspec/changes/<name>/ |
进行中的某个变更 | propose 创建 |
openspec/changes/archive/ |
已完成的变更历史 | archive 移动到这里 |
4 个核心 skill
OpenSpec 在 Claude Code 里以 skill 形式存在。安装后你能用:
| Skill | 用途 | 何时用 |
|---|---|---|
/opsx:explore |
探索想法,思考阶段 | 想法还模糊 |
/opsx:propose |
把想法落成 change 工件 | 想清楚了 |
/opsx:apply |
按 tasks.md 实现 | 决定动手 |
/opsx:archive |
完成后归档,更新 specs | 实现完毕 |
完整生命周期:
flowchart LR
Idea["💡 想法"] -->|opsx:explore| Clear["清晰需求"]
Clear -->|opsx:propose| Change["change 文件夹"]
Change -->|opsx:apply| Code["代码 + 勾选"]
Code -->|opsx:archive| Specs["specs/ 累积"]
style Specs fill:#c8e6c9检查安装是否成功
跑:
openspec list --json
输出应当是:
{
"changes": []
}
→ 还没有任何 change,符合预期。
加入 git 控制
OpenSpec 文件应当全部进 git(这是它的核心价值——可版本化的需求):
cd ~/work/learn-claude
git init
echo ".env" > .gitignore
git add openspec/ .gitignore
git commit -m "init: openspec scaffold"
你现在能做什么
- 初始化一个空白 OpenSpec 项目
- 解释 specs/changes/archive 三个目录的角色
- 知道 4 个 skill 各自什么时候用
下一章深入 OpenSpec 的世界观——为什么这套结构本身就解决了"需求漂移"问题。