Vibe Coding - Claude Code 做 Java 项目 AI 结对编程最佳实践

Vibe Coding - Claude Code 做 Java 项目 AI 结对编程最佳实践

文章目录

在这里插入图片描述

概述

在 Java 项目里引入大模型做「结对编程」,很多团队的实际体验是:刚上手很惊艳,用久了却发现不稳定、可控性差、难以团队化复用。Claude Code + Developer Kit 提供了一条更工程化的路线:把「AI 搭档」从一次性聊天,升级为可配置、可复用、可编排的一套技能(skills)、代理(agents)与命令(commands),专门面向 Java / Spring Boot 开发。

接下来我将从实践视角出发,系统介绍如何用 Claude Code 和这个 Developer Kit 搭建一套 Java 项目 AI 结对编程工作流,包括安装、常见开发任务示例(CRUD、测试、重构、代码审查)、团队协作与长任务管理等。所有示例都基于开源的 Developer Kit 仓库,可直接在你的 Spring Boot 项目中落地。


一、Claude Code + Developer Kit 是什么

1. Claude Code:类 IDE 的 AI 开发伴侣

Claude Code 可以理解为一个「贴在代码编辑器旁边的大模型开发助手」,既可以通过 CLI、桌面应用,也可以挂到 IDE/编辑器环境中,用于理解代码、生成实现、调试和重构。

与传统 Chat 窗口不同的是,Claude Code 更接近开发工具:

  • 能直接访问你的项目文件和目录结构。
  • 可以结合上下文对整个代码库进行分析,而不是只看单个片段。
  • 支持通过「技能 / 插件」扩展其能力。

2. Developer Kit:给 Claude 装上一整套 Java 技能包

Developer Kit for Claude Code 是一个针对 Claude 的「开发插件包」,核心目标是教会 Claude 如何以可重复的方式执行各种开发任务。

它包含:

  • 50+ Skills:覆盖 Spring Boot、JUnit 测试、LangChain4J、AWS Java、前后端开发等,都是用 SKILL.md 定义的可重用开发模式。
  • 20+ Agents:比如 spring-boot-code-review-expert, java-security-expert, langchain4j-ai-development-expert,封装为专门角色的「AI 专家」。
  • 30+ Commands:例如 /devkit.java.code-review/devkit.java.write-unit-tests/devkit.java.generate-crud,是一整套可执行的开发工作流命令。

在 Claude Code 里安装 Developer Kit 后,你就相当于给 Claude 配了一套「Java 团队标准开发套路」:

  • Claude 会自动加载对应技能(Spring Boot、测试、RAG 等)。
  • 你可以直接调用命令,让 Claude 按预设流程完成某类任务。
  • 团队可以通过 .claude 目录共享这些配置,实现统一的 AI 结对体验。

二、快速上手:把 Developer Kit 装进你的 Java 项目

1. 安装到本机 / CLI 环境

Developer Kit 支持在多种 CLI 工具中安装(Claude Code CLI、GitHub Copilot CLI、OpenCode CLI、Codex CLI),并通过统一的 Makefile 管理。

典型安装流程如下(以本地克隆为例):

# 克隆仓库git clone https://github.com/giuseppe-trisciuoglio/developer-kit.git cd developer-kit-claude-code # 查看可用安装目标makehelp# 为所有已检测到的 CLI 工具安装makeinstall

如果只用 GitHub Copilot CLI 或 OpenCode CLI,可分别执行:

make install-copilot # 安装到 GitHub Copilot CLImake install-opencode # 安装到 OpenCode CLImake install-codex # 安装到 Codex CLI

Makefile 还提供了状态查看、备份与卸载能力:

make status # 查看安装状态make backup # 安装前创建备份make uninstall # 卸载所有 Developer Kit 安装

2. 安装到具体的 Java 项目(重点)

对「AI 结对编程」来说,更关键的是把技能和命令直接装进某个 Java 项目,并随着代码一起版本管理。

Developer Kit 提供了一个交互式安装流程:

git clone https://github.com/giuseppe-trisciuoglio/developer-kit.git cd developer-kit-claude-code # 启动交互式安装到 Claude Code 环境make install-claude 

交互过程会引导你:

  • 指定项目路径(例如 ~/projects/my-spring-project)。
  • 选择技能类别(如 Spring Boot Skills、JUnit Test Skills、LangChain4J Skills)。
  • 选择要安装的 agents(如 java-security-expert, java-documentation-specialist)。
  • 是否安装全部 commands。

完成后,项目中会多出一个 .claude 目录:

my-spring-project/ ├── src/ ├── pom.xml └── .claude/ ├── skills/ │ ├── spring-boot-actuator/ │ ├── spring-boot-crud-patterns/ │ └── ... ├── agents/ │ ├── java-documentation-specialist.md │ ├── spring-boot-code-review-expert.md │ └── ... └── commands/ ├── devkit.java.code-review.md ├── devkit.java.write-unit-tests.md └── ... 

.claude 加入 Git 后,整个团队打开这个项目时,Claude Code 就会自动拥有同样的一套技能与命令。


三、日常开发:Claude 作为 Java 结对编程伙伴

下面以几个典型场景为例,展示如何用 Claude Code + Developer Kit 做 AI 结对编程。

1. 从领域模型到完整 CRUD(API + Service + Repository)

Developer Kit 提供了一个非常实用的命令:/devkit.java.generate-crud

使用场景:你已经设计好了一个领域类(例如 User),希望快速生成:

  • REST Controller(带分页、错误处理)。
  • Service 层(包含业务逻辑骨架)。
  • Repository 接口(基于 Spring Data JPA)。
  • DTO / Mapper。

在 Claude Code 中打开你的项目,选中或粘贴你的领域类定义,然后调用:

/devkit.java.generate-crud 

命令会利用 spring-boot-crud-patterns 等技能:

  • 按约定的 REST 标准生成接口(路径、HTTP 动词、分页参数等)。
  • 使用 DDD 风格的结构(比如 feature-based 目录布局)。
  • 搭配 JUnit 测试技能,为生成的代码添加基础测试用例。

你可以把它理解为:把项目的 CRUD 模式教给 Claude,让它按统一套路批量生成

2. 自动化单元测试与集成测试

Testing 是 AI 结对编程的高频场景,尤其在 Java / Spring 项目中。Developer Kit 在 JUnit 部分提供了一整套 Skill 与 Command 组合。

常用命令包括:

  • /devkit.java.write-unit-tests:为选中的 Java 类生成 JUnit5 单元测试(配合 Mockito、AssertJ)。
  • /devkit.java.write-integration-tests:基于 Spring Boot + Testcontainers 生成集成测试。

典型用法:

  1. 在 Claude Code 中打开你的 Service 类,例如 OrderService
  2. 选中文件内容或指定文件路径。

运行:

/devkit.java.write-unit-tests 

命令会利用一系列 unit-test-* skill,例如 unit-test-service-layer, unit-test-security-authorization, unit-test-caching 等,对应不同层面和功能的测试模式。

生成的测试通常会包含:

  • 合理的 Arrange / Act / Assert 结构。
  • 对异常场景和边界条件的覆盖。
  • 使用 Mock 对外部依赖进行隔离。

你可以在此基础上进行人工审查和微调,把 Claude 当作一个「很熟悉测试模式的结对伙伴」。

3. 代码审查与架构评审

在日常 Code Review 中,Claude 可以扮演一个「永不疲惫的高级 Reviewer」。Developer Kit 为 Java / Spring Boot 准备了多个专门的 agent 与命令。

常见组合:

  • Agent:spring-boot-code-review-expert, java-software-architect-review, java-security-expert
  • 命令:/devkit.java.code-review, /devkit.java.security-review, /devkit.java.architect-review

使用方式:

  1. 在 Claude Code 里打开你想审查的文件 / 目录。
  2. 如果是 GitHub PR,也可以用 /devkit.github.review-pr 直接审查 Pull Request(包括安全、性能、架构、测试等维度)。

运行:

/devkit.java.code-review 

Claude 会基于技能中定义的模式(例如 Spring Boot REST 标准、Resilience4j 断路、JWT 安全配置)进行系统化审查,并给出:

  • 问题列表(例如资源泄露、错误的事务边界、不一致的错误处理)。
  • 建议修改方案或完整补丁。

团队可以把这一套当作「第一轮自动 Code Review」,再由人类 Reviewer 做第二轮把关。

4. 安全审计与依赖升级

安全和依赖管理也是适合 AI 帮忙的场景。Developer Kit 专门提供了安全相关命令:

  • /devkit.java.security-review:针对 Java / Spring Boot 的安全审计(包括 OWASP、配置风险等)。
  • /devkit.java.dependency-audit:扫描依赖漏洞、许可证问题,并给出升级建议。
  • /devkit.java.upgrade-dependencies:生成安全升级方案(包含兼容性测试和回滚策略)。

使用方式类似代码审查:在 Claude Code 中打开 pom.xml 及关键配置文件,然后执行对应命令,让 Claude 给出报告和步骤。


四、让 Claude 真正融入团队:共享 .claude 与长任务管理

1. 团队共享:把 AI 习惯写进仓库

Developer Kit 设计了一个非常关键的机制:本地项目安装 + Git 共享 .claude 目录

团队落地建议:

  • 在项目根目录执行一次 make install-claude,选择项目需要的技能和代理。
  • 确保 .claude 被纳入版本控制(不要忽略掉)。
  • 在团队 Onboarding 文档中,明确要求开发者在项目目录下启动 Claude Code。

这样,新成员只要:

git clone your-repo cd your-repo # 打开 Claude Code

就会拥有:

  • 同样的 Spring Boot / 测试 / LangChain4J 等技能配置。
  • 一致的 /devkit.java.* 命令集合。
  • 相同的 code review 和架构评审标准。

这相当于给团队配了一套「AI 开发规范」:Claude 不再是个人的 ad-hoc 助手,而是整个团队共享的一套工程化能力。

2. 长任务与版本演进:LRA 工作流

实际项目中,很多任务是跨多天、多次会话完成的。Developer Kit 引入了 Long-Running Agent (LRA) 命令集,用于管理跨会话的长期开发任务。

关键命令包括:

  • /devkit.lra.init:初始化 LRA 环境(特性列表、进度追踪、初始化脚本等)。
  • /devkit.lra.start-session:每次编码会话开始时,从现有状态恢复上下文、选择下一待办特性。
  • /devkit.lra.add-feature / mark-feature:在开发过程中不断更新需求与完成状态。
  • /devkit.lra.checkpoint:会话结束时做一次「检查点」,整理变更、更新日志、确保仓库处于干净状态。

配合 Spec Kit 命令(如 /speckit.tasks, /speckit.check-integration, /speckit.verify),可以让 Claude 扮演「项目执行协调者」而不是仅仅写代码的小助手。


五、在 Java 项目中落地的推荐步骤

如果你想系统地在 Java 团队中引入 Claude 结对编程,可以考虑按以下步骤推进:

  1. 试点仓库
    • 选择一个中等规模的 Spring Boot 项目作为试点。
    • 安装 Developer Kit 到项目根目录(make install-claude),只勾选 Spring Boot + JUnit + LangChain4J 相关技能。
  2. 定义使用场景
    • 约定几类优先使用 AI 的任务:
      • CRUD 生成;
      • 单元/集成测试生成;
      • Code Review 初筛;
      • 安全审计与依赖检查。
  3. 规范化命令与 Agent 使用
    • 在团队文档中列出常用命令及推荐用法(例如:提交 PR 前必须至少跑一次 /devkit.java.code-review)。
    • 指定推荐的 agent(如 spring-boot-code-review-expert, java-security-expert)。
  4. 建立反馈与改进循环
    • 在 Code Review 中记录 Claude 输出的问题与不足,逐步调整技能与提示。
    • 结合 /devkit.verify-skill 命令,编写团队自定义技能(如项目特定的 API 规范、日志规范等)。
  5. 扩展到更多领域
    • 当 Java 侧稳定后,可以继续启用 React、NestJS、AWS Java 等技能,让 Claude 覆盖全栈场景。

六、小结

单纯的「让大模型帮我写点 Java 代码」已经不能满足工程团队的需求。真正有价值的 AI 结对编程,必须满足几个条件:

  • 懂技术栈的最佳实践(
  • 懂项目自身的结构与团队约定。
  • 行为可被配置、可被复用、可被团队协作。

Claude Code + Developer Kit 的组合,正是把这三点整合在一起:

  • 用丰富的 Skills 建模技术和领域知识。
  • 用 Agents 抽象不同角色的 AI 专家。
  • 用 Commands 和 LRA/Spec Kit 管理完整的开发流程与长任务。

如果你正在做 Java / Spring Boot 项目,不妨从给自己的仓库装上 .claude 开始,让 Claude 逐步从「聪明的聊天助手」成长为「真正懂你项目的 AI 结对程序员」。

在这里插入图片描述

Read more

Flutter 三方库 obs_websocket 的鸿蒙化适配指南 - 掌控远程直播导播、WebSocket 通讯实战、鸿蒙级直播中控专家

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 obs_websocket 的鸿蒙化适配指南 - 掌控远程直播导播、WebSocket 通讯实战、鸿蒙级直播中控专家 在鸿蒙跨平台应用处理专业级直播流控、远程导播指令或是构建自定义的直播中控台时,如何与业界标准的 OBS Studio 实现高效、实时的双向交互是关键。如果你追求的是在鸿蒙平板上一键切换场景、调整滤镜或监控直播帧率。今天我们要深度解析的 obs_websocket——一个完全基于 obs-websocket 协议构建的专业级客户端库,正是帮你打造“掌上导播间”的核心引擎。 前言 obs_websocket 是一套成熟的远程控制方案。它通过 WebSocket 隧道,将复杂的导播操作抽象为结构化的 JSON 指令。在鸿蒙端项目中,利用它你可以实现与直播机位(OBS 端)的深度联动,无论是实时获取推流状态,还是动态修改文字源内容,

By Ne0inhk

Flutter 三方库 super_dates 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致、强类型、更优雅的 DateTime 增强与时间逻辑审计引擎

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 super_dates 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致、强类型、更优雅的 DateTime 增强与时间逻辑审计引擎 在鸿蒙(OpenHarmony)系统的日程管理、精密任务调度(如鸿蒙版闹钟/日历)、理财工具或带有复杂时间区间(Periods)计算的应用中,如何摆脱标准 DateTime 库中那些模糊的整数偏移,转而使用语义明确、强类型保障的现代日期 API?super_dates 为开发者提供了一套工业级的、基于 Extension 的 DateTime 深度增强方案。本文将深入实战其在鸿蒙时间维度逻辑层中的应用。 前言 什么是 SuperDates?它不是一个替代 DateTime 的庞大框架,而是对 Dart 原生时间类的一次“极致外科手术级”

By Ne0inhk
【Linux/C++多线程篇(二) 】给线程装上“红绿灯”:通俗易懂的同步互斥机制讲解 & C++ 11下的多线程

【Linux/C++多线程篇(二) 】给线程装上“红绿灯”:通俗易懂的同步互斥机制讲解 & C++ 11下的多线程

⭐️在这个怀疑的年代,我们依然需要信仰。 个人主页:YYYing. ⭐️Linux/C++进阶系列专栏:【从零开始的linux/c++进阶编程】 系列上期内容:【Linux/C++多线程篇(一) 】多线程编程入门 系列下期内容:【Linux/C++网络篇(一) 】网络编程入门 目录 前言:当多线程遇上“交通混乱” 线程的同步互斥机制 一、为什么需要同步互斥? 二、线程互斥之互斥锁 2.1、互斥锁的相关API函数接口  📖 创建一个互斥锁  📖 初始化互斥锁 📖 获取锁资源 📖 释放锁资源 📖 销毁互斥锁 2.2、互斥锁的小练习 三、线程同步之无名信号量 3.1、无名信号量的相关API函数接口  📖 创建无名信号量  📖 初始化无名信号量  📖 申请无名信号量的资源(

By Ne0inhk
Flutter 三方库 ktc_dart 的鸿蒙化适配指南 - 连接 KTC 教育平台 API、实现课表同步、成绩查询与学生端核心功能

Flutter 三方库 ktc_dart 的鸿蒙化适配指南 - 连接 KTC 教育平台 API、实现课表同步、成绩查询与学生端核心功能

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 ktc_dart 的鸿蒙化适配指南 - 连接 KTC 教育平台 API、实现课表同步、成绩查询与学生端核心功能 前言 在针对校园场景的 Flutter for OpenHarmony 开发中,对接教务系统是学生端应用的核心。ktc_dart 是一个专门为 KTC(Kindle To College)及其关联教务平台设计的 Dart SDK。它封装了登录鉴权、课表拉取、成绩结算等核心业务逻辑。本文将探讨如何在鸿蒙系统下利用该库构建一个流畅、便捷的智慧校园助手。 一、原理解析 / 概念介绍 1.1 基础原理 ktc_dart 本质上是一个遵循 KTC 协议的客户端库。

By Ne0inhk