VibeCoding以及SDD配套使用小记
以上SDD工具均通过内置或安装命令,为当前目录注入AI辅助开发的自定义命令集,使用方式与SKILL类似,可通过直接命令或语义相近的短语触发功能。openspec 与 spec-kit:更关注对已知目标的“约束”与“规范”,适合规范性要求高的开发环节。bmad:更关注从想法到任务的“流程”与“协作”,适合探索性、需要规划的设计与开发初期。共同点:均通过自定义命令集成AI能力,提升开发过程的效率与结构
前言
VibeCoding大火的现在,分享一下几个自己用的VibeCoding特点,以及几个SDD的使用方式
NPM
# windows
# https://github.com/coreybutler/nvm-windows/releases
# 下载nvm
nvm install latest
# use 版本号
nvm use xxx
# 测试
node -v
npm -v
UV
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
$env:Path = "C:\Users\用户名\.local\bin;$env:Path"
# 第一句指令执行后会有提示,复制执行即可
# 重启终端
Vibe Coding相关
Claude Code
INSTALL
npm install -g @anthropic-ai/claude-code
claude --version
# 先运行一次,如果有代理并且有账号可以直接使用
claude
运行后前往User/.claude文件夹下新建settings.json文件
输入以下内容自定义URL与KEY
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "API Key",
"ANTHROPIC_BASE_URL": "",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1
},
"permissions": {
"allow": [],
"deny": []
}
}
或使用
[System.Environment]::SetEnvironmentVariable('ANTHROPIC_BASE_URL', 'https://code.newcli.com/claude/aws', 'User')
[System.Environment]::SetEnvironmentVariable('ANTHROPIC_AUTH_TOKEN', 'API Key', 'User')
上述任何一个环节若是出现问题,先尝试重启终端,再尝试重启电脑
BASE
Ollma支持anthropicAPI,在cc中可以接入本地Ollma模型。
SKILL
使用官方的skill-creator可以快速创建skill
存放地址
~/.claude/skills
必需文件
每个 skill 必须包含一个 SKILL.md 文件,该文件需要:
-
元数据(必需):
name: skill 的唯一标识符(小写字母、数字和连字符)- 技能名称必须匹配目录名!
description: skill 功能的完整描述和使用时机
--- name: skill-name description: 技能描述(1-1024字符) license: MIT # 可选 compatibility: opencode # 可选 metadata: # 可选 audience: maintainers --- -
Markdown 指令内容(必需):具体的技能使用说明
可选资源目录
skill 还可以包含以下可选目录:
scripts/: 可执行代码文件(Python、Bash 等)references/: 文档和参考资料assets/: 输出中使用的模板、图片等文件
根目录添加skill后,需重启claude
scripts和references必须在技能创建时就包含在相应目录中,无法在使用过程中动态添加
部分使用方式
- 及时总结
- 首次进行开发时可以使用
/init对项目进行总结,生成claude.md文件 - 将项目在某次开发完成后,可以使用自然语言要求cc将该次开发的信息归档入claude.md,可以在新开会话窗口时使cc更快了解项目整体
- 首次进行开发时可以使用
- 及时清除会话历史
/clear- 当已完结某次开发,或以上历史会话信息已无法为接下来的开发带来有效信息,使用 清除历史记录
- 新开窗口恢复上次关掉的会话情况
claude —continue - 压缩已有上下文
/compact [instructions]- 省token。压缩时可额外输入指令进行压缩说明。当一次会话长度达到限制,cc会强制要求压缩
OpenCode
BASE
OpenCode 支持多个配置位置,按优先级加载:
- 项目配置 - 项目根目录的
opencode.json(优先级最高) - 全局配置 -
~/.config/opencode/opencode.json - 自定义路径 - 通过
OPENCODE_CONFIG环境变量指定
配置格式:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"your-provider-id": {
"npm": "@ai-sdk/openai-compatible",
"name": "Your Provider Display Name",
"api": "https://api.yourprovider.com/v1",
"env": ["YOUR_API_KEY"],
"models": {
"your-model-id": {
"name": "Your Model Display Name",
"tool_call": true,
"reasoning": false,
"attachment": false,
"temperature": true,
"limit": {
"context": 128000,
"output": 4096
},
"modalities": {
"input": ["text", "image"],
"output": ["text"]
}
}
}
}
}
}
SKILL
opencode只能通过对话触发skill,不能从skill列表选择一个skil
存放地址:
.opencode/skills/<name>/SKILL.md(项目配置)~/.config/opencode/skills/<name>/SKILL.md(全局配置).claude/skills/<name>/SKILL.md(Claude 兼容)~/.claude/skills/<name>/SKILL.md(全局 Claude 兼容)
其余与CC一致
Oh My Open Code
Cursor
cursor的免费订阅模式下不支持使用自定义模型
AntiGravity
坑
-
登陆账号后迟迟不重定向
VPN开启TUN模式,地区选择中国以外
-
登陆后提示地区不对
SDD
OpenSpec
一种快速生成spec内容,使得VibeCoding在规定流程下进行工作的工具,使用形式类似skill-creator
INSTALL
npm install -g @fission-ai/openspec@latest
USE
初始化项目下的spec指令:
openspec init
# 当前目录下生成选定VibeCoding模板的spec生成指令文件
初始化后,在当前目录下使用VibeCoding时,这些指令会被自动集成,可以通过斜杠命令召唤
使用这些指令,创建一个自己想要的spec内容
验证spec内容的格式:
openspec list # 查看每次变更
openspec validate <change-name> # 验证spec格式
openspec show <change-name>
工作模式
项目中openspec存储目录结构设计:
openspec/
├── specs/ # 源规范 - 当前已部署的 capabilities
│ └── [capability]/ # 单一专注的功能
│ ├── spec.md # 需求和场景
│ └── design.md # 技术模式(可选)
├── changes/ # 提案 - 应该变更什么
│ ├── [change-name]/
│ │ ├── proposal.md
│ │ ├── tasks.md
│ │ ├── design.md
│ │ └── specs/ # Delta 变更
│ │ └── [capability]/
│ │ └── spec.md
│ └── archive/ # 已完成的变更
spec的构建以单次开发为单位。也就是在一次开发中,依据想要实现的功能,使用vibeCoding,通过openspec指令,写出这部分功能开始时对应的spec。
最后进行归档,通过子spec逐步构建起一个完整的spec。
Spec指定的工作流中存在三个阶段,VibeCoding会在这个流程下完成一次任务
-
提案阶段 Proposal
在这个阶段,VibeCoding根据spec内容会生成一些文件:
- propoasl.md 以chang-id命名,命名格式为:相应操作-模块-功能,如add-user-auth
- tasks.md,下一步需要执行的任务
- design.md, 设计相关,会在openspec命令执行时选择是否需要
-
实施阶段 Apply
VibeCoding根据tasks.md执行任务
-
归档阶段 Archive
记录一次开发中所使用的change内容,并将因这次开发产生的规范变动合并到源规范(从开始到现在,每次开发操作的规范累计)
Spec-Kit
目前两个月没更新,上一个稳定版本是25年11月
INSTALL
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
USE
# 新建
specify init <PROJECT_NAME>
# 在已有项目目录下创建,也可以在空白目录下使用
specify init --here --ai vibecoding
在开始使用后,按照以下顺序进行工作:
-
/speckit.constitution建立整个项目的整体,基本原则如:- 开发时优先完成子功能规范
- 使用speckit的工作流程的定义等
-
/speckit.specify <想做什么>根据想法制定业务上的规范 具体内容有:- 操作场景以及优先级
- 验收标准
- 边缘案例
- 具体功能需求等
-
/speckit.plan开始规划 具体内容有:- 功能概要
- 需要达到的目标
- 检查目前结构已有的spec文件是否遵守constitution
-
/speckit.tasks生成TODO根据划分的优先级进行实现,明确依赖关系,使用渐进式开发
-
/speckit.implement开始执行
|──project/
| ├── .specify/
| │ ├── memory/
│ │ └── constitution.md # 整体原则
│ ├── scripts/
│ │ ├── check-prerequisites.sh # kit的脚本,用于生成文件
│ │ ├── common.sh
│ │ ├── create-new-feature.sh
│ │ ├── setup-plan.sh
│ │ └── update-claude-md.sh
| └── templates/
│ ├── plan-template.md # 模板,每个功能所生成的spec文件中,根据该模板生成
│ ├── spec-template.md
│ └── tasks-template.md
│── specs/
│ └── 001-feature-name/ # 功能特定目录,即某次开发
│ ├── spec.md # 需求和操作场景
│ ├── plan.md # 技术实现计划
│ ├── research.md # 技术调研
│ ├── data-model.md # 数据结构
│ ├── quickstart.md # 快速验证指南
│ ├── tasks.md # 可执行任务列表
│ └── contracts/ # API规范,部分具体功能的约束
│ ├── api-spec.json
│ └── signalr-spec.md
│
注:只能激活一种vibecoding进行使用
BMAD-Method
INSTALL
每次使用时,在项目目录下输入:
npx bmad-**method**@**alpha** **install**
安装过程中,会对一些问题进行询问,如扩展模块,通用设置。若是仅安装Core模块,此时目录下会多出以下文件:
project/
├── _bmad/ # BMAD主目录
│ ├── _config/ # 配置和自定义文件
│ │ ├── agents/ # Agent自定义文件 包含agent所拥有的提示词或记忆指针 会随着项目推进逐渐丰富
│ │ │ ├── dev.customize.yaml
│ │ │ ├── pm.customize.yaml
│ │ │ └── analyst.customize.yaml
│ │ ├── manifest.yaml # 本次BMAD的安装清单
│ │ └── files-manifest.csv # 文件跟踪 如agent列表,任务列表
│ ├── _memory/ # Agent记忆系统
│ │ └── agent-sidecar/ # 各agent的持久化记忆
│ ├── core/ # 核心模块(始终安装)
│ │ ├── agents/ # 核心agents 会随着项目工程的推进逐渐增加
│ │ │ ├── bmad-master.md
│ │ │ └── ...
│ │ ├── workflows/ # 核心工作流
│ │ │ ├── party-mode/ # 角色扮演,用于分析与规划
│ │ │ ├── brainstorm/ # 将新想法变为明确需求
│ │ │ └── advanced-elicitation/
│ │ └── config.yaml # 核心配置 即安装时询问的问题
├── _bmad-output/ # 生成的工作产物
│ ├── planning-artifacts/ # 规划文档
│ │ ├── PRD.md
│ │ ├── architecture.md
│ │ ├── epics/ # 整体目标
│ │ └── stories/ # 将epics拆分后,带有验收标准的故事
│ └── implementation/ # 实现产物
│ ├── sprint-status.yaml
│ └── bmm-workflow-status.yaml # 跟踪工作流状态
└── .claude/ # VibeCoding的自定义命令的相应配置,以CC为例
└── commands/
└── bmad/
├── bmm/
│ ├── agents/
│ └── workflows/
└── core/
USE
在VibeCoding中使用 /bmad 然后选择一个agent。
可以先选择主agent即master agent,将模型代入角色。需要手动选择模式如:
- 三段式头脑风暴确定想法与实际需求
- 多人协作开发
特色
多Agent协作:
- agent创建:会根据需求生成不同的agent(md)。每个agent都有明确的专业领域,如分析师,pm,架构师,开发也会分为多个不同领域的agent
- 协作规划:agent之间相互配合,逐步完善项目规划
- 详细输出:产生PRD和架构文档,并且工作流执行过程可跟踪
上下文工程:
- 智能故事生成:Scrum Master将规划转化为包含完整上下文的开发故事
- 嵌入式知识:每个故事文件包含实现所需的所有信息
- 无缝交接:开发角色打开故事即可知道要做什么、怎么做、为什么做
总结与对比
以上SDD工具均通过内置或安装命令,为当前目录注入AI辅助开发的自定义命令集,使用方式与SKILL类似,可通过直接命令或语义相近的短语触发功能。
openspec
- 核心定位:以单次开发或修复为单位,生成、整理并跟踪相关开发规范。
- 侧重点:强调对已知目的和需求的约束,注重规范(spec)本身的创建与遵循。
- 适用场景:适用于小规模功能开发、Bug修复等目标明确、范围受限的任务。
- 注意事项:由于其强调约束与跟踪,在需要快速验证想法的原型构建阶段可能显得繁琐,导致过度设计。
spec-kit
- 核心定位:与openspec理念相似,但更侧重于项目初始化阶段的规范生成与管理。
- 侧重点:同样是规范(spec)本身,为项目奠定结构与约束基础。
- 适用场景:更适合用于新项目的起步与搭建阶段。
- 注意事项:与openspec相同,不适用于追求速度和灵活性的快速原型验证场景。
bmad
- 核心定位:提供从创意到落地的完整引导式流程,涵盖头脑风暴、任务规划和并行协作。
- 侧重点:流程引导与团队协作。虽然包含约束操作,但这不是其首要设计目标。
- 适用场景:适用于从模糊想法开始,需要逐步梳理并转化为具体开发任务的全过程。
- 注意事项:其价值在于流程引导,而非严格的规范强制执行。
对比总结
- openspec 与 spec-kit:更关注对已知目标的“约束”与“规范”,适合规范性要求高的开发环节。
- bmad:更关注从想法到任务的“流程”与“协作”,适合探索性、需要规划的设计与开发初期。
- 共同点:均通过自定义命令集成AI能力,提升开发过程的效率与结构化程度。
选择场景
- 需要进行快速原型验证或探索性编程时,上述工具可能引入不必要的约束,需谨慎评估。
- 在目标明确的缺陷修复、小型功能开发时,可考虑使用 openspec。
- 在启动一个新项目,需要建立初始开发规范时,可考虑使用 spec-kit。
- 当从一个初步想法开始,需要系统性地进行头脑风暴、任务分解和协作规划时,可考虑使用 bmad。
相似工具
- oh-my-opencode
- SuperPowers
更多推荐



所有评论(0)