Install & run
One binary. Point it at a folder and you have a live site.
Get the binary
Crisptastic ships as a single self-contained executable — no language runtime, no system packages. Build it from a checkout with a pinned Rust toolchain:
cargo build --release -p crisptastic
./target/release/crisptastic --version
Release builds are produced reproducibly (built twice and compared) and packaged with signed supply-chain evidence. See the security model for what that covers.
Scaffold a project
crisptastic init my-site
cd my-site
init writes a minimal tree: an index.html.crisp, an assets/ directory, and
a crisptastic.toml manifest with sensible local defaults commented in.
Run the dev server
crisptastic dev
# or point at any folder
crisptastic dev ./my-site --bind 127.0.0.1:6174
dev uses convention-first defaults, watches the source tree, recompiles on
change, and serves assets with no-cache headers. The execution semantics are the
production semantics — dev only changes watching and caching.
Inspect before you ship
crisptastic check ./my-site # compile and report diagnostics only
crisptastic routes ./my-site # list every route the build resolves
Every diagnostic carries a stable code. A failed build writes no output.
Command map
| Command | Purpose |
|---|---|
init | Scaffold a new project |
dev | Watch + serve a source tree locally |
run / serve | Serve a source tree without watch |
check | Compile and report diagnostics |
routes | List resolved routes |
build cbor / build capsule | Produce a deterministic artifact or Capsule |
deploy | Build, seal secrets, sign, and optionally publish a deployment Capsule |
host | Serve encrypted deployment Capsules by domain (production) |
capsule publish / capsule pull | Move Capsules to and from an object store |
notify | Tell a running host over mTLS to activate a published Capsule |
Local secrets
Crisptastic reads only the variables you declare in crisptastic.toml under
[env] and [env_from_process]. It never copies your whole environment. On
macOS the recommended flow keeps values in the Keychain and exposes them only to
the child process:
macrun set my-site production STRIPE_SECRET_KEY
macrun run my-site production -- crisptastic deploy .
CI and other platforms inject the same declared names through their own secret facility. Nothing is written to a second local store.