Skip to main content
ClaudeWave
Slash Command1.2k estrellas del repoactualizado 3mo ago

go-build

The go-build slash command invokes the go-build-resolver agent to incrementally fix Go build errors, go vet warnings, and linter issues through minimal, surgical changes. Use this command when go build, go vet, staticcheck, or golangci-lint commands fail, or after pulling changes that break the build, as it diagnoses problems, groups errors by file and severity, fixes them one at a time, and verifies each change before proceeding.

Instalar en Claude Code
Copiar
mkdir -p ~/.claude/commands && curl -fsSL https://raw.githubusercontent.com/xu-xiang/everything-claude-code-zh/HEAD/commands/go-build.md -o ~/.claude/commands/go-build.md
Después abre una sesión nueva de Claude Code; el slash command carga automáticamente.

go-build.md

# Go 构建与修复 (Go Build and Fix)

此命令会调用 **go-build-resolver** 智能体(Agent),以最小的改动增量修复 Go 构建错误。

## 此命令的作用

1.  **运行诊断**:执行 `go build`、`go vet`、`staticcheck`
2.  **解析错误**:按文件分组并按严重程度排序
3.  **增量修复**:一次修复一个错误
4.  **验证每次修复**:每次更改后重新运行构建
5.  **报告摘要**:显示已修复的内容和剩余的问题

## 何时使用

在以下情况下使用 `/go-build`:
- `go build ./...` 失败并报错
- `go vet ./...` 报告问题
- `golangci-lint run` 显示警告
- 模块依赖关系损坏
- 拉取了破坏构建的更改后

## 运行的诊断命令

```bash
# 主要构建检查
go build ./...

# 静态分析
go vet ./...

# 扩展 lint 检查(如果可用)
staticcheck ./...
golangci-lint run

# 模块问题
go mod verify
go mod tidy -v
```

## 会话示例

```text
User: /go-build

Agent:
# Go 构建修复 (Go Build Resolution)

## 初始诊断

```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:未定义标识符 (Undefined Identifier)

文件:internal/service/user.go:25
错误:undefined: UserRepository
原因:缺少导入 (Missing import)

```go
// 添加了导入
import "project/internal/repository"

// 更改了
var repo UserRepository
// 为
var repo repository.UserRepository
```

```bash
$ go build ./...
# 剩余 2 个错误
```

## 修复 2:类型不匹配 (Type Mismatch)

文件:internal/handler/api.go:42
错误:cannot use x (type string) as type int

```go
// 更改了
count := params.Get("count")
// 为
countStr := params.Get("count")
count, _ := strconv.Atoi(countStr)
```

```bash
$ go build ./...
# 剩余 1 个错误
```

## 修复 3:缺少返回 (Missing Return)

文件:internal/handler/api.go:58
错误:missing return at end of function

```go
func GetUser(id string) (*User, error) {
    if id == "" {
        return nil, ErrInvalidID
    }
    user := findUser(id)
    // 添加了缺少的 return
    return user, nil
}
```

```bash
$ go build ./...
# 构建成功!
```

## 最终验证

```bash
$ go vet ./...
# 无问题

$ go test ./...
ok      project/internal/service   0.015s
ok      project/internal/handler   0.023s
```

## 摘要

| 指标 | 计数 |
|------|------|
| 已修复构建错误 | 3 |
| 已修复 Vet 警告 | 0 |
| 修改的文件 | 2 |
| 剩余问题 | 0 |

构建状态:✅ 成功 (SUCCESS)
```

## 常见修复错误

| 错误 | 典型修复方案 |
|------|--------------|
| `undefined: X` | 添加导入或修复拼写错误 |
| `cannot use X as Y` | 类型转换或修复赋值 |
| `missing return` | 添加 return 语句 |
| `X does not implement Y` | 添加缺失的方法 |
| `import cycle` | 重构包结构 |
| `declared but not used` | 删除或使用该变量 |
| `cannot find package` | 执行 `go get` 或 `go mod tidy` |

## 修复策略

1.  **构建错误优先** - 代码必须能编译
2.  **Vet 警告次之** - 修复可疑结构
3.  **Lint 警告第三** - 样式和最佳实践
4.  **一次一个修复** - 验证每次更改
5.  **最小化更改** - 不要重构,只管修复

## 停止条件

如果出现以下情况,智能体(Agent)将停止并报告:
- 尝试 3 次后同一错误仍然存在
- 修复引入了更多错误
- 需要架构调整
- 缺少外部依赖项

## 相关命令

- `/go-test` - 构建成功后运行测试
- `/go-review` - 审查代码质量
- `/verify` - 完整的验证循环

## 相关

- 智能体 (Agent):`agents/go-build-resolver.md`
- 技能 (Skill):`skills/golang-patterns/`
api-designSkill

生产级 API 的 REST API 设计模式,包括资源命名、状态码、分页、过滤、错误响应、版本控制和速率限制。

article-writingSkill

编写文章、指南、博客、教程、时事通讯(Newsletter)等长内容,支持从示例或品牌指南中提取独特的语感语调。适用于需要撰写超过一个段落的精炼文本,尤其是对语气一致性、结构和可信度有较高要求时。

backend-patternsSkill

后端架构模式、API 设计、数据库优化以及 Node.js、Express 和 Next.js API 路由的服务端最佳实践。

coding-standardsSkill

TypeScript、JavaScript、React、Node.js 开发的通用编码标准、最佳实践和模式。

content-engineSkill

为 X、LinkedIn、TikTok、YouTube、时事通讯(Newsletters)以及跨平台内容重加工营销活动(Repurposed multi-platform campaigns)创建平台原生的内容系统。当用户需要社交媒体帖子、推文串(Threads)、脚本、内容日历,或将单一源素材清晰地适配到多个平台时使用。

e2e-testingSkill

Playwright E2E 测试模式、页面对象模型(POM)、配置、CI/CD 集成、产物管理以及不稳定测试(flaky test)策略。

eval-harnessSkill

适用于 Claude Code 会话的正规评测框架(Evaluation Framework),实现了评测驱动开发(Eval-Driven Development, EDD)原则

frontend-patternsSkill

React、Next.js、状态管理(State Management)、性能优化(Performance Optimization)及 UI 最佳实践的前端开发模式。