DocumentationConfigurationAgent Configuration Files
Configuration

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
BambooSnow - AI Agent Automation Platform