Installation
This guide covers all methods for installing BobaMixer on different platforms.
System Requirements
- Operating System: macOS, Linux, or Windows (via WSL)
- Go Version: 1.22+ (if building from source)
- SQLite: 3.x (usually pre-installed)
- Disk Space: ~50MB minimum (plus database growth)
- Git: Optional, for git hooks integration
Installation Methods
Method 1: Using Go Install (Recommended)
If you have Go installed, this is the simplest method:
go install github.com/royisme/bobamixer/cmd/boba@latestThis installs the boba binary to $GOPATH/bin. Make sure this directory is in your PATH:
export PATH=$PATH:$(go env GOPATH)/binAdd this line to your shell profile (~/.bashrc, ~/.zshrc, etc.) to make it permanent.
Method 2: Using Homebrew (macOS/Linux)
For macOS and Linux users, Homebrew provides an easy installation:
# Add the BobaMixer tap
brew tap royisme/tap
# Install BobaMixer
brew install bobamixerUpdate to the latest version:
brew upgrade bobamixerMethod 3: Download Pre-built Binary
Download the appropriate binary for your platform from the Releases page.
For Linux (amd64):
# Download
wget https://github.com/royisme/BobaMixer/releases/latest/download/bobamixer_Linux_x86_64.tar.gz
# Extract
tar -xzf bobamixer_Linux_x86_64.tar.gz
# Move to PATH
sudo mv boba /usr/local/bin/
# Verify
boba versionFor macOS (Apple Silicon):
# Download
wget https://github.com/royisme/BobaMixer/releases/latest/download/bobamixer_Darwin_arm64.tar.gz
# Extract
tar -xzf bobamixer_Darwin_arm64.tar.gz
# Move to PATH
sudo mv boba /usr/local/bin/
# Verify
boba versionFor macOS (Intel):
# Download
wget https://github.com/royisme/BobaMixer/releases/latest/download/bobamixer_Darwin_x86_64.tar.gz
# Extract
tar -xzf bobamixer_Darwin_x86_64.tar.gz
# Move to PATH
sudo mv boba /usr/local/bin/
# Verify
boba versionMethod 4: Build from Source
For developers or if you want the latest development version:
# Clone the repository
git clone https://github.com/royisme/BobaMixer.git
cd BobaMixer
# Build
make build
# Install to GOPATH/bin
make install
# Or manually move the binary
sudo mv dist/boba /usr/local/bin/Development Setup:
If you plan to contribute, set up the development environment:
# Install dependencies and git hooks
make dev
# Run tests
make test
# Run linter
make lintSee the Contributing Guide for more details.
Post-Installation Setup
1. Create Configuration Directory
After installation, create the BobaMixer home directory:
mkdir -p ~/.boba/logs
chmod 700 ~/.boba2. Initialize Configuration
Run the doctor command to generate example configurations:
boba doctorThis creates:
~/.boba/profiles.yaml- Profile definitions~/.boba/routes.yaml- Routing rules~/.boba/pricing.yaml- Model pricing information~/.boba/secrets.yaml- API keys storage~/.boba/usage.db- SQLite database
3. Secure Secrets File
Ensure your secrets file has proper permissions:
chmod 600 ~/.boba/secrets.yamlBobaMixer will refuse to run if secrets.yaml has incorrect permissions.
4. Verify Installation
Check that everything is working:
# Check version
boba version
# Run health check
boba doctor
# List default profiles
boba ls --profilesPlatform-Specific Notes
macOS
On macOS, you may see a security warning when first running BobaMixer. To resolve:
- Try to run
boba - Open System Preferences → Security & Privacy
- Click Allow Anyway next to the BobaMixer warning
- Run
bobaagain
Alternatively, remove the quarantine attribute:
xattr -d com.apple.quarantine /usr/local/bin/bobaLinux
On some Linux distributions, you may need to install SQLite:
Ubuntu/Debian:
sudo apt-get update
sudo apt-get install sqlite3 libsqlite3-devFedora/RHEL:
sudo dnf install sqlite sqlite-develArch Linux:
sudo pacman -S sqliteWindows (WSL)
BobaMixer runs on Windows via WSL (Windows Subsystem for Linux):
Install WSL 2:
powershellwsl --installInstall Ubuntu or your preferred distribution
Follow the Linux installation instructions within WSL
Docker (Experimental)
You can also run BobaMixer in a Docker container:
# Build the image
docker build -t bobamixer .
# Run with mounted config
docker run -v ~/.boba:/root/.boba bobamixer stats --todayNote: Docker support is experimental and may have limitations with interactive features.
Upgrading
Using Homebrew
brew upgrade bobamixerUsing Go Install
go install github.com/royisme/bobamixer/cmd/boba@latestManual Upgrade
Download the latest binary and replace the existing one:
# Backup current version
cp /usr/local/bin/boba /usr/local/bin/boba.backup
# Download and install new version
# (follow download binary instructions above)
# Verify
boba versionMigration Notes
When upgrading, BobaMixer will automatically migrate your database schema if needed. Always backup your data before upgrading:
# Backup configuration and database
cp -r ~/.boba ~/.boba.backup.$(date +%Y%m%d)
# Upgrade BobaMixer
# ... follow upgrade instructions ...
# Verify
boba doctorUninstalling
Using Homebrew
brew uninstall bobamixer
brew untap royisme/tapManual Uninstall
# Remove binary
sudo rm /usr/local/bin/boba
# Optionally remove configuration (this deletes all data!)
rm -rf ~/.bobaTo keep your data for future reinstallation, don't delete ~/.boba.
Troubleshooting Installation
Command Not Found
If you get "command not found" after installation:
Check that the binary is in your PATH:
bashwhich bobaIf empty, add to PATH:
bashexport PATH=$PATH:/usr/local/binMake it permanent by adding to your shell profile
Permission Denied
If you get "permission denied":
# Make executable
chmod +x /usr/local/bin/boba
# Or reinstall with sudo
sudo cp boba /usr/local/bin/SQLite Issues
If you see database errors:
# Check SQLite version
sqlite3 --version
# Should be 3.x or higher
# If not, install/upgrade SQLiteGit Hooks Not Working
If git hooks fail to install:
# Check git version
git --version
# Install hooks manually
cd your-project
cp ~/.boba/git-hooks/pre-commit .git/hooks/
chmod +x .git/hooks/pre-commitNext Steps
After installation, proceed to:
- Getting Started - Configure your first profile
- Configuration Guide - Learn about all configuration options
- CLI Reference - Explore all available commands
Getting Help
If you encounter installation issues:
- Check the Troubleshooting Guide
- Search GitHub Issues
- Open a new issue with:
- Your OS and version
- Installation method used
- Error messages
- Output of
boba doctor