mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-03-30 13:43:26 +08:00
* docs(zh-CN): sync Chinese docs with latest upstream changes * update --------- Co-authored-by: neo <neo.dowithless@gmail.com>
2.3 KiB
2.3 KiB
构建与修复
以最小、安全的更改逐步修复构建和类型错误。
步骤 1:检测构建系统
识别项目的构建工具并运行构建:
| 指示器 | 构建命令 |
|---|---|
package.json 包含 build 脚本 |
npm run build 或 pnpm build |
tsconfig.json(仅限 TypeScript) |
npx tsc --noEmit |
Cargo.toml |
cargo build 2>&1 |
pom.xml |
mvn compile |
build.gradle |
./gradlew compileJava |
go.mod |
go build ./... |
pyproject.toml |
python -m py_compile 或 mypy . |
步骤 2:解析并分组错误
- 运行构建命令并捕获 stderr
- 按文件路径对错误进行分组
- 按依赖顺序排序(先修复导入/类型错误,再修复逻辑错误)
- 统计错误总数以跟踪进度
步骤 3:修复循环(一次处理一个错误)
对于每个错误:
- 读取文件 — 使用读取工具查看错误上下文(错误周围的 10 行代码)
- 诊断 — 确定根本原因(缺少导入、类型错误、语法错误)
- 最小化修复 — 使用编辑工具进行最小的更改以解决错误
- 重新运行构建 — 验证错误已消失且未引入新错误
- 移至下一个 — 继续处理剩余的错误
步骤 4:防护措施
在以下情况下停止并询问用户:
- 一个修复引入的错误比它解决的更多
- 同一错误在 3 次尝试后仍然存在(可能是更深层次的问题)
- 修复需要架构更改(不仅仅是构建修复)
- 构建错误源于缺少依赖项(需要
npm install、cargo add等)
步骤 5:总结
显示结果:
- 已修复的错误(包含文件路径)
- 剩余的错误(如果有)
- 引入的新错误(应为零)
- 针对未解决问题的建议后续步骤
恢复策略
| 情况 | 操作 |
|---|---|
| 缺少模块/导入 | 检查包是否已安装;建议安装命令 |
| 类型不匹配 | 读取两种类型定义;修复更窄的类型 |
| 循环依赖 | 使用导入图识别循环;建议提取 |
| 版本冲突 | 检查 package.json / Cargo.toml 中的版本约束 |
| 构建工具配置错误 | 读取配置文件;与有效的默认配置进行比较 |
为了安全起见,一次只修复一个错误。优先使用最小的改动,而不是重构。