프로젝트 소개

Wisetree는 Rust와 Ratatui로 구축된 git worktree용 대화형 터미널 우선 관리자다. 원시 `git worktree` 명령을 TUI와 스크립트 가능 CLI로 감싸서, worktree를 생성하고 조망하고 이동하고 삭제하는 일이 여러 줄의 명령이 아니라 키 입력 한 번으로 가능해진다. 동일한 저장소의 각기 다른 브랜치와 격리된 체크아웃에서 여러 AI 코딩 에이전트(Claude Code, Codex CLI, Gemini CLI, Opencode, Cursor, Aider)를 병렬로 실행하는 개발자를 대상으로 한다. 핵심 기능: - 안내식 생성: `wisetree create`는 격리된 worktree를 만들고, 로컬 전용 파일(`.env*`, `.vscode/**`, 키, 편집기 설정)을 복사할 수 있으며, 공유 캐시에서 무거운 의존성 폴더를 링크하고, 설정 명령을 실행하고, 편집기를 열고, 새 디렉터리로 셸을 이동시킨다. - 대시보드: 모든 worktree를 보여주는 실시간 자동 새로고침 표로, 경로, 브랜치, 상태(Clean/Dirty/Opened/Merged), 앞섬/뒤짐 수, 마지막 커밋, `gh`를 통한 선택적 GitHub PR 상태(번호, 상태, 제목, CI, 리뷰, 병합 준비 상태), 그리고 지원되는 AI 도구의 활동을 집계하는 AI Status 열(Pending/Running/Finished/Failed)을 표시한다. PR 데이터는 일괄 처리되고, 디스크에 캐시되며, SHA 변경 시 새로고침되고, 속도 제한 후에는 백오프한다. - 대시보드 상호작용: 화살표 키 탐색, 경로·브랜치·SHA·커밋 메시지·상태·앞섬/뒤짐·PR 제목 및 URL에 걸친 증분 퍼지 검색; 행 작업으로 이동, 설정된 터미널 명령으로 열기, 경로 복사, PR 열기/업데이트/병합/닫기; Merged, Closed, Open, Clean, Dirty 그룹에 대한 일괄 삭제 버튼과 다중 대상 확인 및 진행 표시; 좁은 터미널을 위한 컴팩트 모드. - 공유 캐시: worktree 링크 패턴에서 사용하는 저장소별 의존성 캐시를 검사, 정리 또는 비우기. - 구성: 저장소 로컬 `.wisetree/config.json`, 전역 `~/.wisetree/config.json`, 설정 화면, 그리고 `terminalCommand`, `deleteBranchWithWorktree`, `dashboard.showPullRequests` 같은 옵션. - 셸 통합: 일회성 설치 프로그램이 zsh/bash 프로필에 래퍼를 추가하여 단순한 `wisetree` 명령으로 현재 셸을 선택한 worktree로 `cd`할 수 있게 하고, 탭 완성도 제공한다. - 풀 리퀘스트 명령 파일: Explain, Develop, Bugkill, Split, Improve, Review 워크플로를 위한 `.wisetree/<command>/` 아래의 도우미 문서. - Split 명령: 하나의 큰 커밋된 브랜치를 검토 가능한 PR들의 순서 있는 스택으로 바꾸며, AI는 SRP 경계 계획과 집중된 제목/설명 초안 작성에만 사용한다. 인벤토리, 줄 수 계산, 테스트 분류, 계획 렌더링, 브랜치/worktree 생성, 커밋, GitHub 게시 및 메타데이터 적용은 결정적이다. 인증된 `gh`와 `gh stack` 미리보기 명령이 필요하다. 캐시된 초안과 함께 재개 가능하고 신원이 확인된 실행을 지원한다. 설치 채널로는 Homebrew, npm, 셸 설치 프로그램, PowerShell 설치 프로그램, 그리고 Rust 1.78+로 소스에서 빌드하기가 있다. CI는 Ubuntu와 macOS에서 경고를 오류로 처리하여 fmt, clippy, build, test를 실행한다.