Lightning fast, local first sandboxes that secure the supply chain across devs, agents, and CI.
Get Started$ minimal run claude
Boot secure sandboxes in seconds. Outperform the Docker daemon.
Resolve dependencies in sub-seconds. End the BUILD+WAIT cycle.
Shared global caching. Prebuilt packages that won't bloat disks.
Repeatable execution. Identical sandbox configurations.
Minimal provides isolated, reproducible environments from a single configuration file that lives with your code across branches, forks, and worktrees.
Declare your packages and dependencies, run your tasks, and get the same result on every machine.
Under the hood: Linux namespace isolation, Nickel build specs with static types and contracts, content addressed caching across the dependency graph, SBOM generation, and cryptographic attestation.
| Docker | Nix | asdf | mise | devbox | Minimal | |
|---|---|---|---|---|---|---|
| Sandboxed execution | ✓ | ✗ | ✗ | ✓ | ||
| Environmental parity | ~ | ✓ | ~ | ✓ | ||
| Daemonless | ✗ | ✓ | ✓ | ✓ | ||
| Declarative config | ✓ | ~ | ✓ | ✓ | ||
| Content addressed | ✗ | ✓ | ✗ | ✓ | ||
| Supply chain visibility | ~ | ~ | ✗ | ✓ | ||
| Rapid invocation | ✗ | ✗ | ✓ | ✓ |
Every existing tool asks you to pick a tradeoff: isolation or speed, reproducibility or simplicity, supply chain guarantees or usability.
We built Minimal because no existing tool delivers all of these together:
Real isolation, content addressed reproducibility, rapid invocation, and supply chain attestation.
$ minimal update
✓ base 1.0.0
✓ rust-toolchain 1.82.0
✓ openssl 3.4.1
✓ zlib 1.3.1
✓ curl 8.11.1
✓ nodejs 22.12.0
✓ python 3.13.1
... 7 more
Resolved in 1.2s
$ Minimal hardlinks curated, provenance verified packages into a sandbox rootfs. Resolution happens once, before execution begins. Every dependency is prebuilt and available from cache without hitting an upstream registry.
$ minimal dump --packages openssl
[{
"name": "perl",
"spec_hash": "51789e95...22b5401",
"is_prebuilt": false,
"is_collection": false,
"target": "amd64/linux",
"build_deps": [
{
"type": "local_file",
"filename": "build.sh",
"hash": "bfb6961f...5efeb684"
},
{
"type": "source",
"from": {
"type": "web",
"url": "gs://minimal-registry/perl-5.42.0.tar.xz",
"sha256": "73cf6cc1...bdbdd0c3"
}
},
...
]
}] Like Nix, Minimal curates its own package set. Unlike Nix, every package is provenance verified and tested before it enters the Minimal registry.
Your environment inherits that trust. Environments stay pinned by configuration and in turn, share a simple, robust upgrade path.
Minimal ships packages for:
Works with:
[upstream]
repo = "https://github.com/gominimal/pkgs"
branch = "main"
[harness]
use = "bun"
[defaults]
state_key = "dev"
[tasks.shell]
packages = ["base"]
exec = "bash -l"
[tasks.test]
packages = ["base"]
bash = "bun test"
[tasks.claude]
packages = ["base", "claude-code"]
exec = "claude --dangerously-skip-permissions" Minimal is available for early access locally. Install on macOS and Linux:
curl --proto "=https" --tlsv1.2 -fsSL https://go.minimal.dev/install.sh | sh # Enforce org-wide package policy
[policy]
require_provenance = true
require_sbom = true
max_vuln_severity = "medium"
[policy.packages]
allow = ["base", "rust-*", "nodejs-*", "python-*"]
deny = ["*-nightly"]
[policy.versions]
pin_major = true
eol_action = "block"
[cache]
shared = true
upstream = "cache.minimal.dev/acme-corp"
ttl = "30d" Minimal Cloud provides managed infrastructure for teams that need deterministic environments at scale. Shared caches, policy enforcement, and audit-ready attestation for SLSA L2+.