GitHub - smtg-ai/claude-squad: Manage multiple AI terminal agents like Claude Code, Aider, Codex, OpenCode, and Amp.
요약
tmux를 사용하여 독립적인 세션을, git worktrees를 사용하여 충돌 없는 개별 코드베이스를 제공함으로써 여러 작업을 동시에 효율적으로 수행할 수 있도록 돕습니다.상세 내용
핵심 기능은 다음과 같다:
* 백그라운드 작업 처리: yolo 또는 auto-accept 모드를 포함하여 작업을 백그라운드에서 완료할 수 있다.
* 단일 인터페이스 관리: 모든 AI 에이전트 인스턴스와 관련 작업을 하나의 터미널 창에서 관리한다.
* 변경 사항 검토 및 체크아웃: 코드를 적용하거나 GitHub에 푸시하기 전에 변경 사항을 미리 검토하고 체크아웃할 수 있는 기능을 제공한다.
* 격리된 Git 작업 공간: 각 작업(task)은 독립적인 Git 작업 공간(git worktree)을 가지므로, 코드베이스 충돌 없이 여러 작업을 동시에 진행할 수 있다.
이 애플리케이션의 핵심 방법론은 다음과 같은 기술 스택을 활용한다:
* tmux: 각 AI 에이전트 세션에 대해 격리된 터미널 세션을 생성한다. 이를 통해 여러 에이전트가 동시에 독립적으로 실행될 수 있는 환경을 제공한다.
* git worktrees: 각 작업에 대해 별도의 Git 작업 트리를 사용하여 코드베이스를 격리한다. 이는 한 작업의 변경 사항이 다른 작업에 영향을 미치지 않도록 보장하며, 브랜치 간 전환 및 동시 작업 환경을 용이하게 한다.
* TUI (Text-based User Interface): 간단하고 직관적인 TUI 인터페이스를 통해 사용자가 AI 에이전트 인스턴스와 세션을 쉽게 탐색하고 관리할 수 있도록 한다.
설치는 Homebrew를 통해 brew install claude-squad 명령으로 가능하며, ln -s를 통해 cs라는 단축 명령어를 생성한다. 수동 설치는 curl -fsSL https://raw.githubusercontent.com/smtg-ai/claude-squad/main/install.sh | bash 명령을 사용하여 ~/.local/bin에 바이너리를 배치한다. 사용자 지정 바이너리 이름도 지원한다. 필수 선행 조건으로는 tmux와 gh (GitHub CLI)가 있다.
사용법은 cs 명령을 통해 시작하며, -p 플래그를 사용하여 특정 프로그램(예: cs -p "codex", cs -p "aider ...")을 지정하여 실행할 수 있다. 기본 프로그램은 claude이며, cs debug 명령으로 설정 파일 위치를 확인하여 기본값을 변경할 수 있다.
애플리케이션 내 메뉴는 다음과 같은 주요 명령어를 제공한다:
* 인스턴스/세션 관리: n (새 세션 생성), N (프롬프트로 새 세션 생성), D (선택된 세션 종료/삭제), ↑/j, ↓/k (세션 간 이동).
* 액션: ↵/o (선택된 세션에 연결하여 다시 프롬프트), ctrl-q (세션에서 분리), s (브랜치 커밋 및 GitHub 푸시), c (변경 사항 커밋 및 세션 일시 중지), r (일시 중지된 세션 재개), ? (도움말 메뉴 표시).
* 탐색: tab (미리보기 탭과 diff 탭 전환), q (애플리케이션 종료), shift-↓/↑ (diff 뷰 스크롤).
주요 플래그는 autoyes (-y) (실험적 기능으로, 모든 인스턴스에서 프롬프트를 자동 수락), help (-h), program (-p) (새 인스턴스에서 실행할 프로그램 지정) 등이 있다. FAQ 섹션에서는 failed to start new session: timed out waiting for tmux session 오류 발생 시 claude와 같은 기반 프로그램을 최신 버전으로 업데이트할 것을 권장한다.