Agent Configuration Files
YAML config reference
Agent Configuration Files
BambooSnow agents are configured using YAML files stored in your repository. This reference covers all configuration options.
File Location
Configuration files are stored in the .bamboosnow directory:
your-repo/
├── .bamboosnow/
│ ├── config.yml # Global settings
│ └── agents.yml # Agent configurations
├── src/
└── ...
Global Configuration
.bamboosnow/config.yml contains repository-wide settings:
# BambooSnow Configuration
version: 1
# Repository settings
repository:
default_branch: main
language_priority:
- typescript
- python
# Notification settings
notifications:
slack:
channel: "#dev-notifications"
on_success: false
on_failure: true
email:
recipients:
- team@company.com
# Default agent settings (can be overridden per-agent)
defaults:
timeout: 300
retry_count: 3
log_level: info
Agent Configuration
.bamboosnow/agents.yml defines your agents:
agents:
- name: code-reviewer
template: code-reviewer
enabled: true
triggers:
pull_request:
- opened
- synchronize
config:
review_style: balanced
min_severity: warning
- name: security-scanner
template: security-scanner
enabled: true
triggers:
pull_request:
- opened
push:
branches:
- main
config:
block_on_findings: true
Configuration Schema
Agent Definition
| Field | Type | Required | Description | |-------|------|----------|-------------| | name | string | Yes | Unique identifier for the agent | | template | string | Yes | Agent template to use | | enabled | boolean | No | Whether agent is active (default: true) | | triggers | object | Yes | Events that trigger the agent | | config | object | No | Template-specific configuration |
Triggers
Pull Request Triggers
triggers:
pull_request:
types:
- opened
- synchronize
- reopened
- ready_for_review
branches:
include:
- main
- "release/*"
exclude:
- "wip/*"
paths:
include:
- "src/**"
exclude:
- "docs/**"
Push Triggers
triggers:
push:
branches:
- main
- "release/*"
paths:
- "src/**"
Schedule Triggers
triggers:
schedule:
- cron: "0 9 * * 1" # Every Monday at 9am UTC
timezone: America/New_York
Manual Triggers
triggers:
workflow_dispatch: true
repository_dispatch:
types:
- run-agents
Environment Variables
Reference environment variables in your config:
config:
api_key: ${EXTERNAL_API_KEY}
slack_webhook: ${SLACK_WEBHOOK_URL}
Set these in the BambooSnow dashboard under Settings > Environment Variables.
Conditional Configuration
Use conditions for dynamic behavior:
agents:
- name: code-reviewer
template: code-reviewer
conditions:
# Only run on PRs from specific users
- type: author
match:
- "*"
- "!dependabot[bot]"
# Only run on PRs with certain labels
- type: label
match:
- "needs-review"
Inheritance and Overrides
Override default settings per-agent:
# In config.yml
defaults:
timeout: 300
notifications:
slack: true
# In agents.yml
agents:
- name: thorough-reviewer
template: code-reviewer
config:
timeout: 600 # Override default
notifications:
slack: false # Override default
Validation
Validate your configuration:
# Using the BambooSnow CLI
bamboosnow config validate
# Or in CI
npx @bamboosnow/cli config validate