# Agent Orchestrator Configuration # Copy to agent-orchestrator.yaml and customize. # Runtime data directories are auto-derived from this config location under: # ~/.agent-orchestrator/{hash}-{projectId}/ # You usually do not need to configure paths manually. # Web dashboard port port: 3000 # Terminal server ports (defaults: 14800/14801 — chosen to avoid conflicts with dev tools) # Override when running multiple dashboards to avoid EADDRINUSE # terminalPort: 14800 # directTerminalPort: 14801 # Default plugins (these are the defaults — you can omit this section) defaults: runtime: tmux # tmux | process agent: claude-code # claude-code | codex | aider | opencode # orchestrator: # agent: claude-code # worker: # agent: codex workspace: worktree # worktree | clone notifiers: [desktop] # desktop | slack | discord | webhook | composio | openclaw # Installer-managed external plugins (optional) # plugins: # - name: owasp-auditor # source: registry # registry | npm | local # package: "@ao-plugins/owasp-auditor" # version: "^0.1.0" # enabled: true # # - name: local-dev-plugin # source: local # path: ./plugins/local-dev-plugin # enabled: true # Projects — at minimum, specify repo and path projects: my-app: name: My App repo: org/my-app path: ~/my-app defaultBranch: main sessionPrefix: app # Issue tracker (defaults to github issues) # tracker: # plugin: linear # teamId: "your-team-id" # SCM webhook acceleration (optional) # scm: # plugin: github # webhook: # path: /api/webhooks/github # secretEnvVar: GITHUB_WEBHOOK_SECRET # signatureHeader: x-hub-signature-256 # eventHeader: x-github-event # deliveryHeader: x-github-delivery # maxBodyBytes: 1048576 # Files to symlink into workspaces # symlinks: [.env, .claude] # Commands to run after workspace creation # postCreate: # - "pnpm install" # Agent-specific config # agentConfig: # permissions: skip # --dangerously-skip-permissions # model: opus # Optional role-specific agent overrides # orchestrator: # agent: claude-code # agentConfig: # model: claude-sonnet-4-5 # worker: # agent: codex # agentConfig: # model: gpt-5-codex # Inline rules included in every agent prompt for this project # agentRules: | # Always run tests before pushing. # Use conventional commits (feat:, fix:, chore:). # Path to a rules file (relative to project path) # agentRulesFile: .agent-rules.md # Rules for the orchestrator agent (reserved for future use) # orchestratorRules: | # Prefer to batch-spawn related issues together. # OpenCode issue session strategy (only for agent: opencode) # opencodeIssueSessionStrategy: reuse # reuse | delete | ignore # Per-project reaction overrides # reactions: # approved-and-green: # auto: true # enable auto-merge for this project # Notification channels # notifiers: # slack: # plugin: slack # webhook: ${SLACK_WEBHOOK_URL} # channel: "#agent-updates" # # openclaw: # plugin: openclaw # url: http://127.0.0.1:18789/hooks/agent # Use https:// for remote (non-localhost) deployments # token: ${OPENCLAW_HOOKS_TOKEN} # retries: 3 # retryDelayMs: 1000 # wakeMode: now # Notification routing by priority # notificationRouting: # urgent: [desktop, slack] # agent stuck, needs input, errored # action: [desktop, slack] # PR ready to merge # warning: [slack] # auto-fix failed # info: [slack] # summary, all done # Reactions — auto-responses to events (these are the defaults) # reactions: # ci-failed: # auto: true # action: send-to-agent # retries: 2 # escalateAfter: 2 # # changes-requested: # auto: true # action: send-to-agent # escalateAfter: 30m # # approved-and-green: # auto: false # set to true for auto-merge # action: notify # priority: action # # agent-stuck: # threshold: 10m # action: notify # priority: urgent