Installation
Festival includes two CLI tools: fest (festival planning) and camp (campaign management). All installation methods install both.
Requirements
gitis required. Festival depends on it for campaign init, project management, template sync, and commit-aware workflows.sccis recommended but optional. Without it,camp leveragefeatures will not work.
npm / pnpm / bun
npm install -g @obedience-corp/festival
The npm package downloads the matching Festival GitHub release archive for your
platform, verifies it against the release checksums, and exposes both fest and
camp. It also keeps the release completion and shell-helper assets inside the
installed package, but it does not edit your shell startup files.
Homebrew (Recommended)
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
~/.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.
It also installs completion files and shell-helper source files under ~/.local/share/festival/.
When run from an interactive terminal, it asks whether to add the helper source line to your detected shell config; the default answer is yes.
Review the script source before running.From Source
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
Upgrading
How you upgrade depends on how you installed Festival.
Homebrew
brew update
brew upgrade --cask festival
brew outdated --cask will surface a new festival release when one is available.
npm / pnpm / bun
npm install -g @obedience-corp/festival@latest
Debian / Ubuntu, Fedora / RHEL, Alpine
Download the latest package from GitHub Releases and reinstall using the same dpkg -i, rpm -i, or apk add command from the install steps above.
Arch Linux (AUR)
yay -Syu festival-bin
Shell Script
Re-run the installer. It will replace the binaries in ~/.local/bin with the latest release:
curl -fsSL https://raw.githubusercontent.com/Obedience-Corp/festival/main/install.sh | bash
From Source
go install github.com/Obedience-Corp/fest/cmd/fest@latest
go install github.com/Obedience-Corp/camp/cmd/camp@latest
Shell Integration
Package installs include sourceable helper files for shell functions such as
cgo, cr, csw, cint, fgo, and fls. Add the line for your install
method and shell:
# install.sh default location
source ~/.local/share/festival/shell/festival.zsh
# Homebrew
source "$(brew --prefix)/share/festival/shell/festival.zsh"
# Linux packages
source /usr/share/festival/shell/festival.zsh
For bash, use festival.bash; for fish, use festival.fish.
The portable fallback is still:
eval "$(camp shell-init zsh)"
eval "$(fest shell-init zsh)"
See Shell Setup for details.
Then continue with the Quick Start to follow the validated beginner path through first fest next.