mcpField
P
prefer-make

prefer-make

github.com/lwlee2608开发1198 次安装1 天前更新
代码仓库

关于 prefer-make

prefer-make 是面向 Go 项目的开发技能,要求优先使用现有 Makefile 目标,而不是直接运行 Go 命令。它指导开发者检查目标、执行构建与检查,并验证结果。

主要功能

  1. 01运行 Go 命令前检查 Makefile 目标
  2. 02用 make help 查找目标
  3. 03优先使用构建、测试、lint 和格式化目标
  4. 04仅在必要时回退到 Go 命令
  5. 05核对退出状态和输出

适用场景

  1. 01通过项目 Makefile 运行测试
  2. 02查找正确的构建或 lint 目标
  3. 03避免在 Make 命令中重复添加标志

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/lwlee2608/agent-skills --skill prefer-make

安装后在 Claude Code 中输入/prefer-make确认已加载。

详细介绍

使用 Make 构建

本项目使用 Makefile。始终优先使用 make 目标,而不是直接运行 go 命令。

规则

  1. 先检查 Makefile,再运行任何 go build、go test、go run、go vet、go fmt 或 golangci-lint 命令。查找对应的目标。
  2. 使用 Makefile 目标,而不是直接运行 go 命令。例如:
    • 使用 make build,而不是 go build ./...
    • 使用 make test,而不是 go test ./...
    • 使用 make lint,而不是 golangci-lint run
    • 使用 make run,而不是 go run main.go
    • 使用 make fmt,而不是 go fmt ./...
  3. 运行 make help 以查找目标。 如果运行失败,请直接阅读 Makefile。
  4. 仅当任务没有相关的 Makefile 目标时,才回退到直接运行 go 命令。

验证流程

  1. 执行前,通过检查 make help 的输出或 Makefile,确认目标存在。
  2. 执行后,确认命令以状态码 0 退出,并生成预期输出。

需要留意的常见错误

  • 未经检查就假定目标名称。 不要猜测存在 make unit-test,请阅读 Makefile。不同项目的目标名称可能不同。
  • 为已设置相关标志的 make 目标添加标志。 例如,如果 Makefile 已传入 -race,就不要运行 make test ARGS="-v -race"。添加标志前先检查目标的具体操作。
  • 当 Makefile 中存在接受包参数的目标时,仍针对子集运行原始 go test ./specific/pkg/...。例如,可以运行 make test PKG=./specific/pkg/...。

评论

支持 Markdown