banyan

Getting started

Install banyan, create your first project, spin up your first parallel feature.

Prerequisites

Banyan runs on macOS and Linux. Windows isn't supported — use WSL2.

ToolWhy
Node.js ≥ 20runtime + native test runner
git ≥ 2.5git worktree, git rebase
tmux ≥ 3.0the workspace concept
bashhelper scripts
Claude Code CLIper-feature agents

Optional: Docker (compose stacks), gh/glab (merge against remotes), fzf (feature picker UI), $OPENROUTER_API_KEY (faster LLM slug generation).

Install

git clone https://github.com/LoicBch/banyan-cli
cd banyan-cli && npm install && npm run build && npm link
bn install-tmux

The last command writes ~/.config/banyan/banyan.tmux.conf. Add the printed line to your ~/.tmux.conf and reload.

Your first project

Two paths — pick one.

Via the dashboard wizard

bn serve
# http://localhost:4242 → "+ new project"

The wizard walks you through naming the project, adding repos (with tech auto-detection), and saving the config.

Via the CLI

cd ~/my-frontend-repo
bn init my-project                  # cwd = first repo
 
cd ~/my-backend-repo
bn my-project add-repo back
bn my-project add-repo app ~/AndroidStudioProjects/MyApp
 
bn ls                               # check the lot

Open the workspace

bn my-project start

You're now in a tmux session with two panes: the project orchestrator (Claude with --add-dir on every repo) and a free terminal for ad-hoc commands.

Spin up a feature

bn my-project wt my-feature

This:

  • Creates a worktree in every repo on branch feature/my-feature
  • Seeds gitignored files (.env.local, etc.) into each worktree
  • Spawns a Claude agent with --add-dir on all worktrees
  • Starts compose stacks for the feature (on dynamically-allocated ports)

Run it

bn my-project start my-feature

Each repo's run command spawns in its own tmux pane, with its allocated port + env vars injected.

Merge and clean

bn my-project merge my-feature
bn my-project cleanup my-feature

Done. Read Concepts next for the mental model, or jump to Commands for the full reference.

On this page