Skip to content

Corpus status

Snapshot as of 2026-07-29. Regenerate with uv run python tools/status-report.py.

At a glance

  • 385 recipes ship green today. Every one of them builds from source under make dogfood against the Punix store: no Homebrew bridge, no prebuilt binary toolchain, no DYLD-shim tricks at runtime. See the full list, grouped by topic.
  • 79 recipes have been attempted but don't yet ship. Most are blocked on one of a small handful of recurring patterns (host Swift 6 / Xcode 16, Perl-CPAN multi-source bundles, @N-version handling). See blockers.md for what each one needs.

What this means in practice

If you punix install <name> for anything in working.md, it will build from source, sandbox itself in the content-addressed store under ~/.punix/store/, and link a binary into your profile. No brew invocations under the hood. No background brew update that breaks last week's working setup.

If the package you want is in blockers.md, each entry names the failure class and the shape the fix takes, so a contribution lands in the right layer (the brew→PCL translator, one of the std.* recipe classes, or as a hand-written recipe in packages/official/).

If it's in neither list, we simply haven't tried yet. Open an issue, or run uv run python tools/migrate-brew.py against the brew formula yourself.

Categories at a glance

Category Recipes
Shell & Terminal 6
Editors 2
Version Control 17
Build Tools & Compilers 41
Languages & Runtimes 21
Container & Orchestration 21
Cloud CLIs 17
Networking 23
Security & Cryptography 21
Databases 10
Image, Video & Media 22
Compression & Archives 8
Text Processing 14
Documentation & Markup 10
Python Ecosystem 20
Rust Ecosystem 36
Go Ecosystem 33
System & Process Utilities 24
Foundational Libraries 32
Other 7
Total 385

How recipes get into the corpus

Every recipe in packages/official/ was either auto-translated from a Homebrew formula via tools/migrate-brew.py (the translator matches cargo, go, npm, autotools, cmake, meson, swift, pip, and git-tag source patterns) or hand-written when the source shape didn't fit any pattern. Each recipe records its origin in meta.origin.

The recipe classes themselves live under src/punix/realise/recipes_lib/std/ (std.cargo, std.go, std.cmake, std.autotools, std.meson, std.python_venv, std.swift, std.shell, etc.) and own all the shell mechanics (dep wiring, rpath baking, sandbox setup). Recipes just declare which class they want and pass project-specific flags.