Skip to main content

Installation Guide

This guide covers the complete installation process for Agent Orchestrator, from prerequisites to verification.

Prerequisites

Required

Required for: Runtime environment for the orchestrator and CLIVerify your installation:
Install or upgrade:
  • Download from nodejs.org
  • Or use nvm:
Required for: Repository management and git worktreesVerify your installation:
Why 2.25+? This version introduced improved worktree support that Agent Orchestrator relies on.Install or upgrade:
  • Download from git-scm.com
  • macOS: brew install git
  • Ubuntu/Debian: sudo apt install git
Required for: Terminal multiplexing and session managementVerify your installation:
Install:
If you plan to use a different runtime (Docker, Kubernetes, process), tmux is not required.
Required for: GitHub integration, PR creation, issue managementVerify your installation:
Install:
Authenticate:
Select:
  • GitHub.com (not Enterprise)
  • HTTPS protocol (recommended)
  • Authenticate via browser
  • Include repo scope (full repository access)
Verify authentication:

Optional

Required if: Using Linear for issue tracking
  1. Get your API key from linear.app/settings/api
  2. Set environment variable:
  3. Verify:
Required if: Using Slack for notifications
  1. Create an incoming webhook: api.slack.com/messaging/webhooks
  2. Set environment variable:
  3. Test the webhook:

Build from Source

Agent Orchestrator is not yet published to npm. Install by building from source. A published npm package is coming soon.
1

Clone the repository

2

Run the setup script

The automated setup script handles all installation steps:
What the setup script does:
  1. Validates prerequisites:
    • Checks Node.js >= 20
    • Checks Git >= 2.25
    • Detects tmux installation
    • Detects and validates GitHub CLI authentication
  2. Offers interactive fixes (if running in a terminal):
    • Install tmux via Homebrew (macOS)
    • Authenticate GitHub CLI via gh auth login
  3. Installs pnpm:
    • Via corepack (preferred)
    • Falls back to npm install -g pnpm if corepack fails
  4. Installs dependencies:
  5. Builds all packages:
  6. Links CLI globally:
The script will exit with an error if required prerequisites (Node.js 20+, Git 2.25+) are not met. Install these first, then re-run the script.
3

Verify the installation

Check that the ao command is available:
If the command is not found, the npm global bin directory may not be in your PATH. Add it to your shell profile:
Then restart your terminal or run:

Manual Installation (Alternative)

If you prefer to install manually without the setup script:
1

Install pnpm

2

Install dependencies

3

Build all packages

4

Link CLI globally

5

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:
This command:
  • 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.yaml with sensible defaults
Example output:

Method 2: Interactive Wizard

Step through a guided setup:
The wizard will prompt you for:
  1. Data directory (default: ~/.agent-orchestrator)
  2. Worktree directory (default: ~/.worktrees)
  3. Dashboard port (default: 3000)
  4. Runtime plugin (default: tmux)
  5. Agent plugin (default: claude-code)
  6. Workspace plugin (default: worktree)
  7. Notifiers (default: desktop)
  8. Project ID (short name for your project)
  9. GitHub repo (format: owner/repo)
  10. Local path (path to your repository)
  11. Default branch (usually main or master)
  12. Issue tracker (github, linear, or none)
The wizard auto-detects as much as possible from your current directory and environment variables.

Method 3: Manual Configuration

Copy and edit the example config:
Or start from a template in the examples/ directory:

Configuration File Breakdown

Here’s what a minimal configuration looks like:
See the complete configuration reference in 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
Example:

Verification Steps

After installation and configuration, verify everything is working:
1

Verify CLI is installed

Should print the version number.
2

Verify configuration exists

Should find the config file.
3

Verify GitHub authentication

Should show “Logged in to github.com”.
4

Verify tmux is available

Should print tmux version.
5

Start the orchestrator

Dashboard should open at 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:
Required scopes:
  • repo — Full repository access (read/write code, issues, PRs)
  • read:org — Read organization membership (optional, for team mentions)
Verification:

Linear Integration

1

Get API key

Visit linear.app/settings/api and create a new API key.
2

Set environment variable

3

Find your team ID

Your team ID is visible in the Linear workspace URL or via the API. You’ll need this for the config.
4

Configure in agent-orchestrator.yaml

5

Verify

Slack Integration

1

Create incoming webhook

Follow the Slack guide: api.slack.com/messaging/webhooks
2

Set environment variable

3

Configure in agent-orchestrator.yaml

4

Test the webhook

Troubleshooting

Problem: The CLI is linked but not in your PATH.Solution:
Problem: Node.js version is below 20.Solution:
Problem: The orchestrator can’t find your config file.Solution:
Problem: tmux is not installed (required for default runtime).Solution:
Problem: GitHub CLI is not authenticated.Solution:
Verify:
Problem: Another service is using the dashboard port.Solution:Option 1: Change the port in agent-orchestrator.yaml:
Option 2: Kill the process using port 3000:
When running multiple orchestrator instances, each needs a different port value.
Problem: Syntax error in agent-orchestrator.yaml.Common issues:
  • Incorrect indentation (use 2 spaces, not tabs)
  • Missing quotes around strings with special characters
  • Typo in field names
Solution: Validate YAML syntax at yamllint.com
Problem: Orchestrator can’t create worktrees or clones.Solution:
Problem: Agent doesn’t have permissions for git operations.Solution:

Next Steps

Now that Agent Orchestrator is installed and configured:

Quickstart

Spawn your first agent in 5 minutes

Configuration

Customize reactions, plugins, and routing

CLI Reference

Complete command reference

Troubleshooting

Common issues and solutions