Installation Guide
This guide covers the complete installation process for Agent Orchestrator, from prerequisites to verification.Prerequisites
Required
Node.js 20+
Node.js 20+
- Download from nodejs.org
- Or use nvm:
Git 2.25+
Git 2.25+
- Download from git-scm.com
- macOS:
brew install git - Ubuntu/Debian:
sudo apt install git
tmux (for default runtime)
tmux (for default runtime)
GitHub CLI (gh)
GitHub CLI (gh)
- GitHub.com (not Enterprise)
- HTTPS protocol (recommended)
- Authenticate via browser
- Include
reposcope (full repository access)
Optional
Linear API Key (for Linear integration)
Linear API Key (for Linear integration)
- Get your API key from linear.app/settings/api
-
Set environment variable:
-
Verify:
Slack Webhook (for Slack notifications)
Slack Webhook (for Slack notifications)
- Create an incoming webhook: api.slack.com/messaging/webhooks
-
Set environment variable:
-
Test the webhook:
Build from Source
Clone the repository
Run the setup script
-
Validates prerequisites:
- Checks Node.js >= 20
- Checks Git >= 2.25
- Detects tmux installation
- Detects and validates GitHub CLI authentication
-
Offers interactive fixes (if running in a terminal):
- Install tmux via Homebrew (macOS)
- Authenticate GitHub CLI via
gh auth login
-
Installs pnpm:
- Via corepack (preferred)
- Falls back to
npm install -g pnpmif corepack fails
-
Installs dependencies:
-
Builds all packages:
-
Links CLI globally:
Verify the installation
ao command is available:Manual Installation (Alternative)
If you prefer to install manually without the setup script:Install pnpm
Install dependencies
Build all packages
Link CLI globally
Verify installation
Configuration Setup
After installation, you need to create a configuration file. There are three methods:Method 1: Quick Setup with ao init --auto
Auto-generate configuration with smart defaults:
- Detects your git repository and remote
- Identifies the default branch (main/master)
- Detects project type (language, frameworks)
- Generates agent rules based on detected project type
- Creates
agent-orchestrator.yamlwith sensible defaults
Method 2: Interactive Wizard
Step through a guided setup:- Data directory (default:
~/.agent-orchestrator) - Worktree directory (default:
~/.worktrees) - Dashboard port (default:
3000) - Runtime plugin (default:
tmux) - Agent plugin (default:
claude-code) - Workspace plugin (default:
worktree) - Notifiers (default:
desktop) - Project ID (short name for your project)
- GitHub repo (format:
owner/repo) - Local path (path to your repository)
- Default branch (usually
mainormaster) - Issue tracker (
github,linear, ornone)
Method 3: Manual Configuration
Copy and edit the example config:examples/ directory:
Configuration File Breakdown
Here’s what a minimal configuration looks like:Full Configuration Reference
Full Configuration Reference
agent-orchestrator.yaml.example with all available options:- Reactions: Auto-handle CI failures, review comments, auto-merge
- Notification routing: Route by priority (urgent, action, warning, info)
- Agent rules: Inline or file-based rules included in agent prompts
- Per-project overrides: Override default plugins per project
- Tracker configuration: Linear team IDs, custom trackers
- Notifier configuration: Slack webhooks, custom webhooks
- Symlinks and post-create commands: Copy files or run setup commands in workspaces
Verification Steps
After installation and configuration, verify everything is working:Verify CLI is installed
Verify configuration exists
Verify GitHub authentication
Verify tmux is available
Start the orchestrator
http://localhost:3000 (or your configured port).Integration Setup
GitHub Issues Integration
GitHub integration is enabled by default if you have the GitHub CLI authenticated. Authentication:repo— Full repository access (read/write code, issues, PRs)read:org— Read organization membership (optional, for team mentions)
Linear Integration
Get API key
Set environment variable
Find your team ID
Configure in agent-orchestrator.yaml
Verify
Slack Integration
Create incoming webhook
Set environment variable
Configure in agent-orchestrator.yaml
Test the webhook
Troubleshooting
'ao' command not found after installation
'ao' command not found after installation
Node version too old
Node version too old
'No agent-orchestrator.yaml found'
'No agent-orchestrator.yaml found'
'tmux not found'
'tmux not found'
'gh auth failed'
'gh auth failed'
Port 3000 already in use
Port 3000 already in use
agent-orchestrator.yaml:port value.YAML parse error
YAML parse error
agent-orchestrator.yaml.Common issues:- Incorrect indentation (use 2 spaces, not tabs)
- Missing quotes around strings with special characters
- Typo in field names
Workspace creation failed
Workspace creation failed
Permission denied during git operations
Permission denied during git operations
