Skip to content

Claude Code 实战:我用它维护一个五系统的项目目录 ​

更新日期:2026-09-29 | 使用时长:30+ 天真实项目 | 适用版本:Claude Code 最新稳定版

大部分 Claude Code 教程教你写一个待办应用。但真实世界的难题不在这里——在于跨技术栈、跨仓库、还要面对生产环境的旧系统。

这篇文章记录我用 Claude Code 维护一个真实项目目录 30 多天的经验:它改变了什么、踩过哪些坑、以及给准备上手的人的建议。

项目背景 ​

我的工作目录下有 5 个系统:

系统技术栈说明
电商/知识付费系统 AThinkPHP 5.0 + PHP 7.1传统 MVC,代码量大
网校系统 BPhalcon 3.4 + PHP 7.3C 扩展框架,需编译
网校系统 CLaravel 8 + React全栈,含 4 个子项目
微服务后端 DSpring Cloud + Java 17多模块 Maven 项目
前端 ENuxt 3 + Vue 3SSR 应用

这些系统各自独立成仓,但部署在同一台服务器上,共享数据库和缓存服务,还有复杂的域名与反向代理关系。

维护这种项目的痛点是什么?——没有任何一个人能同时精通 ThinkPHP、Phalcon、Laravel、Spring Cloud 和 Nuxt 的所有细节。

这正是 Claude Code 的价值所在。

我是怎么用的 ​

1. CLAUDE.md:让 AI 记住项目的"隐性知识" ​

Claude Code 启动时会自动读取项目根目录的 CLAUDE.md。这个文件是整个工作流的地基。

我在里面写什么:

  • 架构说明:每个系统的目录结构、端口分配、数据库归属
  • 部署纪律:哪些文件只能服务器上改(配置文件含生产密码,禁止用本地版本覆盖)
  • 踩坑记录:历史上出过的事故与修复方式
  • 业务规则:内容生产规范、跨仓协作边界

效果:AI 每次开工就先读这些规则,不需要每次重复解释"这个仓不能往 GitHub 推"、"那个配置改动是敏感操作"。

关键心得:把纪律写进 CLAUDE.md,等于给 AI 装上了团队规范。写出事故记录,AI 就不会重蹈覆辙。

2. 给 AI 立规矩:跨仓操作的边界 ​

多仓项目最大的风险是"改错仓"。我的项目里有一条纪律:代码跟随操作对象——操作哪个系统的脚本就放在哪个仓,内容数据永远只在内容仓编辑。

这条规则写进 CLAUDE.md 后,AI 在跨仓工作时会主动确认"当前在哪个仓、这次提交应该落在哪"。

3. 并行子代理:一次审查整个项目 ​

Claude Code 可以派出多个子代理并行工作。最有用的一招是全项目并行审计:

派 5 个代理并行审查:
1. 安全审计(注入、密钥、加密)
2. 运行时审计(导入、签名、异步问题)
3. 配置一致性(Docker/nginx/compose)
4. 前端正确性
5. 数据库与缓存使用

5 分钟出一份按严重级别分级的全项目报告。人工做这件事需要几天。

4. 把重复劳动脚本化 ​

运营类操作(比如通过后台 API 批量录入课程)是典型的重复劳动。让 Claude Code 写一个 Python 脚本,读结构化清单调 API 完成录入——写一次,以后每次运营只需运行脚本。

这类"一次投入、长期收益"的自动化,是 AI 编程最被低估的价值。

真实踩坑记录 ​

以下全部是真实发生的事故(细节已脱敏处理)。

坑 1:部署脚本覆盖了生产配置 ​

现象:一次常规代码部署后,网站连不上数据库。

根因:部署用的 rsync 带了 --delete,把本地仓库里过时的配置文件推到了服务器,覆盖了服务器上已更新的生产密码。

修复与纪律:现在部署脚本强制排除配置文件、编排文件等"服务器独立维护"的文件。本地仓库永远不含生产配置——这是一条用事故换来的纪律。

坑 2:日志文件属主引发的神秘 500 ​

现象:课程详情页突然全部 500,错误是"无法打开日志文件"。

根因:排查问题时,用 root 身份在容器里执行了一条会触发 SQL 日志的命令,生成的日志文件属主是 root。而网站进程以 www-data 运行,写不进 root 属主的日志文件,于是每次请求都抛异常。

修复:chown www-data 修正属主。

教训:AI 建议的生产环境命令,要看清以什么身份执行——容器里的 root 和网站进程的用户是两回事。

坑 3:改了数据库,前台毫无变化 ​

现象:直接修改数据库里的站点配置,刷新前台——纹丝不动。

根因:系统把设置缓存在 Redis 里,读取的是缓存不是数据库。改库不清缓存 = 白改。

修复:定位到具体缓存键,改完数据后清对应缓存。

教训:老系统的"改了不生效"九成是缓存问题。让 AI 帮你追代码里的缓存读写路径,比盲目重启服务高效得多。

坑 4:文档写着"已完成",实际从未跑通 ​

现象:复查一个月的项目笔记时发现,某个"已实测跑通"的功能,实际上从未真实执行过——当时的记录是基于逆向阅读源码作出的推断。

修复:重新真实执行一遍,端到端验证通过后才算数。

教训:"代码看起来对"≠"跑通了"。这个判断对 AI 和对人都成立。AI 生成的结论必须经过真实执行验证——这也是我给所有 AI 辅助工作的第一条验收标准。

我的心得 ​

AI 改变了什么 ​

  • 跨栈维护成本骤降:不需要同时精通 5 种技术栈,AI 是随叫随到的"全栈同事"
  • 知识沉淀加速:踩过的坑写进 CLAUDE.md,永久生效
  • 重复劳动归零:运营自动化从"想都不敢想"变成"半小时写个脚本"

AI 没有改变什么 ​

  • 生产判断依然在人:敏感操作(改配置、动数据)需要人把关
  • 验证责任依然在人:"AI 说完成了"不等于完成,必须可复现地验证
  • 纪律依然是核心:AI 会严格执行你写的规则,但规则本身要你来立

给准备上手的建议 ​

  1. 先写 CLAUDE.md,再让 AI 动代码——项目上下文越清晰,产出质量越高
  2. 给 AI 立明确的红线——哪些操作必须确认、哪些文件禁止触碰
  3. 一切结论可验证——要求 AI 给出验证方式,而不是"我认为可以了"

下一步 ​