这是一个名为mbake
的 Makefile 格式化工具的文档,主要内容如下:
- 特点:可通过
~/.bake.toml
配置规则,与 CI/CD 集成、有可扩展插件架构、丰富终端输出及进度指示、语法验证、智能.PHONY
检测、可通过特殊注释抑制格式化等。 - 格式化规则:包括缩进与空格(如食谱用制表符、统一赋值运算符间距等)、行延续(如反斜杠规范化等)、
.PHONY
声明(如分组、自动插入等)。 - 安装:推荐从 PyPI 安装,也可通过 VSCode 扩展、从源码或包管理器安装,开发安装需指定
[dev]
。 - 迁移到 v1.3.x:版本 1.3.0 引入模块重命名
bake
到mbake
,需更新包、Python 脚本及 CI/CD 脚本中的导入,CLI 命令等保持不变,向后兼容。 - 使用:基于子命令的 CLI,有快速开始、配置管理(初始化、显示、使用自定义配置等)、格式化文件(单个、多个、检查、显示差异等)、语法验证、版本管理、Shell 补全等功能,
validate
用于语法验证,format --check
用于样式验证。 - 配置:默认有合理配置,可生成配置文件,示例配置包含各种格式化及其他设置。
- 智能
.PHONY
检测:通过动态分析命令自动识别和管理phony 目标,包括工作原理、示例(如 Docker 相关目标等)、配置及行为模式等。 - 示例:包括基本格式化、自动插入示例、禁用格式化示例等。
- CI/CD 集成:在持续集成中使用
mbake
,GitHub Actions 示例中可用于检查 Makefile 格式化,有不同的退出代码表示不同情况。 - 开发:包括设置(克隆仓库、安装等)、运行测试(全部、带覆盖率、特定文件)、代码质量检查(格式化、lint、类型检查)。
- 架构:采用模块化、插件式架构,有
cli.py
、config.py
等模块,可添加自定义规则,通过继承FormatterPlugin
类实现。 - 贡献:欢迎贡献,有贡献指南,包括 Fork 仓库、创建分支、提交更改、添加测试、运行测试套件、提交更改及推送分支、打开 Pull Request 等步骤。
- 许可证:基于 MIT 许可证。
- 设计哲学:包括最小化更改、可预测行为、快速执行、可靠验证、开发者友好等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。