Skip to content

AI 协作开发 ​

本页适用于使用 Codex、Claude Code 等工具阅读和修改 Java 源码。它与产品内的 AI 对话助手不同,不会自动赋予 AI 数据库、服务器或支付操作权限。

先让 AI 读取哪些文件 ​

在 Java 仓库根目录开始:

  1. AGENTS.md:架构边界、契约、安全与验证规则。
  2. PRODUCT.md:已提供的能力和明确不包含的范围。
  3. README.md:当前启动与部署方式。
  4. docs/guides/project-structure.md 与任务对应主题。
  5. 实际 Controller、DTO/VO、Service、Mapper/XML、迁移及测试。

官网适合建立路径,源码决定精确字段与行为。向 AI 提供与当前发布版本对应的文档;修改前检查 git status,保留已有工作。

一个可以直接开始的排错任务 ​

例如遇到“Docker 已启动,但 Java 连不上数据库”,先提供环境、错误和运行方式,让 AI 检查启动配置,而不是先要求它修改数据库代码:

text
我在本机通过 VS Code 的“Java 后端(本地开发)”启动。
MySQL/Redis 使用 sh scripts/deploy.sh dev,错误为【粘贴脱敏的异常】。
请只读检查 launch.json、启动脚本和配置加载规则,先确定实际使用的主机与端口。
不要输出配置中的密码,不要清空数据或重建数据库。
请给出原因、需要修改的位置以及确认修复的方法。

得到原因后再决定修改范围。涉及客户服务器、真实付款或数据库维护时,明确可操作的环境和数据,避免把开发环境步骤直接用于生产。

项目技能 ​

仓库 skills/ 是 Java 技能的唯一源目录,其他工具目录链接到这里。

技能任务
art-java-dev定位代码和选择验证入口
art-java-feature新增或扩展业务
art-java-api-contract核对共享前端与 Java 接口
art-java-refactor保持行为的职责整理
art-java-review审查 Java 改动

不要求每个小任务依次执行全部技能。根据问题选相关入口,不将技能文件当作忽略用户当前范围的理由。

可直接改写的任务模板 ​

新增业务 ​

text
在当前 Java 后端新增【业务用例】,使用角色【角色】。
先阅读 AGENTS.md、PRODUCT.md,以及【参考域】的 Controller → Service → Mapper/XML 和测试。
接口输入/输出为【约定】,状态变化为【规则】,数据范围为【范围】。
仅修改【仓库/目录】,共享前端只读用于核对契约。
保持现有响应、分页、日期、错误与权限约定,新增 Flyway 迁移。
完成后说明变更、配置/使用方式、实际验证和未验证部分。

定位缺陷 ​

text
版本/运行方式:【填写】;复现操作:【填写】。
接口:【方法与路径】;HTTP/业务码:【填写】;脱敏错误:【填写】。
预期:【填写】;实际:【填写】。
先沿调用链和相关测试确认原因,不清库、不更换客户密钥。
仅修复该问题,覆盖触发场景与关键拒绝边界。

保持行为的重构 ​

text
只整理【职责范围】,保留接口、字段、错误顺序、默认值、集合语义、事务和锁顺序。
先列真实调用方与回归入口;不改变权限、缓存失效和外部调用时机。
发现业务疑点先记录,不顺带改规则。

验证如何选择 ​

以下命令在 Java 根目录运行,Windows 替换 Maven Wrapper 命令。

bash
# 业务模块及依赖单元测试
./mvnw -pl art-modules/art-system -am test

# 全仓测试,包含契约/架构和默认 H2 引擎用例
./mvnw test

# 格式和静态质量检查
./mvnw spotless:check checkstyle:check pmd:check

# 真实依赖与 HTTP 隔离集成验证
node scripts/integration.mjs clean

普通单元测试使用 -Dtest 选择,Failsafe 集成测试使用 -Dit.test,不能混用。脚本创建一次性 MySQL/Redis/MinIO;不把 integration-tests profile 指向客户库或共享开发库。

任务只改文档时检查事实、链接、命令和 diff,无需重跑数据库测试。涉及 SQL、锁、迁移、完整认证或存储时,单元/H2 通过不能替代对应真实依赖验证。

具备同级前端和相应 Node 依赖时,check-identity.mjs、check-file.mjs、check-workflow.mjs、check-mall.mjs 可只读核对契约。客户不具备这些参考仓库也能正常启动和构建 Java。

评审 AI 产出 ​

检查它是否读过真实调用方,是否保留客户已有改动;新接口是否补齐权限,迁移是否新增;是否用业务模型隔离 HTTP/Mapper;事务和缓存时机是否保持;是否区分模拟验证与真实部署。

不接受“编译通过所以支付可上线”“超级管理员能访问所以权限完成”“加了事务所以云存储可回滚”等结论。完成说明应列实际执行的验证及限制,不引用历史通过记录冒充本次结果。

根据 MIT 许可证发布