Skip to content

Code-and-Sorts/meta-router

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Meta Router

Run multiple BMad Method projects (BMad is an agent-driven planning and development workflow) out of one repo. One shared _bmad/ core, one project active at a time, switched with a symlink swap.

CI License: MIT Docs

BMad assumes one project per repo. If several projects share the same agents and workflows, you'd otherwise duplicate _bmad/ everywhere. This keeps a single core and isolates each project's artifacts.

Meta Router is an independent tool that builds on the BMad Method; it is not affiliated with or endorsed by the BMad project.

Browse a live example →: a generated metarepo with two projects, sample artifacts, and the worktree setup. Regenerated on every push to main.

Quick start

Requirements: Node.js ≥ 20 (for BMad), git, bash. On Windows, set core.symlinks=true (WSL works out of the box).

Via the skill: install it, then ask your agent to set up a metarepo; the skill runs setup from wherever it's installed.

gh skill install Code-and-Sorts/meta-router meta-router

Or clone and run setup yourself:

git clone https://github.com/Code-and-Sorts/meta-router
bash meta-router/skills/meta-router/scripts/setup.sh my-metarepo

Setup asks six things: output folder name (default features), docs folder name (default docs), your BMad skill level, which agent tool you use (Claude Code, GitHub Copilot, or Codex), which projects to create, and whether to enable GitHub sync. Then it installs BMad and scaffolds everything. It also runs non-interactively for CI; see the setup environment variables.

After that, drive the metarepo either way.

Use the skill: generated metarepos include the meta-router agent skill automatically (scripts and templates ship inside it at .claude/skills/meta-router/), so your agent can switch projects, cut worktrees, and run the GitHub sync on request. Or call the bundled script directly:

cd my-metarepo
router=.claude/skills/meta-router/scripts/meta-router.sh   # .github or .codex for other tools
bash $router init food-inventory   # create + switch to a project
bash $router switch camera-app     # change active project
bash $router list                  # list projects

switch repoints a handful of symlinks at the repo root (features/, docs/, skills, repos/, implementation/) so BMad reads and writes the active project's artifacts; nothing is copied or deleted.

Documentation

  • How it works: the symlink swap, shared vs. per-project context, and the metarepo layout.
  • Reference: every meta-router.sh command, configuration, setup env vars, and the file manifest.
  • Source repos and worktrees: declare each project's repos in repos.yaml, then cut per-story git worktrees across them.
  • GitHub Issues + Projects sync: optionally mirror BMad artifacts to issue trees and a project board.

Contributing

Issues and PRs welcome; CONTRIBUTING.md covers tests, shellcheck, and PR expectations.

About

Multi-project context switching for BMad Method — share one agent core across isolated projects with symlink routing

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Contributors