用途:在仓库根目录生成或原地重构唯一的 Makefile,使对外命令与参数保持统一,内部实现适配检测到的仓库拓扑、构建系统、制品发布、Docker 配置与应用壳。已有 Makefile 必须原地重构,不叠加重复配方。
主要能力:统一公共目标 help、doctor、install、clean、format、lint、test、build、dev、deploy;不再生成 check、run、verify,迁移时仅在仍有调用方时保留隐藏兼容别名。所有 Makefile 接受 VERSION 和 SKIP_TESTS,例如 make build VERSION=1.2.3 SKIP_TESTS=true,且只传给语义适用且真实支持的目标。deploy 只发布版本化软件包或构建制品,不部署运行中的服务。Docker 能力统一为 docker-build、docker-run、docker-stop、docker-push,应用壳能力统一为 app-build、app-dev、app-clean。
使用方式:先以绝对路径运行只读检测器 python3 <skill-dir>/scripts/inspect_repository.py <repository-root> [--no-git-root],再核实清单、锁文件、CI、Dockerfile 等证据后设计目标映射并生成。验证包括 make help、对目标执行 make --no-print-directory -n <target>、make doctor、以 VERSION=0.0.0-test SKIP_TESTS=true 试运行,并在非 Windows 环境静态检查 OS=Windows_NT 分支。
适用场景:需要创建、规范化、审查或更新 Makefile 的仓库,尤其多项目、含 Docker/Compose 或应用壳的仓库。
限制:必须兼容 GNU Make 3.81,禁止 .ONESHELL、.RECIPEPREFIX、.WAIT、$(file ...) 等较新语法;Windows 兼容仅指其上的 GNU Make,不兼容 NMake。不得虚构缺失脚本,不得创建额外辅助脚本绕过设计;缺失事实暂未提供。