
thisguymartin/grove
요약
Grove는 여러 Git 브랜치를 동시에 다루는 개발자를 위한 AI 네이티브 터미널 워크스페이스입니다. Zellij 세션을 기반으로 LazyGit, AI 에이전트, 셸을 통합하여 복잡한 워크트리 환경을 즉시 구축합니다.
핵심 포인트
- Git 워크트리별 색상 구분 탭 제공
- AI 에이전트와 셸, LazyGit의 통합 환경
- 설정 없이 명령어 하나로 즉시 실행 가능
- Zellij 기반의 연결된 터미널 세션 관리
Grove는 여러 Git 브랜치를 동시에 작업하는 개발자들을 위한 AI 네이티브 터미널 워크스페이스 (workspace)입니다. 어떤 저장소(repo)에서든 명령어 하나만 실행하면 완전히 연결된 Zellij 세션을 얻을 수 있습니다. 각 워크트리 (worktree)마다 색상으로 구분된 탭이 생성되며, 각 탭에는 LazyGit, 사용자가 선택한 AI 에이전트 (AI agent), 그리고 셸 (shell)이 미리 로드되어 있습니다.
편집해야 할 설정 파일도, 관리해야 할 세션도 없습니다. 그저 grove라고 입력하면
바로 시작됩니다.


Grove는 여러분이 이미 사용 중인 도구들인 git worktrees, Zellij, LazyGit, 그리고 AI 에이전트 위에 구축된 얇은 셸 레이어 (shell layer)입니다.
Worktrees— 각 브랜치는 디스크 상의 별도 디렉토리에 존재하므로, 스태싱 (stashing) 없이 main, feature/auth, fix-login을 모두 동시에 체크아웃 (checked out) 할 수 있습니다. -
— 현재 저장소의 모든 워크트리를 찾아내어 즉석에서 Zellij 레이아웃 (layout)을 생성합니다. 각 워크트리는 하나의 탭이 됩니다. 경로 앞에 grove ., grove claude ., grove opencode ., 또는 grove codex .를 사용하여 다른 AI 에디터 (editor)를 선택할 수 있습니다. -
**각 탭 (Each tab)**은 세 개의 나란한 창 (panes)을 가집니다:
왼쪽 (60%): 해당 워크트리의 디렉토리에 범위가 지정된 LazyGit
중간 (~12%): 워크벤치 (Workbench) 셸 — 테스트, 서버 등 무엇이든 실행 가능
오른쪽 (~28%): 해당 워크트리에서의 AI 에이전트 (claude, gemini, opencode, 또는 codex)
Overview tab— 첫 번째 탭은 모든 워크트리에 걸친 워크트리 상태, AI 에이전트 상태, PR/CI 상태, 그리고 리소스 모니터링 (resource monitoring)을 보여주는 라이브 대시보드 (dashboard)를 표시합니다. -
세션 위생 (Session hygiene)— grove는 실행 전 동일한 이름의 이전 세션을 자동으로 종료하며, 터미널을 닫으면 세션도 종료됩니다. 오래된 Zellij 세션이 쌓이지 않습니다.
워크플로우: wtab / wta로 워크트리를 생성하고, grove를 실행한 뒤, Alt+Left/Right로 브랜치 간을 이동하세요. 완료된 브랜치는 wtrm 또는 wtp로 정리할 수 있습니다.
아키텍처 상세 정보: docs/architecture.md
bash / zsh:
bash <(curl -s https://raw.githubusercontent.com/thisguymartin/grove/main/install/install.sh)
fish shell (fish에서는 프로세스 치환 (process substitution) 방식이 다르므로 직접 다운로드하여 실행하세요):
curl -s https://raw.githubusercontent.com/thisguymartin/grove/main/install/install.sh | bash
이 명령은 저장소 (repo)를 클론 (clone)하고, brew 의존성 (dependencies)을 설치하며, 셸 별칭 (shell aliases)을 자동으로 설정합니다. 사용 중인 셸 (zsh/bash/fish)을 감지하며 여러 번 실행해도 안전합니다. 다시 실행하면 항상 깨끗하게 재설치됩니다 (기존 설치 항목을 강제 삭제하고, Grove Zellij 세션을 종료한 뒤, 다시 클론합니다).
사용자 정의 디렉토리에 설치하려면:
bash / zsh:
GROVE_DIR=~/my/path bash <(curl -s https://raw.githubusercontent.com/thisguymartin/grove/main/install/install.sh)
fish shell:
GROVE_DIR=~/my/path curl -s https://raw.githubusercontent.com/thisguymartin/grove/main/install/install.sh | bash
bash / zsh:
# 1. 클론 (Clone)
git clone https://github.com/thisguymartin/grove.git ~/.local/share/grove
# 2. 의존성 (dependencies) 설치
...
fish shell:
# 1. 클론 (Clone)
git clone https://github.com/thisguymartin/grove.git ~/.local/share/grove
# 2. 의존성 (dependencies) 설치
...
임의의 git 저장소 (repo)로 cd 한 뒤 다음을 실행하세요:
grove .
전체 명령어 참조: docs/commands.md
Grove를 직접 실행하지 않고 렌더링된 Zellij 레이아웃 (layout)을 로컬에서 테스트하려면:
bash ./launch-worktrees.sh --write-layout /tmp/grove-layout.kdl .
zellij --layout /tmp/grove-layout.kdl
이 명령은 다음을 수행합니다:
- 현재 저장소 (repo)의 모든 git 워크트리 (worktrees)를 탐색
- 동일한 이름을 가진 이전 세션 (session)을 자동으로 종료
- Overview 탭(첫 번째) + 워크트리 (worktree)당 하나의 색상 지정된 탭과 함께 Zellij 실행
터미널을 닫으면 세션 (session)이 자동으로 종료되므로, 남겨진 세션 (stale sessions)이 발생하지 않습니다.
핵심 명령어는 docs/commands.md에 있습니다.
가장 많이 사용되는 명령어:
| 명령어 | 설명 |
|---|---|
grove . | opencode를 기본 AI 에디터로 사용하여 워크스페이스 (workspace) 실행 |
grove claude . | Claude를 사용하여 워크스페이스 실행 |
grove codex . | Codex를 사용하여 워크스페이스 실행 |
wtab <branch> | 새로운 브랜치 (branch) + 워크트리 (worktree) 생성 |
wta <branch> | 기존 브랜치에 대한 워크트리 추가 |
wtco <branch> | 워크트리 디렉토리로 이동 |
wtinfo [branch] | 워크트리 상태 및 업스트림 (upstream) 정보 표시 |
wtp [base] | 병합된 워크트리 정리 (prune) |
워크트리 생명주기 관리를 위한 독립형 스크립트입니다. 전체 명령어 목록은 docs/commands.md를 참조하세요.
alias gwt='~/.local/share/grove/git-worktree.sh'
# 워크트리 생성
wtab feature/auth # 새 브랜치 + 워크트리
wta existing-branch # 기존 원격 브랜치에 대한 워크트리
...
grove는 재실행하기 전에 이전 세션 (session)을 자동으로 종료합니다. 세션은 터미널이 닫힐 때도 자동으로 종료됩니다 (on_force_close "quit").
zj-kill # 모든 Zellij 세션 종료 (최후의 수단)
zellij kill-session <name> # 특정 세션 종료
docs/commands.md: 표준 명령어 참조
docs/architecture.md: 런타임 흐름 (runtime flow), 레이아웃 (layout) 및 구현 구조
CHEATSHEET.md: 빠른 참조 및 키 바인딩 (keybindings)
참고: layouts/workspace.kdl.template은 Grove에 의해 렌더링되는 내부 템플릿입니다. zellij --layout에 직접 전달하도록 설계되지 않았습니다.
- Zellij — 터미널 멀티플렉서 (terminal multiplexer)
- LazyGit — Git TUI (선택 사항, 미설치 시 셸로 대체)
- Claude Code, Gemini CLI, OpenCode, 또는 Codex CLI (
codex) — AI 에이전트 (AI agent) (선택 사항)
Grove에는 가이드된 설정을 위한 내장 Claude Code 슬래시 명령어 (slash command)가 포함되어 있습니다. 저장소를 클론 (clone)한 후, 모든 Claude Code 세션에서 /setup을 실행하면 설치, 구성 및 문제 해결에 대한 대화형 도움을 받을 수 있습니다.
CLAUDE.md를 통해 프로젝트 수준의 컨텍스트 (context)도 제공되므로, Claude Code가 즉시 아키텍처 (architecture)를 이해할 수 있습니다.
전체 키보드 참조는 CHEATSHEET.md를 확인하세요.
MIT
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Codex tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기