Skip to main content
Projects are the core organizational unit in Agent Orchestrator. Each project represents a repository that agents can work on.

Basic Project Configuration

Every project requires at minimum:
object
required
The project ID (key) becomes the internal identifier. Choose something short and memorable.

Required Fields

string
required
GitHub repository in owner/repo format.
string
required
Local path to the repository. Supports ~ for home directory.
string
default:"main"
The main branch name. Usually main or master.

Optional Fields

string
Display name for the project. Defaults to the project ID if not specified.
string
Prefix for session IDs (e.g., app → app-1, app-2). Must match [a-zA-Z0-9_-]+.If not specified, automatically generated from the project path basename.
Session prefixes must be unique across all projects. If you have multiple projects with similar names, explicitly set different prefixes.

Plugin Overrides

Override default plugins for a specific project:
string
Override the runtime plugin for this project.
string
Override the agent plugin for this project.
string
Override the workspace plugin for this project.

Example: Different Runtimes per Project

Issue Tracker Configuration

object
Configure the issue tracker for this project. Defaults to GitHub Issues if not specified.

GitHub Issues (Default)

Linear

Linear requires LINEAR_API_KEY environment variable. Get your API key from https://linear.app/settings/api

Custom Trackers

You can implement custom tracker plugins for Jira, Asana, or any other system. See packages/plugins/tracker-* for examples. Source: packages/core/src/types.ts:899-907

SCM Configuration

object
Source control management configuration. Usually auto-inferred from repo.
For GitHub repositories, SCM is automatically set to github:
Explicit configuration (rarely needed):
Source: packages/core/src/config.ts:144-151

Workspace Customization

Files or directories to symlink from the main repo into each workspace.Useful for sharing environment files, credentials, or config across sessions.
Symlinks are created after workspace setup, pointing back to the main repository.

Post-Creation Commands

array
Commands to run after workspace creation (after git worktree/clone).Commonly used for installing dependencies or setting up the environment.
Commands run in the workspace directory. If any command fails, workspace creation fails.

Agent Configuration

object
Agent-specific settings that control how the agent runs.
enum
default:"skip"
How to handle Claude Code’s permission prompts:
  • skip — Use --dangerously-skip-permissions (recommended for automation)
  • default — Use default behavior (interactive prompts)
string
Override the AI model for this project.
Source: packages/core/src/config.ts:54-59

Agent Rules

Agent rules are instructions included in every agent prompt for a project. Use them to enforce coding standards, testing requirements, or project-specific conventions.

Inline Rules

string
Inline rules as a YAML multiline string.

External Rules File

string
Path to a file containing agent rules, relative to the project path.
Example .agent-rules.md:
Rules are loaded once at agent spawn time. Changes to rule files don’t affect running sessions.

Per-Project Reactions

object
Override global reaction configs for this project.
Enable auto-merge for a specific project:
More aggressive CI retry for a flaky project:
See Reactions for full details on reaction configuration.

Multi-Project Setup

Manage multiple repositories in a single configuration:
Source: examples/multi-project.yaml
Ensure each project has a unique sessionPrefix to avoid collisions.

Project Uniqueness Validation

Agent Orchestrator validates that:
  1. Project IDs (directory basenames) are unique
  2. Session prefixes are unique
If you have duplicate basenames:
You’ll get an error:
Solution: Use unique directory names or explicit session prefixes:
Source: packages/core/src/config.ts:157-212

Complete Example

A fully-configured project with all options:

Next Steps

Reactions

Configure auto-responses to CI failures, reviews, and events

Notifications

Set up Slack, Discord, and custom notification routing