Installation¶
Supported platforms: Linux x86_64/ARM64, macOS x86_64/ARM64, Windows x86_64.
Homebrew (macOS, Linux)¶
brew install trvon/yams/yams # stable
brew install trvon/yams/yams-nightly # nightly
brew services start yams # optional: run as a service
brew upgrade yams # update
brew link --overwrite yams # if linking conflicts
APT (Debian, Ubuntu)¶
curl -fsSL https://repo.yamsmemory.ai/gpg.key \
| sudo gpg --dearmor -o /usr/share/keyrings/yams.gpg
echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/yams.gpg] \
https://repo.yamsmemory.ai/aptrepo stable main" \
| sudo tee /etc/apt/sources.list.d/yams.list
sudo apt-get update && sudo apt-get install yams
sudo systemctl enable --now yams-daemon # optional
yams daemon status
DNF / YUM (Fedora, RHEL)¶
sudo tee /etc/yum.repos.d/yams.repo <<'REPO'
[yams]
name=YAMS Repository
baseurl=https://repo.yamsmemory.ai/yumrepo/
enabled=1
gpgcheck=0
REPO
sudo dnf makecache && sudo dnf install yams
Note
Current CI installs the published .rpm artifact directly rather than pulling through repo metadata. The hosted yumrepo/ path is documented but not covered by automated validation.
Tested lanes: x86_64 .deb on Debian trixie and x86_64 .rpm on Fedora 42, both in clean systemd containers with yams-daemon.service enabled.
Docker¶
docker pull ghcr.io/trvon/yams:latest
docker run --rm -v yams-data:/home/yams/.local/share/yams ghcr.io/trvon/yams:latest --version
docker run -i --rm -v yams-data:/home/yams/.local/share/yams ghcr.io/trvon/yams:latest serve
GitHub releases¶
Grab a prebuilt archive from github.com/trvon/yams/releases:
yams-VERSION-linux-x86_64.tar.gz/-arm64yams-VERSION-macos-x86_64.zip/-arm64yams-VERSION-windows-x86_64.zip
Extract and place the yams binary on your PATH.
Build from source¶
# Linux / macOS
./setup.sh Release && meson compile -C build/release
# Windows
./setup.ps1 Release ; meson compile -C build/release
Prerequisites, compiler matrix, offline/system-deps builds, and troubleshooting: docs/BUILD.md.
Initialize¶
yams init # interactive
yams init --auto # containers / headless
yams init --non-interactive # defaults, no prompts
yams init --force # overwrite config/keys
yams init creates:
- Data dir with
yams.dbandstorage/ ~/.config/yams/config.toml- Ed25519 keys in
~/.config/yams/keys(private key 0600) - An initial API key in config
Paths (XDG)¶
| Purpose | Default | Override |
|---|---|---|
| Data | $XDG_DATA_HOME/yams (~/.local/share/yams) |
--storage or YAMS_STORAGE |
| Config | $XDG_CONFIG_HOME/yams (~/.config/yams) |
XDG_CONFIG_HOME |
| Keys | ~/.config/yams/keys |
— |
Tree-sitter grammars¶
yams init can download grammars for 18 languages (list). Requirements: git + a C compiler (gcc/clang on Unix, MSVC/MinGW on Windows). Pin an existing grammar with YAMS_TS_<LANG>_LIB=/path/to/libtree-sitter-<lang>.so.
Shell completion¶
# Bash
source <(yams completion bash)
# Zsh (persistent)
mkdir -p ~/.local/share/zsh/site-functions
yams completion zsh > ~/.local/share/zsh/site-functions/_yams
# Ensure ~/.local/share/zsh/site-functions is on fpath before compinit
# Fish
mkdir -p ~/.config/fish/completions
yams completion fish > ~/.config/fish/completions/yams.fish
# PowerShell (current session)
pwsh -NoLogo -NoProfile -Command 'Invoke-Expression (yams completion powershell | Out-String)'
Homebrew already installs bash/zsh/fish completions; only shell activation is your side.
Verify¶
yams --version
yams stats
yams search "test" --limit 1
# ONNX-enabled builds: confirm the model provider is loadable
YAMS_SKIP_MODEL_LOADING=1 yams doctor plugin onnx --no-daemon
# Expect: "Interface: model_provider_v1 v1 -> AVAILABLE"
Uninstall¶
# Homebrew
brew uninstall yams && brew untap trvon/yams
# Manual
rm ~/.local/bin/yams
rm -rf ~/.local/share/bash-completion/completions/yams \
~/.local/share/zsh/site-functions/_yams \
~/.config/fish/completions/yams.fish
# Data (optional, destructive)
rm -rf ~/.local/share/yams ~/.config/yams
Troubleshooting¶
| Symptom | Fix |
|---|---|
| OpenSSL not found (macOS source build) | export OPENSSL_ROOT_DIR="$(brew --prefix openssl@3)" |
| Permission issues on storage path | chown/chmod the dir; avoid sudo for runtime |
| Build cache stale | rm -rf build && ./setup.sh Release |
yams plugin list empty |
yams plugin trust add ~/.local/lib/yams/plugins and re-check |
yams not on PATH |
Add install dir: export PATH="$HOME/.local/bin:$PATH" |
Further diagnostics: yams doctor, yams stats --verbose. Build issues: docs/BUILD.md.
Next¶
- CLI reference · MCP server · Embeddings · Plugins
- Issues: https://github.com/trvon/yams/issues · Discord: https://discord.gg/rTBmRHdTEc