Skip to content

bearlike/Grove

Repository files navigation

Grove

Grove

The terminal workspace manager for AI coding agents. Run a forest of them in parallel, and watch from your phone when you step away.

CI Docs Python 3.12+ License: MIT

Grove TUI on a MacBook: project-scoped workspaces with a live agent peek rail     Grove read-only web dashboard on a phone, showing the mobile workspace grid

Grove in your terminal, and on your phone. Run agents in parallel from your desk, then watch them from anywhere.

Overview

Grove is a terminal tool for running several AI coding agents at once, each in its own isolated workspace. A workspace is a dedicated git worktree on its own branch, paired with a tmux session and a window in the TUI. The rule is one agent, one worktree, one window.

This matters because agents are productive in parallel but chaotic in the same folder, where they overwrite each other's files and collide on the same branch. Grove gives each one its own space. That lets you run Claude Code on a feature, Codex on a failing test, OpenCode on a refactor, and Devin on a code review, all at the same time, and watch each one work live.

Grove is unopinionated. Commit a .grove/config.json to set your team's shared defaults, the agent list, the worktree layout, and the setup script every workspace runs, and each developer can still override it locally without touching the shared file.

A read-only web dashboard ships alongside the TUI, so you can check on every agent from your phone while the daemon stays loopback-only behind a paired session. Through all of it your git history stays yours: Grove never commits, never pushes, and never touches a remote branch.

Features

  • Project-scoped sessions. Run grove inside repo A and you only see workspaces for repo A. No mixing across projects.
  • Configurable, not opinionated. Worktree location, branch prefix, agent registry, init scripts, theme. Everything teams want to pin lives in <repo>/.grove/config.json. Six cascading layers (defaults → user → project → project-local → env → CLI) let teams enforce a baseline without taking the last word from individuals.
  • Branch-aware lifecycle. Create, pause (keep the branch, drop the worktree), resume, kill (deletes only branches Grove created, never touches remotes), respawn (recover an OFFLINE workspace whose tmux session vanished).
  • Live activity peek. A right-hand rail mirrors each agent's tmux pane four times per second and surfaces git position alongside it. It is best-effort and never blocks the TUI.
  • Side-effects at the edges. A clean engine (grove.core) with zero UI dependencies, plus a thin Textual TUI (grove.tui) and a read-only web dashboard (webapp/). The boundary is enforced by import-linter so every client reuses the engine unchanged.

Get started

Grove needs git and tmux, and installs to your PATH as grove straight from the repo, no clone required. With uv:

uv tool install "grove[daemon] @ git+https://github.com/bearlike/Grove"

No uv? pipx install "grove[daemon] @ git+https://github.com/bearlike/Grove", or plain pip install --user "grove[daemon] @ git+https://github.com/bearlike/Grove".

Then launch it inside any git repo, and upgrade whenever you like:

cd path/to/your/repo
grove config init        # scaffold .grove/config.json
grove                    # launch the TUI
uv tool upgrade grove    # update later (or: pipx upgrade grove)

See Get Started for prerequisites and every install path.

Configuration

Grove runs on sensible defaults, so it works the moment it is installed. To change them, two files layer on top of each other: a committed project config at <repo>/.grove/config.json (scaffold it with grove config init) and a personal user config at ${user_config_dir}/grove/config.json. Where both set the same option, the project layer wins.

Tip

The docs walk through writing them: project setup, agents, init scripts, the full reference, and the six-layer cascade.

🤖 Let an AI agent configure Grove for you

Configuration has a few layers and many knobs, so you do not have to write it by hand. Hand the prompt below to Claude Code, Codex, or any coding agent; it reads Grove's config skill and sets things up with you, verifying every field against your installed version.

Read https://raw.githubusercontent.com/bearlike/Grove/current/.claude/skills/configuring-grove/SKILL.md.
It is the skill for configuring Grove, a terminal workspace manager for AI coding agents.
Help me write my Grove user and project config, and verify every field against my installed version with `grove config schema --stdout`.

The skill teaches the agent the six-layer cascade, the exact file locations, the full schema, common setups (dependency installs, secrets routing, test and deploy directories, MCP server configs), and how to verify against your installed Grove.


Documentation

Full documentation lives at https://bearlike.github.io/Grove/latest/.

Section Covers
Get Started Install, prerequisites, first run, verify.
Configure Project setup, agents, init scripts, configuration reference.
Use TUI tour, CLI, web dashboard, authentication, daily workflow.
Capabilities Lifecycle, branch provenance, live activity, status semantics, configuration cascade.
Develop Architecture, public API, engineering principles, contributing, design system.
Troubleshooting Symptom → cause → fix for common failures.
Releases Release notes.

Contributing

Bugs and feature requests on the issue tracker. For development setup, lint/test commands, and PR conventions, see the contributing guide and CLAUDE.md.

License

MIT © Krishnakanth Alagiri.

About

The terminal workspace manager for AI coding agents. Run a forest of them in parallel, and watch from your phone when you step away.

Topics

Resources

License

Stars

Watchers

Forks

Contributors