Blog

#bakefile

bakefilebakefile

An OOP task runner. Write tasks once, reuse everywhere. Like a Makefile, but reusable and in Python.

It began life as a Python config framework, grew into the argument that developer workflows need an abstraction, and now holds its own against Make, Just, Task, and mise. In practice it comes down to four patterns that scale and the supporting cast behind them. Versioning comes from #zerv.

recent posts
bakefile in practice: the supporting cast

The second bakefile in practice post: the helpers behind the patterns. Setup, secrets, publish, environments, config, the CLI, shipped once as library code.

Jul 2026
bakefile in practice: four patterns that scale

Composition over configuration, Template Method, a uniform interface, workflows as libraries: four patterns from every repo I run bakefile in. Part one.

Jul 2026
Make vs Just vs Task vs mise: which reuses workflows?

An audit of how five task runners share workflows between repos: Make include, Just import, Task includes, mise extends, Invoke collections. Where each breaks.

Apr 2026
Developer Workflows Need an Abstraction

Every repo re-copies the same lint, test, and deploy recipes. Workflows need what code already has: inheritance, mixins, and versioned distribution.

Feb 2026