mbake
A Python-based Makefile formatter and linter
Decision gist · record as of 2026-08-14
Yes. mbake fills a genuine gap in Makefile tooling with low install friction, active maintenance, permissive licensing, and no known vulnerabilities. It is well-suited for teams that need consistent Makefile style enforcement or CI/CD validation.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low install friction with three lightweight runtime dependencies (rich, tomli, typer).
- Active maintenance with recent release and steady repository activity.
License · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution in both open-source and commercial projects with minimal obligations.
last release 2026-03-31 (136 days) · last repo commit 2026-07-22 · 758 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 78,960 downloads/mo, #14,390 on PyPI
Alternatives
Verify before relying
pip install mbake
mbake format --check Makefile- Whether GNU make must be installed on the system for validation features to work
- Scope of Makefile syntax validation coverage across different make dialects
- Performance characteristics when formatting very large Makefiles
What it is and what it does
mbake is a Python-based formatter and linter for Makefiles that enforces consistent style—converting spaces to tabs in recipes, normalizing spacing around assignments and colons, and cleaning up line continuations. It includes intelligent .PHONY detection that analyzes recipe commands to identify targets that don't produce files, and can optionally insert .PHONY declarations automatically. The tool validates Makefile syntax before and after formatting, supports CI/CD workflows with a check mode that reports whether formatting is needed without modifying files, and allows customization through a TOML configuration file.
The package is designed for developers and build systems that need to maintain consistent Makefile style across projects. It integrates with VSCode through an extension and provides command-line commands for formatting, validation, and configuration management. Dependencies are minimal—rich for terminal output, tomli for TOML parsing, and typer for CLI argument handling—making it lightweight to add to existing build pipelines.
Use it for
- Enforce consistent Makefile formatting in CI/CD pipelines using --check mode to validate style compliance before merge
- Auto-format Makefiles in a repository to fix inconsistent spacing, tabs, and line continuations across multiple projects
- Validate Makefile syntax as part of a build validation step to catch errors before deployment
- Automatically insert and manage .PHONY declarations based on recipe analysis to prevent false file-target conflicts
- Integrate with VSCode to format Makefiles on save or on-demand using the mbake extension
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
mbake fills a genuine gap in Makefile tooling with low install friction, active maintenance, permissive licensing, and no known vulnerabilities. It is well-suited for teams that need consistent Makefile style enforcement or CI/CD validation.
Install
mbake on PyPI
Before you install
Low install friction with three lightweight runtime dependencies (rich, tomli, typer). Active maintenance with recent release and steady repository activity.
License in practice
MIT license permits unrestricted use, modification, and distribution in both open-source and commercial projects with minimal obligations.
Quickstart
pip install mbake
mbake format --check Makefile
Verify before relying
- Whether GNU make must be installed on the system for validation features to work
- Scope of Makefile syntax validation coverage across different make dialects
- Performance characteristics when formatting very large Makefiles
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagesrichtomlityper |
| Maintenance | Actively maintained 136 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 78,960 / month, #14,390 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.9Topic :: Software Development :: Build ToolsTopic :: Software Development :: Quality AssuranceTopic :: Text Processing :: Markup |
Evidence: mbake-1.4.6-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “makefile formatter”
- mbakembake formats and lints Makefiles, enforcing consistent spacing, tab…
- tox-toml-fmtFormats tox.toml files with consistent style and comment…
- gersemigersemi is a command-line formatter for CMake code that automatically…
Give your agent the search over MCP, or paste the wish link into any chat.
More Build Tools packages
Provides reusable utilities for Python packaging interoperability, including version handling, specifiers, markers, requirements, tags, and metadata parsing according to standards like PEP 440 and PEP 425.
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
pip is the standard installer for Python packages, enabling you to download and install packages from the Python Package Index and other indexes into your Python environment.
Hatchling is a standards-compliant Python build backend that handles packaging, metadata, and distribution of Python projects when configured in a project's pyproject.toml file.
Generates Python gRPC service stubs and message classes from Protocol Buffer definitions, enabling developers to build gRPC clients and servers.
pre-commit is a framework for installing and running git hooks written in any language before commits are made, automating code quality and validation checks across multi-language projects.
Install it if your team needs consistent, automated validation at commit time.
See also config-formatter · djlint · yamllint · flake8-broken-line · gersemi · robotframework-tidy · lintro · reformat-gherkin · tclint · compiledb