docs: Add comprehensive INSTALLING.md guide (gt-t5ga3)
Full setup guide covering: - Prerequisites for macOS and Linux - Step-by-step installation - Minimal vs Full Stack mode setup - Verification with gt doctor - Troubleshooting common issues 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
282
docs/INSTALLING.md
Normal file
282
docs/INSTALLING.md
Normal file
@@ -0,0 +1,282 @@
|
||||
# Installing Gas Town
|
||||
|
||||
Complete setup guide for Gas Town multi-agent orchestrator.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
### Required
|
||||
|
||||
| Tool | Version | Check | Install |
|
||||
|------|---------|-------|---------|
|
||||
| **Go** | 1.24+ | `go version` | See [golang.org](https://go.dev/doc/install) |
|
||||
| **Git** | 2.20+ | `git --version` | See below |
|
||||
| **Beads** | latest | `bd version` | `go install github.com/steveyegge/beads/cmd/bd@latest` |
|
||||
|
||||
### Optional (for Full Stack Mode)
|
||||
|
||||
| Tool | Version | Check | Install |
|
||||
|------|---------|-------|---------|
|
||||
| **tmux** | 3.0+ | `tmux -V` | See below |
|
||||
| **Claude Code** | latest | `claude --version` | See [claude.ai/claude-code](https://claude.ai/claude-code) |
|
||||
|
||||
## Installing Prerequisites
|
||||
|
||||
### macOS
|
||||
|
||||
```bash
|
||||
# Install Homebrew if needed
|
||||
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
|
||||
# Required
|
||||
brew install go git
|
||||
|
||||
# Optional (for full stack mode)
|
||||
brew install tmux
|
||||
```
|
||||
|
||||
### Linux (Debian/Ubuntu)
|
||||
|
||||
```bash
|
||||
# Required
|
||||
sudo apt update
|
||||
sudo apt install -y git
|
||||
|
||||
# Install Go (apt version may be outdated, use official installer)
|
||||
wget https://go.dev/dl/go1.24.linux-amd64.tar.gz
|
||||
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.24.linux-amd64.tar.gz
|
||||
echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> ~/.bashrc
|
||||
source ~/.bashrc
|
||||
|
||||
# Optional (for full stack mode)
|
||||
sudo apt install -y tmux
|
||||
```
|
||||
|
||||
### Linux (Fedora/RHEL)
|
||||
|
||||
```bash
|
||||
# Required
|
||||
sudo dnf install -y git golang
|
||||
|
||||
# Optional
|
||||
sudo dnf install -y tmux
|
||||
```
|
||||
|
||||
### Verify Prerequisites
|
||||
|
||||
```bash
|
||||
# Check all prerequisites
|
||||
go version # Should show go1.24 or higher
|
||||
git --version # Should show 2.20 or higher
|
||||
tmux -V # (Optional) Should show 3.0 or higher
|
||||
```
|
||||
|
||||
## Installing Gas Town
|
||||
|
||||
### Step 1: Install the Binaries
|
||||
|
||||
```bash
|
||||
# Install Gas Town CLI
|
||||
go install github.com/steveyegge/gastown/cmd/gt@latest
|
||||
|
||||
# Install Beads (issue tracker)
|
||||
go install github.com/steveyegge/beads/cmd/bd@latest
|
||||
|
||||
# Verify installation
|
||||
gt version
|
||||
bd version
|
||||
```
|
||||
|
||||
If `gt` is not found, ensure `$GOPATH/bin` (usually `~/go/bin`) is in your PATH:
|
||||
|
||||
```bash
|
||||
# Add to ~/.bashrc, ~/.zshrc, or equivalent
|
||||
export PATH="$PATH:$HOME/go/bin"
|
||||
```
|
||||
|
||||
### Step 2: Create Your Workspace
|
||||
|
||||
```bash
|
||||
# Create a Gas Town workspace (HQ)
|
||||
gt install ~/gt
|
||||
|
||||
# This creates:
|
||||
# ~/gt/
|
||||
# ├── CLAUDE.md # Mayor role context
|
||||
# ├── mayor/ # Mayor config and state
|
||||
# ├── rigs/ # Project containers (initially empty)
|
||||
# └── .beads/ # Town-level issue tracking
|
||||
```
|
||||
|
||||
### Step 3: Add a Project (Rig)
|
||||
|
||||
```bash
|
||||
# Add your first project
|
||||
gt rig add myproject --remote=https://github.com/you/repo.git
|
||||
|
||||
# This clones the repo and sets up:
|
||||
# ~/gt/myproject/
|
||||
# ├── .beads/ # Project issue tracking
|
||||
# ├── mayor/rig/ # Mayor's clone (canonical)
|
||||
# ├── refinery/rig/ # Merge queue processor
|
||||
# ├── witness/ # Worker monitor
|
||||
# └── polecats/ # Worker clones (created on demand)
|
||||
```
|
||||
|
||||
### Step 4: Verify Installation
|
||||
|
||||
```bash
|
||||
cd ~/gt
|
||||
gt doctor # Run health checks
|
||||
gt status # Show workspace status
|
||||
```
|
||||
|
||||
## Minimal Mode vs Full Stack Mode
|
||||
|
||||
Gas Town supports two operational modes:
|
||||
|
||||
### Minimal Mode (No Daemon)
|
||||
|
||||
Run individual Claude Code instances manually. Gas Town only tracks state.
|
||||
|
||||
```bash
|
||||
# Create and assign work
|
||||
gt convoy create "Fix bugs" issue-123
|
||||
gt sling issue-123 myproject
|
||||
|
||||
# Run Claude manually
|
||||
cd ~/gt/myproject/polecats/<worker>
|
||||
claude --resume
|
||||
|
||||
# Check progress
|
||||
gt convoy list
|
||||
```
|
||||
|
||||
**When to use**: Testing, simple workflows, or when you prefer manual control.
|
||||
|
||||
### Full Stack Mode (With Daemon)
|
||||
|
||||
Agents run in tmux sessions. Daemon manages lifecycle automatically.
|
||||
|
||||
```bash
|
||||
# Start the daemon
|
||||
gt daemon start
|
||||
|
||||
# Create and assign work (workers spawn automatically)
|
||||
gt convoy create "Feature X" issue-123 issue-456
|
||||
gt sling issue-123 myproject
|
||||
gt sling issue-456 myproject
|
||||
|
||||
# Monitor on dashboard
|
||||
gt convoy list
|
||||
|
||||
# Attach to any agent session
|
||||
gt mayor attach
|
||||
gt witness attach myproject
|
||||
```
|
||||
|
||||
**When to use**: Production workflows with multiple concurrent agents.
|
||||
|
||||
### Choosing Roles
|
||||
|
||||
Gas Town is modular. Enable only what you need:
|
||||
|
||||
| Configuration | Roles | Use Case |
|
||||
|--------------|-------|----------|
|
||||
| **Polecats only** | Workers | Manual spawning, no monitoring |
|
||||
| **+ Witness** | + Monitor | Automatic lifecycle, stuck detection |
|
||||
| **+ Refinery** | + Merge queue | PR review, code integration |
|
||||
| **+ Mayor** | + Coordinator | Cross-project coordination |
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### `gt: command not found`
|
||||
|
||||
Your Go bin directory is not in PATH:
|
||||
|
||||
```bash
|
||||
# Add to your shell config (~/.bashrc, ~/.zshrc)
|
||||
export PATH="$PATH:$HOME/go/bin"
|
||||
source ~/.bashrc # or restart terminal
|
||||
```
|
||||
|
||||
### `bd: command not found`
|
||||
|
||||
Beads CLI not installed:
|
||||
|
||||
```bash
|
||||
go install github.com/steveyegge/beads/cmd/bd@latest
|
||||
```
|
||||
|
||||
### `gt doctor` shows errors
|
||||
|
||||
Run with `--fix` to auto-repair common issues:
|
||||
|
||||
```bash
|
||||
gt doctor --fix
|
||||
```
|
||||
|
||||
For persistent issues, check specific errors:
|
||||
|
||||
```bash
|
||||
gt doctor --verbose
|
||||
```
|
||||
|
||||
### Daemon not starting
|
||||
|
||||
Check if tmux is installed and working:
|
||||
|
||||
```bash
|
||||
tmux -V # Should show version
|
||||
tmux new-session -d -s test && tmux kill-session -t test # Quick test
|
||||
```
|
||||
|
||||
### Git authentication issues
|
||||
|
||||
Ensure SSH keys or credentials are configured:
|
||||
|
||||
```bash
|
||||
# Test SSH access
|
||||
ssh -T git@github.com
|
||||
|
||||
# Or configure credential helper
|
||||
git config --global credential.helper cache
|
||||
```
|
||||
|
||||
### Beads sync issues
|
||||
|
||||
If beads aren't syncing across clones:
|
||||
|
||||
```bash
|
||||
cd ~/gt/myproject/mayor/rig
|
||||
bd sync --status # Check sync status
|
||||
bd doctor # Run beads health check
|
||||
```
|
||||
|
||||
## Updating
|
||||
|
||||
To update Gas Town and Beads:
|
||||
|
||||
```bash
|
||||
go install github.com/steveyegge/gastown/cmd/gt@latest
|
||||
go install github.com/steveyegge/beads/cmd/bd@latest
|
||||
gt doctor --fix # Fix any post-update issues
|
||||
```
|
||||
|
||||
## Uninstalling
|
||||
|
||||
```bash
|
||||
# Remove binaries
|
||||
rm $(which gt) $(which bd)
|
||||
|
||||
# Remove workspace (CAUTION: deletes all work)
|
||||
rm -rf ~/gt
|
||||
```
|
||||
|
||||
## Next Steps
|
||||
|
||||
After installation:
|
||||
|
||||
1. **Read the README** - Core concepts and workflows
|
||||
2. **Try a simple workflow** - `gt convoy create "Test" test-issue`
|
||||
3. **Explore docs** - `docs/reference.md` for command reference
|
||||
4. **Run doctor regularly** - `gt doctor` catches problems early
|
||||
Reference in New Issue
Block a user