Install

Prefer binaries? Get Amber for prebuilt Homebrew, .deb, .rpm, or tarball, no compiler needed. This page covers building from source.


macOS

Homebrew (recommended)

brew install jtrefon/homebrew-amber/amber-agent

Installs the prebuilt amber (TUI), amber-cli(headless) and amber-bench (benchmark harness) binaries with no compilation. Apple Silicon only.

Or use the one-line installer (also installs Homebrew if you don't have it):

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/jtrefon/homebrew-amber/main/install.sh)"

Build from source

Prerequisites

amber requires a C++17 compiler and a few development libraries:

# macOS (Homebrew)
brew install curl ncurses pkg-config

# Debian / Ubuntu
sudo apt install build-essential libcurl4-openssl-dev libncurses-dev

# Arch Linux
sudo pacman -S base-devel curl ncurses

# Fedora / RHEL
sudo dnf install gcc-c++ libcurl-devel ncurses-devel
  • A C++17 compiler (g++ or clang++)
  • GNU make
  • libcurl (development headers)
  • ncurses (development headers, for the TUI client)
  • OpenSSL (for HTTPS, pulled in by libcurl)
  • nlohmann/json is vendored under include/ (no separate install needed)

No Python or Node.js runtime is required. The test infrastructure has been deliberately moved away from Python dependencies.


Build & Run

git clone https://github.com/jtrefon/amber
cd amber
make

# Run the TUI
./amber

# Run headless
./amber-cli

# Run benchmarks (hermetic mode, no model needed)
./amber-bench run

Configuration

amber reads from amber.conf in the project root and ~/.config/amber/ for global settings:

# amber.conf (project-local, only data paths)
system_prompt=prompts/system.md
tools_prompt=prompts/tools.md

# Provider config lives in ~/.config/amber/providers/
# Example: ~/.config/amber/providers/llama.conf
api_base=http://localhost:8080/v1
model=Qwopus-27B-Fusion

Plugins

Amber ships with bundled plugins for providers (Anthropic, Gemini, OpenRouter, DeepSeek, KiloCode, OpenCode, CommandCode, Custom, OpenAI-compatible), core tools, and metrics. Plugins are controlled at runtime:

/get plugin              # list plugins and their state
/set plugin anthropic on  # enable a provider plugin
/set plugin anthropic off # disable (unwinds cleanly)

Plugin state is persisted in~/.config/amber/plugins/<id>/plugin.conf.


What Happens Next

When you run ./amber, you'll see the welcome screen, the command drawer, and the slash command system:

  • /set model: switch models at runtime
  • /get model list: list available models
  • /set provider: switch provider configurations
  • /get plugin: list plugins and their state
  • /set plugin <id> on|off: enable or disable a plugin
  • /compress: force compression of conversation history
  • /set policy: configure approval rules

Build System

amber uses a standard configure + make build system. The GNUmakefile auto-runs ./configure to generate Makefile from Makefile.in:

make          # build everything (lib + cli + tui)
make test     # run unit tests
make check    # smoketest + build hygiene
make lint     # run clang-tidy
make analyze  # run cppcheck
make clean    # remove .o / .d / binaries
make distclean # also removes the generated Makefile
amber 0.5.8Apache 2.0C++17
utf-8ncursesJacek Trefon www.trefon.com2026