// the find
kennethreitz/bake
Bake — the strangely familiar workflow utility.
Bake is a Makefile replacement that lets you write real bash in your task definitions, with dependency chaining, file-based cache invalidation, and explicit environment variable whitelisting. It's from Kenneth Reitz (requests, httpbin) and targets the same audience as Makefile or Invoke — developers who want a simple task runner without Make's syntax quirks. At 639 stars and last touched in late 2024, it's alive but not thriving.
The environment isolation is the genuinely good idea here — env vars must be explicitly passed via --allow or --environ-json, which prevents the classic 'works on my machine' failure where a task silently depends on whatever happened to be exported in your shell. The file-based skip cache (@skip:key=yarn.lock) is practical and avoids redundant installs without needing a build system. The @confirm and @confirm:secure annotations for dangerous tasks are a nice touch — interactive confirmation before running destructive steps. The bats-based test suite is thorough for a project this size.
The README says 'under development' in 2019 and that hasn't changed — the docs are sparse and the 'many other benefits' are still unexpressed five years later. No parallel task execution, which is a real gap compared to something like just or cargo-make. Depends on delegator.py, which is itself a thin wrapper around pexpect; this is an indirect dependency you're inheriting for basic subprocess handling. The Homebrew formula was 'coming soon' in 2019 and the pip install is still the primary path, which means it pollutes the global Python environment unless you manage it carefully.