eliteforge-makefile-spec
Installation
SKILL.md
EliteForge Makefile 规范
目标
生成一个位于仓库根目录的 Makefile:对外命令和参数保持统一,内部实现适配实际检测到的仓库拓扑、构建系统、制品发布方式、Docker 配置和应用壳,并兼容 GNU Make 3.81、macOS 与 Windows。已有 Makefile 必须原地重构,不得在外层叠加重复配方。
统一公共接口
- 所有仓库都必须定义
help、doctor、install、clean、format、lint、test、build、dev、deploy。 - 不再生成
check、run、verify公共目标;迁移已有 Makefile 时,仅在仓库自动化仍有调用方的情况下保留隐藏兼容别名。 - 所有 Makefile 都接受
VERSION和SKIP_TESTS命令行变量,例如make build VERSION=1.2.3 SKIP_TESTS=true。只将变量传给语义适用且仓库真实支持的目标;不得静默忽略已传入的值。 deploy只发布版本化软件包或构建制品,例如 JAR、npm 包或 Python 包,不负责部署运行中的服务。- Docker 能力统一为
docker-build、docker-run、docker-stop、docker-push;应用壳能力统一为app-build、app-dev、app-clean。 - 生成的语法必须兼容 GNU Make 3.81。Windows 兼容指 Windows 上的 GNU Make,不得宣称兼容 NMake。
Output Path
按以下优先级确定主 Makefile 路径: