Configuration

All configuration is in config/repositories.json.


Minimal Config

{
  "owner": "your-github-username",
  "repositories": [
    {
      "name": "my-app",
      "url": "https://github.com/your-github-username/my-app.git"
    }
  ]
}

That's it. Barbossa auto-detects everything else.

Note: Use HTTPS URLs (recommended) or SSH URLs if you have SSH keys configured.

Common Options

{
  "owner": "your-github-username",
  "repositories": [
    {
      "name": "my-app",
      "url": "https://github.com/your-github-username/my-app.git",
      "package_manager": "pnpm",
      "do_not_touch": ["src/lib/auth.ts", "prisma/migrations/"]
    }
  ],
  "settings": {
    "tech_lead": { "auto_merge": true }
  }
}
FieldDescription
package_managernpm, yarn, pnpm, or bun (auto-detected if omitted)
do_not_touchFiles/directories agents should never modify
auto_mergeEnabled by default. Set to false for manual merge control

Protected Files

Always protect sensitive code:

{
  "do_not_touch": [
    ".env*",
    "src/lib/auth.ts",
    "prisma/migrations/"
  ]
}

Multiple Repos

{
  "owner": "your-username",
  "repositories": [
    { "name": "frontend", "url": "https://github.com/you/frontend.git" },
    { "name": "backend", "url": "https://github.com/you/backend.git" }
  ]
}

Timezone

Set the TZ environment variable to control when agents run. Default is UTC.

# In your shell or .env file
export TZ=America/New_York

Or in docker-compose.yml:

environment:
  - TZ=Europe/London

Common Timezones

RegionTimezone
US PacificAmerica/Los_Angeles
US MountainAmerica/Denver
US CentralAmerica/Chicago
US EasternAmerica/New_York
UKEurope/London
Central EuropeEurope/Berlin
Eastern EuropeEurope/Kiev
IndiaAsia/Kolkata
SingaporeAsia/Singapore
JapanAsia/Tokyo
Australia EastAustralia/Sydney
New ZealandPacific/Auckland

Full list: IANA Time Zones