claude code+openspec开发java代码基本流程

0️⃣ 准备:一次装好,终身可用

# 1. 装 Node ≥20
node -v                      # 出现 v22+ 就行# 2. 装 OpenSpec(规范驱动)
npm i -g @fission-ai/openspec@latest# 3. 装 Claude Code(AI 编码)
npm i -g claude-code@latest

1️⃣ 需求阶段:写 1 句话 → 自动生成 feature

# 进入你的 Maven/Gradle 项目根目录
cd my-java-project# 初始化 OpenSpec(一路回车即可)
openspec init                # 选 Claude Code,让它帮你写 project.md# 写需求(用大白话也行)
echo "用户登录:输入正确账号密码能进首页" > login.req# 1 条命令:需求 → proposal.md + tasks.md + xxx.feature
claude-code --prompt "请把 login.req 转成 BDD 场景,输出到 src/bdd/resources/login.feature"

✅ 完成后你会看到:

  • openspec/changes/login/proposal.md(需求说明)
  • src/bdd/resources/login.feature(Given/When/Then 场景,直接能跑)

2️⃣ 实现阶段:AI 读场景 → 生成代码 + 单测

# 让 Claude 先读 feature 再写代码(TDD 模式)
claude-code --prompt "按 login.feature 生成:1. StepDefinition 文件2. 对应的 LoginPage/LoginService 代码3. JUnit5 单元测试4. 确保 mvn test 能直接通过"

⚠️ 它会问你是否写入,回车 3 次即可。
生成后目录示例:

src/test/java/steps/LoginStepDef.java  
src/main/java/service/LoginService.java  
src/test/java/service/LoginServiceTest.java

3️⃣ 验收阶段:跑测试 → 出 Allure 漂亮报告

# 跑一次(并行+报告)
mvn test -Dcucumber.features=src/bdd/resources \-Dcucumber.plugin=io.qameta.allure.cucumber7jvm.AllureCucumber7Jvm \-Dcucumber.execution.parallel.enabled=true# 2 秒后看报告
mvn allure:serve

浏览器自动打开,产品经理也能看懂每条场景红/绿。


4️⃣ 归档阶段:一键封存,随时回滚

# 把「需求+代码+测试+报告」一起打 Tag
openspec archive login --yes# 想看历史
openspec list archive

以后出问题,直接 git checkout v2025-11-03-login 就能回到当时的「三源合一」状态。


5️⃣ 常用 12 行命令速查表

目的 复制即用
初始化 openspec init
写需求 echo "描述" > xxx.req
需求→feature claude-code --prompt "把 xxx.req 转成 feature"
场景→代码 claude-code --prompt "按 xxx.feature 生成 StepDef+业务代码+单测"
本地跑 mvn test -Dcucumber.features=xxx
看报告 mvn allure:serve
归档 openspec archive xxx --yes

6️⃣ 小白常问的 3 个问题

  1. 不会写 Maven?
    用 Spring Initializr 选 Web + JUnit5 即可,其余命令照抄。
  2. 不会写需求?
    把产品经理的原话粘进 .req 文件,AI 会帮你润色成规范。
  3. 怕把代码搞坏?
    全程在 Git 分支里玩,随时 git restore . 回退。

🎉 恭喜你!10 分钟已经体验了一遍「规范驱动开发」:
需求一句话 → AI 帮你写场景 → AI 帮你写代码 → CI 出报告 → 一键归档。
下次只要换一行需求描述,剩下的再跑一遍脚本即可。