SuperAPI AI 工具集

make

写作与研究

查看项目

更新于 10-16 09:31

技能介绍

用途:指导编写惯用、可维护的 Makefile,强调安全、自文档化、模块化与编排职责。

主要能力与规则: 安全头必备:SHELL := bash、.SHELLFLAGS := -eu -o pipefail -c、.DELETE_ON_ERROR,并用 MAKEFLAGS += --warn-undefined-variables 与 --no-builtin-rules。 自文档化:默认目标 .DEFAULT_GOAL := help,每个目标带 ## 注释,用 ##@ 分组,help 目标用 awk 解析。 所有非文件目标声明 .PHONY,含模式目标。 显式优于隐式:使用 $(VAR)、路径加引号、变量命名清晰。 模块化:拆分为 *.mk 并用 include,可选覆盖用 -include make/local.mk。 编排定位:Make 只负责编排,复杂逻辑放到脚本(如 ./scripts/run-tests.sh)。 命名统一:连字符、动-名前缀(stack-up、docker-build、test-unit 等)。 规模建议:Makefile 超过约 300 行应拆分模块;单条 recipe 超过 5 行或含 if/else 应移入脚本。

使用方式:提供标准模板(cp ~/.claude/skills/make/resources/template.mk ./Makefile);提供路径解析、默认值与导出变量、ifeq/ifdef、define/endef 日志与工具宏、模式规则与参数透传、哨兵文件追踪安装、Docker Compose 与 Terraform 集成等模式。

验证:运行 ~/.claude/skills/make/scripts/validate_makefile.sh [Makefile],检查安全头、help 目标、.PHONY、禁用模式;也可 dry run:make -n <target>、make help。

适用场景:构建自动化、开发工作流命令、多服务编排、CI/CD 步骤、带依赖的任务运行器。

限制与反模式:不用于复杂业务逻辑、需条件循环的脚本、错误恢复或配置管理。避免空格缩进 recipe、缺失 .PHONY、裸 rm、静默忽略错误、复杂 shell 逻辑、非 $(MAKE) 递归、硬编码路径、缺少 help、过度 @ 静默。

资料未提供具体版本、平台支持范围与收费信息。