kunchenguid/treehouse
Manage worktrees without managing worktrees.
해결하는 문제
Treehouse는 재사용 가능하고 격리된 git worktree 풀을 관리하여, 동일한 저장소의 여러 클론을 수동으로 관리하거나 AI 에이전트 세션마다 새로운 worktree를 생성할 필요를 없앱니다. 이는 에이전트 간 충돌을 방지하고, 세션 간에 종속성과 빌드 캐시를 유지함으로써 에이전트 실행 속도를 높입니다.
작동 방식
Treehouse는 구성된 루트 디렉터리(기본값은 ~/.treehouse/)에 저장된 worktree 풀을 유지 관리합니다. 사용자나 에이전트가 worktree를 요청하면, Treehouse는 풀에서 사용 중이지 않고 깨끗하며 재사용 가능한 worktree를 검색합니다. 발견되면 worktree를 최신 기본 브랜치로 리셋하고, 그렇지 않으면 분리된 HEAD 모드에서 새 worktree를 생성합니다.
주요 기능은 다음과 같습니다:
- 서브쉘 접근: 사용자는 worktree 내부의 서브쉘로 전환되며, 쉘을 종료하면 worktree가 풀로 반환됩니다.
- 지속적 임대: 장시간 실행 프로세스 없이도 지속적인 사용을 위한 임대가 가능하며, 명시적인 반환 명령어를 통해 재활용됩니다.
- 사용 중 감지: 실행 중인 프로세스와 예약 상태를 스캔하여 사용 중인 worktree가 아닌 경우에만 제공합니다.
- 안전 검사: 기본적으로 worktree의 정리 및 삭제는 드라이런으로 수행되며, 깨끗하고 기본 브랜치에 병합된 worktree만 제거되며, 특정 오버라이드 플래그가 사용되지 않는 한 손상된 상태 파일에 대한 복구도 지원합니다.
대상 사용자
동일한 프로젝트에 대해 여러 격리된 환경이 필요하지만, 클론의 부담이나 빌드 캐시 손실을 원하지 않는 개발자 및 AI 에이전트 운영자
주요 기능
- 즉시 격리: 수동 설정 없이 깨끗한 worktree에 빠르게 진입 가능
- 재사용 가능한 환경: 종속성과 빌드 캐시를 유지하여 중복 설치를 방지
- 충돌 없음: 사용 중인 worktree를 자동 감지하여 에이전트 간 충돌을 방지
- 안전한 관리: 강력한 정리 기능과 오라너스 정리, 손상된 풀 상태 파일의 상태 복구 기능 제공
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트