用途:在发布任何插件前验证 Makefile 覆盖度,分析其完整性与一致性,找出面向用户功能的缺口。\n\n主要能力:分为发现、分析、测试、生成四个阶段。发现阶段递归查找 Makefile、makefile、GNUmakefile、*.mk,解析目标、依赖、命令、变量与 include,构建依赖图并区分叶子与聚合型插件;分析阶段按最佳实践评分(必备目标 help、clean、.PHONY 各 20 分,推荐目标 test、lint、format、install、status 各 10 分,便利目标 demo、dogfood、check、quick-run 各 5 分),检测反模式与多 Makefile 一致性;测试阶段以 make -n 做语法校验、检查 help 功能、验证变量依赖并检测常见运行时问题;生成阶段补充 demo、dogfood、quick-run 及聚合 Makefile 的 check-all 目标。\n\n使用方式:命令为 makefile_dogfooder.py,常用参数有 --scope(all、plugins、root)、--mode(analyze、test、full)、--plugin、--apply、--output json。示例:makefile_dogfooder.py --scope all --mode analyze、makefile_dogfooder.py --mode full --apply。可与 /make-dogfood 斜杠命令、GitHub Actions 及 pre-commit 钩子集成。输出支持文本与 JSON 两种格式。\n\n适用场景:叶子插件应包含 help、clean、test、lint,并加 demo 与 dogfood;聚合 Makefile 用模式目标委派并维护 check-all;目标名用 kebab-case、配 ## 注释、按前缀分组。\n\n限制:资料未提供安装方式、价格与具体支持范围;复杂条件语法可能导致解析错误,慢目标应改用 analyze 模式。许可证为 MIT。
makefile-dogfooder
智能体与模型
更新于 10-15 17:20