夜雨聆风学习资料网

ARTICLE · 1292447

接手没文档的老项目,我让TRAE从零补起

接手没文档的老项目,我让TRAE从零补起
823个文件、零注释的老项目,我让TRAE补了四类文档。附索引重建、codemap、文档集、注释规则五步实操,和三个劝你别用的场景。
系列:TRAE 从入门到应用 · 第 16 篇

一、先分清:你要补的是四种东西

文档类型
谁读
一次成型率
我的做法
README 上手文档
明天入职的新人
高
让它写,但必须给定验收标准
模块地图 codemap
接手代码的人
高
先出这张,别的都靠它
公共 API 文档
调用方
中
只在接口要对外时写
行内注释
改代码的人
低
只补“为什么”,不补“是什么”

顺序很关键。倒着来——先让它给每个函数加注释——你会得到八百条废话,而且代码一改就过期。先出地图,再挑着写。

二、第0步:不开索引,后面全白干

存量项目最容易翻车的地方在这。@Folder 依赖项目代码索引,索引没建完,AI 拿到的项目上下文是残缺的——你问“这个模块干什么”,它答得像模像样,其实漏了三分之一文件。

去 设置 > 索引与文档 > 工作区,打开“启动自动化索引”。然后先把该排除的排除掉,不然索引里会混进一堆垃圾。在“忽略文件”处点编辑,TRAE 会在 .trae/ 下自动创建 .ignore:

**/dist**/node_modules*.log**/.env***/legacy-v1

两个注意点:.gitignore 里的内容默认就忽略;改完 .ignore 必须回索引面板点一次 Build 重建,否则新规则不生效。这步我漏过一次,它把 dist 里的编译产物当源码分析,写出来的文档全是混淆后的变量名。

三、第1步:先画地图,禁止写正文

这一轮的关键在“禁止”上:

@Folder src读这个目录下所有代码,只输出一张 Markdown 表格,四列:目录/文件、职责一句话、被谁依赖、可疑处。规则:1. 不要写任何解释性段落,不要"概述""总结"章节2. 职责必须具体到"输入什么、输出什么、副作用是什么",   禁止出现"处理数据""相关逻辑"3. 不确定的放"可疑处"列,标"未确认",不要猜

四列表格比三段概述有用得多。“被谁依赖”这列是白捡的架构图;“可疑处”这列会把它自己没读懂的地方标出来——比硬编一段解释诚实。

产出存成 docs/codemap.md,然后人工抽三个模块核对。我抽的三个里错了一个(把定时任务入口当成了普通工具函数),这个错误率可以接受,比从零读八百个文件快得多。

配图由AI生成,仅作示意参考

四、第2步:把“你团队的腔调”喂给它

它默认写“通用技术文档腔”,放你项目里就是不搭。设置 > 索引与文档 > 文档集 > 添加文档集 能治这个,两种加法限制不同:

- URL:以入口为起点,只抓同级路径或子路径下、最多三次跳转内的页面;不跨 Host,也不能高于入口路径(example.com/docs/api 抓不到 example.com/)

- 本地文件:只吃 .md 和 .txt,单文件 ≤10MB,整个文档集 ≤50MB,文件数 ≤1000

我把自己前几个项目的 README 和一份内部接口规范打包传进去,用 @Doc 引用,指令里补一句“参照已有写法:二级标题用动宾短语、命令块必须可直接复制、不写'本文将介绍'这类开场”。风格立刻从“通用 AI 腔”变成“我们组的腔”。

五、第3步:README 只写“能跑起来”

存量项目 README 的验收标准只有一条:新人照做能跑起来,不用问人。

读者:第一次接触这个项目的前端,Node 20,会 npm 但不懂业务。必须能完成:克隆→装依赖→配环境变量→起服务→看到登录页。禁止:① 任何"根据实际情况配置"这类模糊表述     ② 真实密钥、内网地址     ③ 未经验证的命令要求:命令全部用代码块可直接复制;环境变量列成表格,     写用途和示例值(假值)

“未经验证的命令”这句很关键。它会从记忆里翻出老命令写上去,比如 npm run dev:all——你项目里根本没这个 script。我这份里就有一条 cp .env.example .env 是错的,实际用的是 .env.local。

六、第4步:注释用规则文件管住

注释最容易写成噪音。规则文件可以按文件类型生效,正好治这个:.trae/rules/ 下建 comment.md,生效方式选“指定文件生效”,globs 填 src//.ts,src//.tsx。

---alwaysApply: falseglobs: src/**/*.ts,src/**/*.tsx---## 注释规范- 只写"为什么",不写"是什么";函数名说清的不写注释- 所有 export 的函数/类必须有 JSDoc:@param 写取值范围  和单位,@returns 写失败时返回什么- 业务魔数必须注明来源,如 // 网关限 200 QPS,见 OPS-1421- 禁止:// 定义变量  // 循环遍历  // TODO(除同步开 issue)

globs 多模式用英文逗号分隔,规则目录支持 3 层嵌套,大项目按模块拆开别全压一个文件。

一个反直觉的点:规则写好后建议新开对话。官方最佳实践里明确提过,历史上下文会和新规则打架;而且存量代码本身就是“坏样例”,模型容易照着旧风格写。

七、第5步:增量更新,别每次重写

文档最容易死在“写完不管”。update-docs 这个技能的思路值得抄:它维护两份参考文件——CODE-TO-DOCS-MAPPING.md(代码文件→该更新哪个文档)和 DOC-CONVENTIONS.md(文档规范),改代码时用 git diff 找出受影响的文档,只改那几段。

说实话,这技能是 vercel 写给 Next.js 仓库自己的,直接装用不上——映射表全指向 Next.js 的 docs 结构。但结构可以照搬,自己写一份,三十行就够:

| 代码变更 | 需要更新的文档 || src/api/** | docs/api.md 对应接口小节 || src/config/** | README 环境变量表 || src/core/queue/** | docs/architecture.md 消息流 |

装的位置有讲究:跨项目复用放全局 %userprofile%/.trae-cn/skills/(macOS 是 ~/.trae-cn/skills),单项目放 .trae/skills/。若技能来自 Agent Skills 生态(.agents/skills/),要在 设置 > 技能与命令 > 导入设置 打开“启用 .agents 技能目录”,同名时优先 .trae/skills/。

配图由AI生成,仅作示意参考

八、SOLO 里有个很多人不知道的文档工具

以上是“补存量”。如果你在 SOLO 模式里从需求开始做,工具面板有独立的「文档」工具(Windows Ctrl+Alt+/,macOS option+command+/),它展示产品需求文档、技术架构文档的生成过程与初稿,支持 Markdown,能手动改,也能选中一段丢回对话重写。

区别是:SOLO 的文档工具“边做边写”,产出跟着任务走;补存量只能靠读代码反推。

顺带一句:内置四个技能是 security-review、generate-mini-app、debugger、code-review——没有文档生成技能,docs.trae.cn/ide/documentation 也是 404。文档这件事得自己配:规则管风格、技能管流程、文档集管语气。

九、评分

维度
分数
说明
代码理解(大仓)
4.3
有索引可读全项目,漏读多在动态拼路径、别名导入
结构化输出
4.6
给表格模板就填表格,几乎不跑偏
风格一致性
4.0
有文档集 4.0,没有掉到 3.2
增量更新
3.7
靠自写映射表加 git diff,无内置能力
注释质量
4.2
有 globs 规则时不错,没规则就写满废话
一次成型
3.6
README 和 codemap 能用,API 文档必须人工过
综合
4.1
省掉的是读代码的时间,不是想清楚写给谁的时间

十、三个劝你别用的场景

快废弃的项目。三个月后下线的系统,补文档收益是负的——花两天写一份没人看、还要跟着代码一起进坟墓的东西。让它写五百字交接备忘就够。

要过合规审计的对外 API 文档。它会漏错误码全集,会自己编一个“建议重试”策略。这类文档每一行都要有责任人。

架构决策记录(ADR)。“当初为什么选这个队列而不是那个”,代码里没有答案,它只能编。这种只能问人。

十一、五个坑

1. 别让它把密钥写进文档。补 README 时它会“贴心地”从 .env 读出现有配置做示例。指令里写死“示例值一律假值”,.ignore 排除 .env*。

2. 索引没重建就 @Folder。改了 .ignore 要点 Build,漏了它分析的是编译产物。

3. 一次让它写全仓库。八百个文件塞一次任务,后半段质量断崖下跌还会重复段落。按模块切开,一个模块一次。

4. 注释写完不管。注释比文档更容易腐坏,因为它贴着代码,读的人默认它是对的。

5. 让它“润色”README。它会顺手删掉“这里有个坑”“不要用 xxx”,因为读起来不优雅——而这些恰恰最值钱。指令里明确写“保留所有以【坑】开头的段落,一个字都不许动”。

最后一句实话:补文档,AI 替你省的是读代码的时间,不是判断该写什么的时间。前者几十小时,后者半小时——但这半小时省不掉,省了就得到四十页废话。

点赞+在看,下期TRAE不迷路。

下期预告:第17篇,把 TRAE 当脚本工程师——一次性的数据清洗、批量改名、日志分析,这类“写完就扔”的脚本它比人快在哪,又会在哪埋雷。

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料