Install Quirl
Install a native Quirl release or build the 0.1 candidate with the pinned toolchain.
0.1 publication status
The commands below become installable when the immutable 0.1.0 GitHub Release and Homebrew tap PR are published. Until then, use the source build.
Homebrew
brew install niklas-heer/tap/quirlThe formula selects a SHA-256-pinned native binary for macOS or Linux on ARM64
or x86_64. It installs only quirl; its bounded offline test does not download
the completion database or command model.
Direct release archive
Download the package for your operating system and architecture from the
versioned GitHub Release, verify it against SHA256SUMS, and compare the entry
in release-manifest-v1.json before putting quirl on PATH. Never use an
asset from a mutable branch URL as a release binary.
Requirements
- Linux or macOS for the supported interactive experience.
- Git.
- Rustup. The repository pins Rust 1.97.1 with
clippyandrustfmt. - Python 3 only for the Unix PTY quality gate.
You do not need a system Lua installation; Quirl embeds vendored Lua 5.4.
Build and run
git clone https://github.com/niklas-heer/quirl.git
cd quirl
cargo run -p quirl-cliFor a guided recording of the major surfaces:
cargo xtask demoVerify a checkout
The canonical local quality gate formats, lints, tests, and validates the workspace's generated artifacts:
cargo xtask checkSee Contributing for focused checks and the complete test strategy.
Downloadable data and offline use
The completion SQLite database and command model are separate versioned assets, not part of the binary or Homebrew package. Missing assets never delay the first prompt: Quirl uses built-in/local completion and degraded natural-command retrieval while a bounded background update is eligible.
Inspect or explicitly retry asset work with:
quirl assets status
quirl assets retry
quirl assets updateOn macOS, admitted assets live below
~/Library/Application Support/quirl/assets. On Linux, they live below
$XDG_DATA_HOME/quirl/assets, or ~/.local/share/quirl/assets when XDG is not
set. Retry metadata uses the matching quirl/assets platform cache directory.
A failed update does not replace an already valid generation.