Installation

Festival includes two CLI tools: fest (festival planning) and camp (campaign management). All installation methods install both.

Requirements

  • git is required. Festival depends on it for campaign init, project management, template sync, and commit-aware workflows.
  • scc is recommended but optional. Without it, camp leverage features will not work.
brew install --cask Obedience-Corp/tap/festival

Direct Download

Download the latest .tar.gz for your Mac from GitHub Releases, extract, and move to your PATH:

tar xzf festival-*-macOS-*.tar.gz
sudo mv fest camp /usr/local/bin/

Debian / Ubuntu

Download the .deb package from GitHub Releases:

sudo dpkg -i festival_*_amd64.deb

Fedora / RHEL

sudo rpm -i festival-*.x86_64.rpm

Arch Linux (AUR)

yay -S festival-bin

Alpine

sudo apk add --allow-untrusted festival_*.apk

Direct Download

tar xzf festival-*-linux-*.tar.gz
sudo mv fest camp /usr/local/bin/

Stable Windows packages are temporarily paused while Windows support is being hardened.

For now, use WSL2 and follow the Linux installation methods above.

Scoop and direct .zip downloads will return once Windows support is marked stable.

Other Methods

Shell Script

A convenience script is available for macOS and Linux:

curl -fsSL https://raw.githubusercontent.com/Obedience-Corp/festival/main/install.sh | bash
📝 Note
This downloads pre-built binaries to ~/.local/bin. The installer checks for git and stops early if it is missing. If scc is not installed, the installer continues and warns that camp leverage features will be unavailable until you add it. Review the script source before running.

From Source

📝 Note
The fest and camp source repositories are private. Building from source requires access to the private repos. Most users should use the package manager or binary download methods above.

Requires Go 1.25+:

go install github.com/Obedience-Corp/fest/cmd/fest@latest
go install github.com/Obedience-Corp/camp/cmd/camp@latest

Verify Installation

fest --version
camp --version

Shell Integration

Enable navigation features by adding to your ~/.zshrc or ~/.bashrc:

eval "$(fest shell-init zsh)"
eval "$(camp shell-init zsh)"

See Shell Setup for details. Then continue with the Quick Start to follow the validated beginner path through first fest next.