Download CookCLI
Download Binary
Download the latest release for your platform from the releases page and add it to your PATH.
macOS/Linux
Using Homebrew:
Install with Cargo
If you have Rust installed:
--locked builds against the dependency versions we tested and released with, rather than re-resolving to the newest compatible ones.
Note that this compiles CookCLI and all its dependencies from source, which needs a few GB of RAM and disk. If you are on a Raspberry Pi, an Armbian board, or anything else memory-constrained, prefer the prebuilt binaries — we publish aarch64 and armv7 Linux builds.
Building on a low-memory single-board computer
cargo install places its build directory under $TMPDIR. On Armbian, /tmp is mounted on zram — a RAM-backed device sized to half your RAM — so a multi-gigabyte build will exhaust memory and fail, sometimes with a confusing failed to load bitcode of module ... error.
Point the build somewhere on real storage:
If memory is still tight, disable link-time optimisation for the build:
Build from Source
You'll need Rust and Node.js installed. Then:
Cargo features
The optional commands are behind Cargo features, all enabled by default. Turning them off cuts the dependency graph roughly in half (412 crates → 225) and the binary from ~23 MB to ~9 MB — useful for CI/CD, package managers, or small machines where you only want the core recipe tooling.
| Feature | Command | Notes |
|---|---|---|
server | cook server | Web UI (axum + tower). cook build still works without it. |
import | cook import | Scrape a recipe from a website. |
lsp | cook lsp | Language server for editor integrations. |
sync | cook login / cook logout | Recipe sync. Implies server — the sync loop runs inside it. |
self-update | cook update | In-place binary upgrade. |
Everything not listed above — parsing, scaling, shopping lists, search, pantry, reports and the static site builder — is always compiled in.
Development Setup
For development with hot-reload of CSS changes: