AI 编程-老项目改造篇

项目的五张图

  • 项目架构图
  • 内部模块图
  • 外部依赖图
  • REST 接口清单
  • 数据模型ER图

架构图

读一下这个项目的 REAME 和顶层目录,给我画一张架构图。前端、后端、数据库、中间件分层画,核心模块写一句话职责。周边基础设施(日志、监控、配置)用一个方框概况就行,不用展开。保存到 docs/architecture.svg。生成svg后检查打开看下是否报错,如果报错修复下。

模块图

看一下项目的 pom.xml,画一张内部模块依赖图。只画项目自己的模块,外部库不画。有循环依赖用红色标出来。保存到 docs/module-deps.svg。。生成svg后检查打开看下是否报错,如果报错修复下。

依赖图

综合看 pom.xml、application.yml 和 REAME,帮我梳理这个项目。对外依赖了什么,分成三类:关键 Java 依赖、中间件、外部 API。画出来,每类用不同颜色。保存到 docs/external-deps.svg。生成svg后检查打开看下是否报错,如果报错修复下。

REST 接口清单

扫一下这个下项目所有的 Controller,给我整理一份 REST 接口清单。每个接口列出方法(GET/POST 等)、路径、一句话说明、主要入参、返回结构。按模块分组。保存到 docs/api-list.md。

数据模型

看项目的 entity 类、DTO、数据库建表 SQL,给我梳理核心数据模型。每个模型列出字段、类型、一句话说明。标出主键、外键、枚举值。关键模型之间的关系画一张简单的 ER 图。保存到 docs/data-model.md 和 docs/data-model-er.svg。

根据docs/ 里的五份资产,生成 CLAUDE.md

读 docs/ 下的所有资产,给我生成一份 CLAUDE.md 初稿。 精简:项目定位、核心架构、关键模块、关键约定、怎么跑,外加两节空着的:禁区、历史包袱。架构图、接口清单、数据模型的详细内容不要复制进来,用链接指向 docs/ 就好。保存到项目根目录的 CLAUDE.md

  • 禁区写什么:哪些代码动不得、哪些字段有对接方依赖、哪些配置改了会出事。
  • 历史包袱写什么:项目里看起来奇怪但有原因的东西。

老项目的SKILL

改造前体检、PR 前检查、文档同步、新增接口前对齐,这些每次改造都要走一遍的流程。它们不是常识、是操作,应该归为SKILL。

怎么判断一件事值不值得写成 SKILL?

三个特征判断法:

  • 可复制。同样的动作序列会被反复执行。
  • 可参数化。只有几个变量在变,骨架是同一个。比如"新增一个接口"的流程:具体接口名不一样、入参出参不一样,但流程是一样的(先看 docs/api-list.md 里现有接口的路径规范、再看 data-model.md 里相关实体、再写实现、再补测试、再回头更新接口清单)。
  • 可自动化。动作序列有明确的起点和终点。起点:触发信号清晰;终点:产出物明确。

老项目里四类流程

  • 技术文档自动更新。docs/ 里的接口清单、数据模型、架构图,代码每次改动都让其中某一份漂移。如果不主动同步,三份资产慢慢就和真实代码对不上了,半年后整个 docs/ 没人敢相信,最后变成"代码即文档"。
  • 改造前体检。动手改代码前至少要确认:当前测试是不是绿的、编译是不是通过、依赖的中间件是不是连得上。每次改造前都要跑一次。
  • PR 前检查。提 PR 前的固定 checklist:测试跑过、格式化过、changelog 更新了、相关文档改了、找谁 review。团队有明确 checklist 的项目,这件事零变化地反复执行。
  • 新增接口前对齐。加一个新接口前,先看现有接口的路径风格、统一响应格式、错误码规则。对齐完再写,不然每个人加出来的接口各自为政

让 AI 生成SKILL

步骤一,AI 分析项目重复流程

扫一下当前项目(包括 git log、CLAUDE.md、docs/、README、CONTRIBUTING、.github/),找出团队反复在做的操作流程。判断标准是三特征:可复制、可参数化、可自动化。三个都满足才算值得做 SKILL 的候选。把找到的候选列出来,每个写明:流程名、为什么是反复的、能参数化的部分是什么、起点和终点是什么。最后给我用一个表格总结。

步骤二,让 AI 出 Top 3 推荐

从上面的清单里挑 3 个最高优先级的,给我做成候选 SKILL。每个候选写:name(英文)、description、预期 steps、allowed-tools。优先级判断标准:频率高、痛点深、自动化收益大。用表格总结,包含类型和理由。

步骤三,让 AI 生成完整的 CRUD SKILL

生成代码中 CRUD 的 SKILL。注意按照标准格式和放在标准目录。结果放到 .claude/skills/generate-crud/SKILL.md。

步骤四,生成技术文档自动更新的 SKILL

基于上面的候选,给我生成完整的 SKILL.md。要求:- 名字 docs-auto-sync- description 写清楚什么场景触发、产出是什么- steps 清晰可执行- allowed-tools 限制到最小- 重要:只汇报不一致的地方,不要自动改文件,让人决定怎么处理保存到 .claude/skills/docs-auto-sync/SKILL.md。

步骤五,测试 SKILL 真的能被触发

  • 测试一,说一句应该匹配的话:"我刚改完一批 Controller,帮我看看文档还对不对得上"。Claude Code 应该自动加载 docs-auto-sync 并按步骤跑。
  • 测试二,说一句故意不匹配的话:"帮我检查一下这段代码"。这句话和文档同步无关,SKILL 不应该被加载。

环境搭建

  • 传统步骤:分析依赖、装中间件、编译启动、冒烟接口、摸清测试、必要时补出兜底测试。
  • AI 四步走:依赖盘点 → 本地安装 + 启停管理 → 编译启动 → 接口冒烟。

Step 1:依赖盘点

综合看 docs/external-deps.svg、application*.yml、pom.xml、README,给我列一份这个项目运行需要的完整外部依赖清单。每个依赖列出:名字、版本要求(精确到主版本)、默认端口、连接信息、初始化要求(建库、配 Nacos 命名空间等)。保存到 docs/env-checklist.md。

相关推荐
swipe5 小时前
从 0 到 1 实现大文件上传:分片、秒传、断点续传、暂停、重试与服务端合并
前端·javascript·面试
爱勇宝5 小时前
我做了一个只用来搜歌词的小 App
android·前端·后端
甲维斯5 小时前
用AI还原《坦克大战》并3D化升级!
前端·人工智能·游戏开发
IT_陈寒6 小时前
SpringBoot自动配置坑了我一晚上,原来问题出在这
前端·人工智能·后端
SelectDB6 小时前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
kyriewen6 小时前
AI 生成的代码能跑就行?这 5 个坑迟早炸
前端·javascript·ai编程
SelectDB6 小时前
秒级弹性、最高降本 70%:SelectDB Serverless 如何重塑云数仓资源效率
大数据·后端·云原生
程序猿大帅7 小时前
别再只当调包侠了:用 Spring AI 落地 Function Calling,我被大模型硬生生砸出了三个大坑
java
PinkSun7 小时前
Spring AI ChatMemory踩坑实录:重启丢数据、Agent丢记忆、对话溢出
后端·ai编程