Skip to main content
This guide helps you adopt beads’ multi-repo workflow for OSS contributions, team collaboration, and multi-phase development.

Quick Start

Already have beads installed? Jump to your scenario: New to beads? See Quick Start first.

What is Multi-Repo Mode?

By default, beads stores issues in its Dolt database under .beads/ in your current repository (.beads/embeddeddolt/ in the default embedded mode). Multi-repo mode lets you:
  • Route issues to different repositories based on your role (maintainer vs. contributor)
  • Aggregate issues from multiple repos into a unified view
  • Keep contributor planning separate from upstream projects
  • Maintain data integrity everywhere - Dolt version control in every repo

When Do You Need Multi-Repo?

You DON’T need multi-repo if:

  • ✅ Working solo on your own project
  • ✅ Team with shared repository and trust model
  • ✅ All issues belong in the project’s git history

You DO need multi-repo if:

  • 🔴 Contributing to OSS - don’t pollute upstream with planning
  • 🔴 Fork workflow - planning shouldn’t appear in PRs
  • 🔴 Multiple work phases - design vs. implementation repos
  • 🔴 Multiple personas - architect planning vs. implementer tasks

Core Concepts

1. Source Repository (source_repo)

Every issue has a source_repo field indicating which repository owns it:
  • . = Current repository (default)
  • ~/.beads-planning = Contributor planning repo
  • /path/to/repo = Absolute path to another repo

2. Auto-Routing

Beads automatically routes new issues to the right repository based on your role:

3. Multi-Repo Hydration

Beads can aggregate issues from multiple repositories into a unified database:

OSS Contributor Workflow

Problem: You’re contributing to an OSS project but don’t want your experimental planning to appear in PRs. Solution: Use a separate planning repository that’s never committed to upstream.

Setup (One-Time)

Manual Configuration

If you prefer manual setup:

Daily Workflow

Proposing Issues Upstream

If you want to share a planning issue with upstream:

Team Workflow

Problem: Team members working on shared repository with branches, but different levels of planning granularity. Solution: Use branch-based workflow with optional personal planning repos.

Setup (Team Lead)

Setup (Team Member)

Daily Workflow

Multi-Phase Development

Problem: Project has distinct phases (planning, implementation, maintenance) that need separate issue spaces. Solution: Use separate repositories for each phase.

Setup

Workflow

Multiple Personas

Problem: You work as both architect (high-level planning) and implementer (detailed tasks). Solution: Separate repositories for each persona’s work.

Setup

Workflow

Configuration Reference

Routing Settings

Multi-Repo Hydration

Override Auto-Routing

Troubleshooting

Issues appearing in wrong repository

Problem: bd create routes issues to unexpected repository. Solution:

Can’t see issues from other repos

Problem: bd list only shows issues from current repo. Solution:

Merge conflicts

Problem: Multiple repos with conflicting changes. Solution: Dolt handles merge conflicts natively with cell-level merge. See Troubleshooting for details.

Discovered issues in wrong repository

Problem: Issues created with discovered-from dependency appear in wrong repo. Solution: Discovered issues automatically inherit parent’s source_repo. This is intentional. To override:

Planning repo polluting PRs

Problem: Your ~/.beads-planning changes appear in PRs to upstream. Solution: This shouldn’t happen if configured correctly. Verify:

Backward Compatibility

Migrating from Single-Repo

No migration needed! Multi-repo mode is opt-in:

Disabling Multi-Repo

Best Practices

OSS Contributors

  • ✅ Always use ~/.beads-planning or similar for personal planning
  • ✅ Never commit .beads/ changes to upstream PRs
  • ✅ Use descriptive prefixes (plan-, exp-) for clarity
  • ❌ Don’t mix planning and implementation in the same repo

Teams

  • ✅ Use bd dolt push to sync the shared Dolt database
  • ✅ Use protected branch workflow for main/master
  • ✅ Review issue changes in PRs like code changes
  • ❌ Don’t delete .beads/ - you lose all issue data

Multi-Phase Projects

  • ✅ Use clear phase naming (planning, impl, maint)
  • ✅ Link issues across phases with dependencies
  • ✅ Archive completed phases periodically
  • ❌ Don’t duplicate issues across phases

Next Steps

  • bd-8rd - Migration and onboarding epic
  • bd-mlcz - bd migrate command (planned)
  • bd-kla1 - bd init --contributor wizard - implemented
  • bd-twlr - bd init --team wizard - implemented