mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-03-30 13:43:26 +08:00
* docs: add Chinese versions docs * update --------- Co-authored-by: neo <neo.dowithless@gmail.com>
3.7 KiB
3.7 KiB
description
| description |
|---|
| 逐步修复Go构建错误、go vet警告和linter问题。调用go-build-resolver代理进行最小化、精确的修复。 |
Go 构建与修复
此命令调用 go-build-resolver 代理,以最小的更改增量修复 Go 构建错误。
此命令的作用
- 运行诊断:执行
go build、go vet、staticcheck - 解析错误:按文件分组并按严重性排序
- 增量修复:一次修复一个错误
- 验证每次修复:每次更改后重新运行构建
- 报告摘要:显示已修复的内容和剩余问题
何时使用
在以下情况使用 /go-build:
go build ./...因错误而失败go vet ./...报告问题golangci-lint run显示警告- 模块依赖关系损坏
- 拉取更改后导致构建失败
运行的诊断命令
# Primary build check
go build ./...
# Static analysis
go vet ./...
# Extended linting (if available)
staticcheck ./...
golangci-lint run
# Module issues
go mod verify
go mod tidy -v
示例会话
User: /go-build
Agent:
# Go Build Resolution
## Initial Diagnostics
```bash
$ go build ./...
internal/service/user.go:25:15: undefined: UserRepository
internal/handler/api.go:42:9: cannot use x (type string) as type int
internal/handler/api.go:58:2: missing return at end of function
发现错误:3
修复 1:未定义的标识符
文件:internal/service/user.go:25 错误:undefined: UserRepository 原因:缺少导入
// Added import
import "project/internal/repository"
// Changed
var repo UserRepository
// To
var repo repository.UserRepository
$ go build ./...
# 2 errors remaining
修复 2:类型不匹配
文件:internal/handler/api.go:42 错误:cannot use x (type string) as type int
// Changed
count := params.Get("count")
// To
countStr := params.Get("count")
count, _ := strconv.Atoi(countStr)
$ go build ./...
# 1 error remaining
修复 3:缺少返回
文件:internal/handler/api.go:58 错误:missing return at end of function
func GetUser(id string) (*User, error) {
if id == "" {
return nil, ErrInvalidID
}
user := findUser(id)
// Added missing return
return user, nil
}
$ go build ./...
# Build successful!
最终验证
$ go vet ./...
# No issues
$ go test ./...
ok project/internal/service 0.015s
ok project/internal/handler 0.023s
摘要
| 指标 | 数量 |
|---|---|
| 已修复的构建错误 | 3 |
| 已修复的 Vet 警告 | 0 |
| 已修改的文件 | 2 |
| 剩余问题 | 0 |
构建状态:✅ 成功
## Common Errors Fixed
| Error | Typical Fix |
|-------|-------------|
| `undefined: X` | Add import or fix typo |
| `cannot use X as Y` | Type conversion or fix assignment |
| `missing return` | Add return statement |
| `X does not implement Y` | Add missing method |
| `import cycle` | Restructure packages |
| `declared but not used` | Remove or use variable |
| `cannot find package` | `go get` or `go mod tidy` |
## Fix Strategy
1. **Build errors first** - Code must compile
2. **Vet warnings second** - Fix suspicious constructs
3. **Lint warnings third** - Style and best practices
4. **One fix at a time** - Verify each change
5. **Minimal changes** - Don't refactor, just fix
## Stop Conditions
The agent will stop and report if:
- Same error persists after 3 attempts
- Fix introduces more errors
- Requires architectural changes
- Missing external dependencies
## Related Commands
- `/go-test` - Run tests after build succeeds
- `/go-review` - Review code quality
- `/verify` - Full verification loop
## Related
- Agent: `agents/go-build-resolver.md`
- Skill: `skills/golang-patterns/`