Expand ↗
Page list (55)

Installation

zetl ships prebuilt binaries for Linux, macOS, and Windows. The installer script handles platform detection, download, and wiring up the man page and shell completions. If you prefer to build from source, that path is documented below too.

macOS and Linux:

curl -fsSL https://files.anuna.io/zetl/latest/install.sh | bash

The script detects your OS and architecture, downloads the right tarball, installs the binary to ~/.local/bin, and generates the man page and shell completions.

Windows:

Download zetl-windows-x86_64.zip from files.anuna.io/zetl/latest, extract zetl.exe, and place it somewhere on your PATH.

Pinning to a specific version

VERSION=0.6.1 curl -fsSL https://files.anuna.io/zetl/latest/install.sh | bash

Custom install location

INSTALL_DIR=/usr/local/bin curl -fsSL https://files.anuna.io/zetl/latest/install.sh | bash

What gets installed

~/.local/bin/zetl                                    # the binary
~/.local/share/man/man1/zetl.1                       # man page (run 'man zetl')
~/.local/share/bash-completion/completions/zetl
~/.local/share/zsh/site-functions/_zetl
~/.local/share/fish/vendor_completions.d/zetl.fish

The prebuilt binaries include the reason, history, and mcp features. See #Feature flags below if you need a different set.

PATH check

The installer warns if ~/.local/bin isn’t on your PATH. If it isn’t:

export PATH="$HOME/.local/bin:$PATH"
# Add to ~/.bashrc, ~/.zshrc, or ~/.config/fish/config.fish to persist

Install from source

Requires a Rust toolchain (rustup.rs).

git clone https://codeberg.org/anuna/zetl && cd zetl
make install

make install builds with core features only and installs to $PREFIX (default ~/.local). For optional features:

# Defeasible reasoning (SPL code blocks)
cargo install --path . --features reason

# Vault history (jj-backed snapshots, --at time travel)
cargo install --path . --features history

# Combine features
cargo install --path . --features "reason,history"

# Everything
cargo install --path . --features "reason,history,semantic,mcp"

Feature flags

FlagUnlocks
(none)Wikilink parsing, graph queries, search, check, view, serve, build, collaboration, hooks.
reasonRunning Queries, SPL extraction from Markdown, proof trees, what-if, conflict detection, SPL-based access control.
historyTime Travel with --at "3 days ago", Watching for Changes via zetl watch, per-page timeline, vault.history in templates.
semanticSemantic search via embedding model (alongside full-text).
mcpMCP Server — expose the graph, search, and reasoning to AI agents.

Collaboration (--collab) is always on — no feature flag required. SPL-based access control requires --features reason.

Shell completions

The binary generates completions on demand, in case you want to wire them up manually or use a shell not covered by the installer:

zetl completions bash       > /etc/bash_completion.d/zetl
zetl completions zsh        > ~/.zfunc/_zetl
zetl completions fish       > ~/.config/fish/completions/zetl.fish
zetl completions powershell > $PROFILE/zetl.ps1
zetl completions elvish     > ~/.config/elvish/lib/zetl.elv

Man page:

zetl man > /usr/local/share/man/man1/zetl.1    # install
zetl man | man -l -                            # preview without installing

Verifying the install

zetl --version
# zetl 0.6.1

If that prints, you’re done. Head to Quick Start for your first vault query.

Last changed by zetl · history

Backlinks