Private beta · GitHub-native · AI-orchestrated

Your migration script runs in minutes. The PRs take months.

Banshee is the orchestration layer for code changes at scale — define changes as YAML, bash, or AI prompts, execute across hundreds of GitHub repos, and manage the full PR lifecycle from creation through auto-merge.

See how it works
Think Argo CD for code migrations — declare desired state, orchestrate execution, track to completion.
campaign / spring-boot-3-migration
Live — cohort 3 of 4
Spring Boot 3.x Migration 340 repos · started 3d ago · auto-merge enabled
231
Merged
48
In review
24
CI running
13
Needs attention
Repository Team Status Reviewers Updated
payments-api @payments Merged 2 approved 2h ago
user-service @identity In review reminder sent 4h ago
notification-engine @comms CI running — 12m ago
order-processor @commerce Conflict escalated 1d ago
Orchestrates
GitHub Claude Code GitHub Copilot ast-grep OpenRewrite jscodeshift
37%
Bot-generated PRs that get merged (vs 73% for humans)
ACM research
3–6 mo
Average enterprise code migration timeline
Industry average
70%
Of migration time burned on PR lifecycle, not generating diffs
Spotify engineering
$600K
Annual cost to build & maintain this tooling in-house
3 engineers × 1 year
The problem

You've already automated the easy part

Your sed script or AI tool generates the diff in seconds. Then reality hits. Spotify found that their "simple" Maven dependency updater grew to over 20,000 lines of code. Airbnb estimated their test migration would take 1.5 years manually. The bottleneck isn't generating the change — it's herding the PRs to completion.

Week 1 — "Quick script, easy migration"

You write a bash loop. It hits 5 repos. Works great. You write it for the other 295. GitHub's undocumented secondary rate limits suspend your API access for two hours. You add retry logic.

2 hours → half a day

Week 3 — "I need a spreadsheet"

300 PRs are open. You can't tell which passed CI, which are waiting on review, and which got merge conflicts overnight. You start a Google Sheet. The UK Government Digital Service built a custom tool called "the Seal" just for this problem. Your Sheet is already stale.

4 hours/week just tracking status

Week 6 — "Hey, can someone review this?"

You're pinging reviewers on Slack daily. Dependabot security patches see just 13% adoption in JS projects. One team says they'll "get to it next sprint." Migration is 60% done and momentum is dying. You are now a project manager.

8 hours/week chasing reviewers

Month 3 — "It was supposed to take two weeks"

82% complete. The remaining 18% are the hard ones — teams that never respond, repos with weird branch protections, CI pipelines that flake. 64% of internal platform tooling investments fail at exactly this point. Your manager asks for a status update. You open the spreadsheet.

3 months and counting
The fix

The orchestration layer between your change tool and merged code

Your platform team manages infrastructure declaratively with Terraform and rolls out deployments progressively with Argo CD. Code changes deserve the same operational maturity.

Think: Argo CD for code migrations — declare desired state, orchestrate execution, track convergence to completion
Define changes with
YAML configs
Bash / shell scripts
AI prompts (Claude, Copilot)
ast-grep, OpenRewrite, jscodeshift
→
banshee
The lifecycle & governance layer
↳ Batch & gradual rollout↳ PR creation & review management↳ Reminders & escalation↳ Auto-merge after CI + protections↳ Campaign progress dashboards
→
Changes land in GitHub
PRs created per repo
Reviewers auto-assigned
CI validated per PR
Auto-merged when ready
Capabilities

Four things no other tool does well

Sourcegraph creates changesets. Moderne runs recipes. Renovate bumps dependencies. None of them solve what happens after the PRs are open.

Batch execution with gradual rollout

"Roll out code changes like you roll out deployments — gradually, with guardrails."

Define rollout cohorts by team, risk level, or repo attributes. Start with 10 low-risk repos, validate CI passes, expand to 50, then go org-wide. Uber found that 0.3% of weekly commits affect 1,000+ services — blast radius control matters.

name: spring-boot-3-migration
targets:
  topic: java
  exclude: archived
steps:
  - run: ./scripts/upgrade-spring.sh
  - ai:  "Update deprecated API calls to Boot 3.x equivalents"
rollout: gradual    # batch | gradual | scheduled
batch_size: 25
pause_on_failure: true

Review reminders that actually get PRs merged

"Stop chasing reviewers on Slack. Let the platform do the follow-up."

Automated review prompts to CODEOWNERS, teams, and individuals — with configurable escalation paths, reminder cadences, and reviewer response time tracking. No competitor (Sourcegraph, Moderne, or Codemod) sends proactive review reminders. They track status — they don't actively nudge.

Campaign dashboard that kills the spreadsheet

"See every migration's progress across every repo, in one dashboard."

Real-time rollout progress: merged, in review, CI failing, blocked, not started. Filter by team, repo, status, or cohort. Export for stakeholder updates. GitHub has no native cross-repo tracking — practitioners built custom Actions just to link PRs, describing workarounds as "terrible."

AI-orchestrated, governance-first

"Bring any AI. We handle the governance."

The platform orchestrates external AI tools (Claude Code, Copilot) without coupling to any specific engine. 75% of technology leaders expect technical debt to rise as AI-generated code increases. Teams need AI leverage without losing control. You define prompts — we manage what happens after: PR creation, review, compliance, merge.

Get started

Install a GitHub App. Run your first campaign in minutes.

01 — DEFINE
$ cat change.yaml

# No proprietary DSL. Just YAML.
name: eslint-v9-upgrade
steps:
  - run: npx @eslint/migrate
  - ai:  fix remaining issues
reviewers: from-codeowners

Write a change spec

YAML, bash, or AI prompts. Formats you already know — no GritQL, no OpenRewrite recipes, no proprietary DSL.

02 — EXECUTE
$ banshee run eslint-v9 \
    --target topic:frontend \
    --rollout gradual \
    --batch 25

✓ 25/142 repos queued (cohort 1)
✓ PRs opening...
✓ Reviewers assigned from CODEOWNERS

Target and roll out

Filter by topic, team, language, or custom query. Batch, gradual rollout, or scheduled. GitHub App handles auth — no PATs.

03 — TRACK TO COMPLETION
  ━━━━━━━━━━━━━━━━━━━━━━ 89%

  126 merged         auto-merge ✓
    9 in review      reminders sent
    4 CI failing     retrying
    3 blocked        escalated to leads

Monitor, merge, done

Auto-merge when CI passes. Reminders for stale reviews. Escalation for blocked PRs. Notified on exceptions, not noise.

Honest answers

"Why not just use…?"

Fair question. Here's where each alternative stops and where banshee starts.

"…a bash script + GitHub API?"

Scripts work great for 10 repos. Then you hit GitHub's undocumented rate limits that suspend API access for hours, zero PR lifecycle tracking, no error recovery when repo 47 of 200 fails, and the maintenance burden of handling CODEOWNERS, merge conflicts, and branch protection edge cases. Spotify's "simple" Maven updater grew to 20,000+ lines. The tipping point is ~200 repos or when migrations become recurring.

"…Sourcegraph Batch Changes?"

Batch Changes is capable — YAML spec, burndown charts, bulk merge. But it requires deploying a full Sourcegraph instance (code search, indexing, server infrastructure), has $88K median annual contracts, and its PR lifecycle management is passive — dashboards but no active follow-up, no review reminders, no gradual rollout scheduling. Also: Sourcegraph went fully proprietary in 2024.

"…Renovate or Dependabot?"

Both are excellent at dependency version bumps — and free. Use them for that. But they can't migrate a framework, apply a codemod, update an internal API, or enforce a coding standard. They also lack cross-repo campaign tracking. Use Renovate for dependency updates. Use banshee for everything else — and to manage the lifecycle of all your cross-repo changes in one place.

The pain is real

Built for the teams that maintain everyone else's tools

Platform engineers and DevX teams describe this work as "tedious," "a nightmare," and "a pain in the ass." This product exists because we lived it.

"We automated the migration itself in a weekend. Herding 400 PRs through review took three months and most of my sanity."

— Platform engineer, r/platformengineering

"We didn't get faster. We just moved the traffic jam from 'generating diffs' to 'landing changes.' The spreadsheet is the new bottleneck."

— Senior SRE, Hacker News discussion

"Bot PRs created a social expectation upon the owners to thoroughly vet every change, and became a major bottleneck."

— Skyscanner engineering blog
SOC 2 Type II (in progress)
GitHub Marketplace
Open-source CLI
Fine-grained repo permissions
Pricing

Pricing that scales with your fleet

Anchored on repositories managed. All plans include full feature access — we gate by scale, not capabilities.

Full features at every tier · No feature gating · 14-day Business trial included free
Starter
Free
Up to 5 private repos
Prove value on a subset before requesting budget.
  • Full campaign execution
  • PR lifecycle automation
  • AI tool orchestration
  • Rollout dashboard
  • 3 team members
  • Community support
Recommended
Team
$400/mo
Up to 50 repositories
+$20/repo/mo above 25 repos
For platform teams running real campaigns across the org.
  • Everything in Starter
  • Gradual rollout & scheduling
  • Review reminders & escalation
  • Auto-merge orchestration
  • 15 team members (unlimited viewers)
  • Slack notifications
  • Email support
Get early access
Business
$1,500/mo
Up to 500 repositories
+$12/repo/mo above 100 repos
For scaling orgs with serious migration workloads.
  • Everything in Team
  • Custom approval workflows
  • API access & webhooks
  • Audit logs & team RBAC
  • Unlimited users
  • Priority support with SLA
Enterprise
Custom
Unlimited repositories
Starting ~$40K/year
For large orgs with compliance requirements and 500+ repos.
  • Everything in Business
  • SSO / SAML / SCIM
  • Dedicated instance option
  • GHES support
  • Compliance reporting
  • Dedicated CSM
  • Custom integrations
Annual billing: 20% discount. All prices USD. Repos expand seamlessly within tiers — no procurement cycles.
Ready?

Your next org-wide migration doesn't have to take months

Install the GitHub App, define a change spec, and run your first campaign in under 10 minutes. Free for up to 5 repos — no credit card required.

Read the docs

Questions? Email hello@bansheeapp.com — I reply to everything.