banyan

Commands

Full CLI reference — top-level and per-project commands.

Top-level

bn ls                          list all projects
bn init <project>              create a project
bn ask "<question>"            answer from project memory
bn serve [--remote]            web dashboard (--remote = HTTPS tunnel + QR)
bn install-tmux [-f]           render the tmux config
bn mcp-serve                   MCP server over stdio
bn mcp-log [-f] [-n N]         tail recent MCP tool calls

Lifecycle

bn <project> start                      workspace (orchestrator + terminal)
bn <project> start <feature> [repos…]   run processes for the feature
bn <project> stop <feature>             stop run processes
bn <project> kill                       full session teardown
bn <project> attach / detach / status
bn <project> resume                     restore after reboot
bn <project> ls-features                features with a running test window
bn <project> ports [feature]            port allocations
bn <project> deploy [repo] [args…]

Worktrees + git ops

bn <project> wt [feature] [repos…]      create worktree(s) + agent pane
  -p "<prompt>"   LLM-named slug from prompt
  -m <mode>       interactive | assisted | autonomous | autopilot
  --review-plan   gate execution behind plan approval
  --prefix <p>    branch prefix (default 'feature')

bn <project> task <feature> <prompt>    paste into the feature's agent pane
bn <project> wt-rm <feature> [repo]
bn <project> wt-ls
bn <project> rebase <feature> [repo]
bn <project> merge <feature> [repo]
bn <project> cleanup <feature> [repo]   stop tests + remove + delete + close
bn <project> sync                       rebase every active feature
bn <project> pulse [--watch <s>]

Agents

bn <project> todo <feature>             the agent's TODO list
bn <project> reports [feature]          end-of-task reports
bn <project> approve <feature>          approve a plan or report
bn <project> agent-prompt               manage standing system prompt

Compose stacks

bn <project> env ls
bn <project> env up <feature>
bn <project> env down <feature>         keeps volumes
bn <project> env recreate <feature>     wipe volumes + restart
bn <project> env logs <feature> [service]
bn <project> env exec <feature> <service> [cmd…]

Config mutations

bn <project> add-repo <name> [path]
bn <project> remove-repo <name>
bn <project> remove
bn <project> set-base <repo> <branch>
bn <project> set-run <repo>             interactive run config editor
bn <project> infer-run [repo]           auto-detect tech (Node/Spring/…)
bn <project> config                     dump stored config

CWD inference

Inside a configured repo (or worktree, or parent), drop the project name — banyan infers from cwd:

cd ~/Dev/myproject
bn wt login              # ≡ bn myproject wt login
 
cd ~/Dev/myproject/worktree-front/login
bn start                 # ≡ bn myproject start login

Or symlink to skip the project arg entirely:

ln -s "$(which banyan)" ~/.local/bin/myproject
myproject start
myproject wt login

On this page