Cursor CLI와 Git Worktree
Worktree를 쓰면 같은 리포지토리에 여러 디렉터리(각각 다른 브랜치)를 둘 수 있습니다. Cursor CLI는 실행한 디렉터리 기준으로 동작합니다. 둘을 합치면 여러 터미널에서 각각 다른 worktree에 cursor agent를 병렬로 돌릴 수 있습니다 — Cursor 창을 여러 개 띄우지 않고, 키보드만으로 멀티태스킹.
왜 같이 쓰나?
| 방식 | 방법 | 적합한 경우 |
|---|---|---|
| Worktree + Cursor 창 여러 개 | worktree당 창 하나 | 파일 트리·미리보기가 필요한 IDE 사용자 |
| Worktree + CLI | 터미널 여러 개, 각각 worktree에 cd 후 cursor agent |
키보드 중심 사용자 또는 서버/SSH 환경 |
공통점: 각 worktree는 독립 디렉터리 → 각각 자기 컨텍스트 → 서로 발을 밟지 않는 병렬 개발. 여러 클론이 다른 브랜치에서 동시에 일하는 것과 비슷합니다.
기본: 터미널 하나당 worktree 하나
이미 worktree를 만들어 두었다고 가정하면:
~/projects/
├── my-app/ ← main
├── my-app--feature-auth/ ← feature/auth
└── my-app--feature-payment/ ← feature/payment
터미널 1(auth 작업):
cd ~/projects/my-app--feature-auth
cursor agent "Implement JWT login"터미널 2(payment 작업):
cd ~/projects/my-app--feature-payment
cursor agent "Add Stripe checkout flow"CLI는 기본적으로 현재 작업 디렉터리를 컨텍스트로 쓰므로, 두 터미널은 각각 자기 worktree만 수정합니다. “CLI 에이전트 두 개가 병렬로 돌아가는” 구조 — Cursor 창 두 개를 열 필요 없고, 리소스 절약과 컨텍스트 전환 감소.
디렉터리 안 바꾸고: --path로 worktree 지정
메인 프로젝트 디렉터리에 있는데, CLI가 특정 worktree에서만 작업하게 하고 싶다면:
cd ~/projects/my-app
cursor agent "Add unit tests for feature/auth" --path ../my-app--feature-auth--path로 “어느 디렉터리를 볼지”를 지정 — worktree 경로입니다. 한 번에 하나의 worktree만 다룰 때나, 스크립트에서 경로가 고정일 때 유용합니다.
비대화형 + Worktree(스크립트·일괄 처리)
여러 worktree에 같은 종류의 작업을 순서대로 실행(예: 전부에 README 추가, 전부 lint 수정):
# 예: 두 worktree 모두 "fix lint"
cursor agent "Fix all auto-fixable errors per .eslintrc" --path ../my-app--feature-auth --no-interactive
cursor agent "Fix all auto-fixable errors per .eslintrc" --path ../my-app--feature-payment --no-interactive또는 루프로(환경에 맞게 경로 수정):
for dir in ../my-app--feature-auth ../my-app--feature-payment; do
cursor agent "Fix linter errors" --path "$dir" --no-interactive
done지시 한 번에 여러 브랜치 정리 — PR 올리기 전 마지막 점검에 적합합니다.
“Worktree + 여러 창”과의 관계
- 여러 창: Cursor 창마다 worktree 하나씩 열고, IDE의 Agent·Chat·Tab 자동완성 사용
- CLI + Worktree: 터미널 +
cursor agent— “한 디렉터리, 한 컨텍스트”는 같고, 터미널만 더 열어서 병렬화
조합도 가능: 메인 개발은 창에서, 서버에서는 CLI로 다른 브랜치 작은 수정 등.
요약
- Worktree = 여러 디렉터리·여러 브랜치, CLI = 현재 디렉터리 또는
--path에서 동작 → 자연스러운 조합 - 병렬: 터미널 여러 개 열고, 각각 다른 worktree에
cd한 뒤cursor agent - 터미널 하나:
--path <worktree-path>로 대상 worktree 지정 - 스크립트·일괄:
--path+--no-interactive로 여러 worktree에 같은 작업 실행
다음: 07-unlimit-loop-debug — 테스트가 통과할 때까지 CLI가 루프로 수정하게 하기(커피 마시고 와도 됨)