前言

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 文件,该文件需要:

  1. 元数据(必需):

    • name: skill 的唯一标识符(小写字母、数字和连字符)
      • 技能名称必须匹配目录名!
    • description: skill 功能的完整描述和使用时机
    ---  
    name: skill-name  
    description: 技能描述(1-1024字符)  
    license: MIT          # 可选  
    compatibility: opencode # 可选  
    metadata:             # 可选  
      audience: maintainers  
    ---
    
  2. 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 支持多个配置位置,按优先级加载:

  1. 项目配置 - 项目根目录的 opencode.json(优先级最高)
  2. 全局配置 - ~/.config/opencode/opencode.json
  3. 自定义路径 - 通过 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

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
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐