A sandboxed, deterministic build system whose build files are written in Lua and evaluated on the airsl embedded runtime.
Build files only declare targets: what each reads, what it makes, which command makes it. The
buildl program, written in Rust, then works out what is out of date, runs those commands in
parallel, each in a sandbox, and caches what they produce. The rule underneath is airsl's:
nothing is ambient. A build cannot run a program, read a file or see an environment variable
unless it was declared and the workspace allowed it. buildl is pre-release.
- Build files are safe to read: evaluating them grants them nothing.
- Rebuilds you can explain:
buildl plantells you what would rebuild, and why. - Authority you can see: what a build may touch is checked against a limit before anything runs.
build.lua, from examples/python:
local b = buildl
local app = b.sources("app/*.py")
-- zipapp packs the app directory into one runnable archive, out/app.pyz.
b.target("app.pyz", {
inputs = { app },
run = { "python3", "-m", "zipapp", "app", "-o", "$out" },
})
b.test("unit", {
inputs = { app, b.sources("tests/*.py") },
run = { "python3", "-m", "unittest", "discover", "-s", "tests" },
})
Its buildl.toml sets the workspace's
ceiling: here, python3 is the
one program any build may run.
buildl runs on Linux and macOS.
curl -LsSf https://airsstack.github.io/buildl/install.sh | sh # prebuilt, latest release
cargo install --locked buildl-cli # from crates.io
cargo install --git https://github.com/airsstack/buildl buildl-cli --locked # from GitHub
cargo make install # from a checkout
The first line installs a prebuilt buildl into ~/.local/bin. The others build it with Cargo.
Then buildl build, buildl test and buildl plan in that example.
To have an AI agent write and migrate build files, install buildl, airsl (a program already on your
PATH is skipped) and the buildl and buildl-migrate skills in one go. install.sh installs the
prebuilt buildl and airsl, so it needs no Rust unless you run it from a clone or with a --ref
other than main; --dir P copies the skills into P for another
agent instead:
curl -fsSLO https://raw.githubusercontent.com/airsstack/buildl/main/skills/install.sh
sh install.sh --claude
The buildl Book is the full guide.
| Start | Getting started · Build files |
| Concepts | Permission · Caching · Sandbox |
| Features | Plugins · Remote cache and execution · Watch mode |
| Reference | Command line · Exit codes · Under the hood |
| AI agents | With an AI agent |
| Examples | examples/: working workspaces for Go, Rust and Python |
| Crate | Holds |
|---|---|
buildl-core |
domain data, ports and the pure logic of every phase: no I/O, no Lua |
buildl-lua |
build-file evaluation on airsl |
buildl |
the remaining adapters and the composition root: the complete framework |
buildl-cli |
the buildl binary |
Apache-2.0. buildl is part of the airsstack ecosystem.