@getsolaris/copse 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.ko.md CHANGED
@@ -12,35 +12,35 @@ Git worktree를 쉽게 관리하세요. 설정 기반 자동화, 모노레포
12
12
 
13
13
  ## 주요 기능
14
14
 
15
- - **TUI 모드** — 인터랙티브 터미널 UI (`cop`)
16
- - **CLI 모드** — 스크립트에서 사용 가능한 커맨드 (`cop add`, `cop list` 등)
15
+ - **TUI 모드** — 인터랙티브 터미널 UI (`copse`)
16
+ - **CLI 모드** — 스크립트에서 사용 가능한 커맨드 (`copse add`, `copse list` 등)
17
17
  - **설정 기반** — 레포별 훅, 파일 복사, 심볼릭 링크
18
18
  - **모노레포 지원** — 패키지 자동 감지, 패키지별 훅, 포커스 추적
19
- - **헬스 체크** — `cop doctor`로 worktree 문제 진단
19
+ - **헬스 체크** — `copse doctor`로 worktree 문제 진단
20
20
  - **중앙 집중식 worktree** — 기본적으로 `~/.copse/worktrees/`에 모든 worktree 관리
21
21
  - **스마트 정리** — 머지된 worktree 자동 감지 및 제거
22
22
  - **테마** — 9가지 내장 컬러 테마 (OpenCode, Tokyo Night, Dracula, Nord, Catppuccin, GitHub Dark, One Dark, Monokai, GitHub Light)
23
- - **템플릿** — 재사용 가능한 worktree 프리셋 (`cop add --template review`)
24
- - **크로스 worktree 실행** — 모든 worktree에서 명령 실행 (`cop exec "bun test"`)
25
- - **GitHub PR 연동** — PR에서 worktree 생성 (`cop add --pr 123`)
23
+ - **템플릿** — 재사용 가능한 worktree 프리셋 (`copse add --template review`)
24
+ - **크로스 worktree 실행** — 모든 worktree에서 명령 실행 (`copse exec "bun test"`)
25
+ - **GitHub PR 연동** — PR에서 worktree 생성 (`copse add --pr 123`)
26
26
  - **퍼지 브랜치 피커** — TUI에서 타이핑하면 브랜치 자동완성
27
27
  - **라이프사이클 관리** — 비활성/머지된 worktree 자동 감지, 제한 설정
28
28
  - **의존성 공유** — `node_modules` 등을 하드링크/심볼릭으로 디스크 절약
29
- - **Worktree 비교** — worktree 간 변경사항 비교 (`cop diff feature/a feature/b`)
30
- - **핀 보호** — worktree를 자동 정리에서 보호 (`cop pin`)
31
- - **활동 로그** — 생성/삭제/전환/리네임/아카이브/임포트 이벤트 추적 (`cop log`)
32
- - **아카이브** — 제거 전 worktree 변경사항을 패치로 보존 (`cop archive`)
33
- - **브랜치 리네임** — 메타데이터 마이그레이션과 함께 worktree 브랜치 이름 변경 (`cop rename`)
34
- - **클론 및 초기화** — cop 설정과 함께 레포 클론 (`cop clone`)
35
- - **Worktree 임포트** — 수동 생성된 worktree 채택 (`cop import`)
29
+ - **Worktree 비교** — worktree 간 변경사항 비교 (`copse diff feature/a feature/b`)
30
+ - **핀 보호** — worktree를 자동 정리에서 보호 (`copse pin`)
31
+ - **활동 로그** — 생성/삭제/전환/리네임/아카이브/임포트 이벤트 추적 (`copse log`)
32
+ - **아카이브** — 제거 전 worktree 변경사항을 패치로 보존 (`copse archive`)
33
+ - **브랜치 리네임** — 메타데이터 마이그레이션과 함께 worktree 브랜치 이름 변경 (`copse rename`)
34
+ - **클론 및 초기화** — copse 설정과 함께 레포 클론 (`copse clone`)
35
+ - **Worktree 임포트** — 수동 생성된 worktree 채택 (`copse import`)
36
36
  - **상세 뷰** — 커밋 히스토리, diff 통계, upstream 상태 확인 (TUI)
37
37
  - **일괄 작업** — 다중 선택 및 배치 작업 (TUI)
38
38
  - **토스트 알림** — 비동기 작업 결과 알림 (TUI)
39
- - **셸 자동완성** — bash/zsh/fish 탭 자동완성 (`cop shell-init --completions`)
40
- - **설정 프로필** — 설정 세트 전환 (`cop config --profiles`)
41
- - **Tmux 세션** — worktree별 tmux 세션 자동 생성/종료, 레이아웃 템플릿 (`cop session`)
39
+ - **셸 자동완성** — bash/zsh/fish 탭 자동완성 (`copse shell-init --completions`)
40
+ - **설정 프로필** — 설정 세트 전환 (`copse config --profiles`)
41
+ - **Tmux 세션** — worktree별 tmux 세션 자동 생성/종료, 레이아웃 템플릿 (`copse session`)
42
42
  - **워크스페이스** — 부모 디렉토리 아래의 git repo를 자동 발견하고 워크스페이스별 defaults 적용 (`workspaces` 설정)
43
- - **AI 에이전트 초기화** — 기본 설정 파일 생성 또는 Claude Code, Codex, OpenCode용 스킬 설치 (`cop init`, `cop init --skill`)
43
+ - **AI 에이전트 초기화** — 기본 설정 파일 생성 또는 Claude Code, Codex, OpenCode용 스킬 설치 (`copse init`, `copse init --skill`)
44
44
 
45
45
  ## 요구사항
46
46
 
@@ -48,7 +48,7 @@ Git worktree를 쉽게 관리하세요. 설정 기반 자동화, 모노레포
48
48
  - git 2.17+
49
49
  - macOS 또는 Linux
50
50
  - [gh CLI](https://cli.github.com) (선택사항, `--pr` 플래그용)
51
- - [tmux](https://github.com/tmux/tmux) (선택사항, `cop session`용)
51
+ - [tmux](https://github.com/tmux/tmux) (선택사항, `copse session`용)
52
52
 
53
53
  ## 설치
54
54
 
@@ -76,75 +76,75 @@ npm install -g @getsolaris/copse
76
76
 
77
77
  ```bash
78
78
  # TUI 실행
79
- cop
79
+ copse
80
80
 
81
81
  # worktree 목록
82
- cop list
82
+ copse list
83
83
 
84
84
  # 새 worktree 생성
85
- cop add feature/my-feature
85
+ copse add feature/my-feature
86
86
 
87
87
  # 모노레포 포커스와 함께 생성
88
- cop add feature/my-feature --focus apps/web,apps/api
88
+ copse add feature/my-feature --focus apps/web,apps/api
89
89
 
90
90
  # GitHub PR에서 생성
91
- cop add --pr 123
91
+ copse add --pr 123
92
92
 
93
93
  # 템플릿 사용
94
- cop add feature/login --template review
94
+ copse add feature/login --template review
95
95
 
96
96
  # 모든 worktree에서 명령 실행
97
- cop exec "bun test"
97
+ copse exec "bun test"
98
98
 
99
99
  # 두 worktree 비교
100
- cop diff feature/a feature/b --stat
100
+ copse diff feature/a feature/b --stat
101
101
 
102
102
  # 헬스 체크
103
- cop doctor
103
+ copse doctor
104
104
 
105
105
  # worktree 전환 (셸 통합 필요)
106
- cop switch feature/my-feature
106
+ copse switch feature/my-feature
107
107
 
108
108
  # worktree 제거
109
- cop remove feature/my-feature --yes
109
+ copse remove feature/my-feature --yes
110
110
 
111
111
  # 머지된 worktree 정리
112
- cop clean --dry-run
112
+ copse clean --dry-run
113
113
 
114
114
  # worktree 핀 설정 (정리에서 보호)
115
- cop pin feature/important --reason "active sprint"
115
+ copse pin feature/important --reason "active sprint"
116
116
 
117
117
  # 활동 로그 보기
118
- cop log
118
+ copse log
119
119
 
120
120
  # worktree 아카이브 후 제거
121
- cop archive feature/done --yes
121
+ copse archive feature/done --yes
122
122
 
123
123
  # worktree 브랜치 리네임
124
- cop rename old-name new-name
124
+ copse rename old-name new-name
125
125
 
126
- # 레포 클론 및 cop 초기화
127
- cop clone https://github.com/user/repo.git
126
+ # 레포 클론 및 copse 초기화
127
+ copse clone https://github.com/user/repo.git
128
128
 
129
129
  # 기존 worktree 임포트
130
- cop import /path/to/worktree
130
+ copse import /path/to/worktree
131
131
 
132
132
  # worktree의 tmux 세션 열기/연결
133
- cop session feature/my-feature
133
+ copse session feature/my-feature
134
134
 
135
135
  # tmux 세션과 함께 worktree 생성
136
- cop add feature/new --session
136
+ copse add feature/new --session
137
137
 
138
138
  # 설정 파일 초기화
139
- cop init
139
+ copse init
140
140
 
141
141
  # AI 에이전트 스킬 파일 생성
142
- cop init --skill claude-code
142
+ copse init --skill claude-code
143
143
  ```
144
144
 
145
145
  ## TUI 사용법
146
146
 
147
- `cop` (인자 없이)로 실행합니다.
147
+ `copse` (인자 없이)로 실행합니다.
148
148
 
149
149
  ### 키보드 단축키
150
150
 
@@ -253,50 +253,50 @@ cop init --skill claude-code
253
253
 
254
254
  | 커맨드 | 설명 |
255
255
  |--------|------|
256
- | `cop` | TUI 실행 |
257
- | `cop list` | 모든 worktree 목록 (포커스 정보 포함) |
258
- | `cop add <branch>` | worktree 생성 |
259
- | `cop remove <branch>` | worktree 제거 |
260
- | `cop switch <branch>` | worktree 전환 |
261
- | `cop clean` | 머지된 worktree 제거 |
262
- | `cop doctor` | worktree 헬스 체크 |
263
- | `cop config` | 설정 관리 |
264
- | `cop exec <command>` | 각 worktree에서 명령 실행 |
265
- | `cop diff <ref1> [ref2]` | worktree/브랜치 간 diff |
266
- | `cop pin <branch>` | worktree 핀/언핀 (정리에서 보호) |
267
- | `cop log` | worktree 활동 로그 보기 |
268
- | `cop archive <branch>` | 변경사항 아카이브 후 선택적 제거 |
269
- | `cop rename <old> <new>` | worktree 브랜치 리네임 |
270
- | `cop clone <url>` | 레포 클론 및 cop 초기화 |
271
- | `cop import <path>` | cop 메타데이터로 worktree 채택 |
272
- | `cop session [branch]` | worktree의 tmux 세션 관리 |
273
- | `cop open [branch]` | worktree를 에디터로 열기 (focus 인식) |
274
- | `cop init` | 설정 초기화 또는 AI 에이전트 스킬 설치 |
275
-
276
- ### `cop add`
256
+ | `copse` | TUI 실행 |
257
+ | `copse list` | 모든 worktree 목록 (포커스 정보 포함) |
258
+ | `copse add <branch>` | worktree 생성 |
259
+ | `copse remove <branch>` | worktree 제거 |
260
+ | `copse switch <branch>` | worktree 전환 |
261
+ | `copse clean` | 머지된 worktree 제거 |
262
+ | `copse doctor` | worktree 헬스 체크 |
263
+ | `copse config` | 설정 관리 |
264
+ | `copse exec <command>` | 각 worktree에서 명령 실행 |
265
+ | `copse diff <ref1> [ref2]` | worktree/브랜치 간 diff |
266
+ | `copse pin <branch>` | worktree 핀/언핀 (정리에서 보호) |
267
+ | `copse log` | worktree 활동 로그 보기 |
268
+ | `copse archive <branch>` | 변경사항 아카이브 후 선택적 제거 |
269
+ | `copse rename <old> <new>` | worktree 브랜치 리네임 |
270
+ | `copse clone <url>` | 레포 클론 및 copse 초기화 |
271
+ | `copse import <path>` | copse 메타데이터로 worktree 채택 |
272
+ | `copse session [branch]` | worktree의 tmux 세션 관리 |
273
+ | `copse open [branch]` | worktree를 에디터로 열기 (focus 인식) |
274
+ | `copse init` | 설정 초기화 또는 AI 에이전트 스킬 설치 |
275
+
276
+ ### `copse add`
277
277
 
278
278
  ```bash
279
- cop add feature/login # 필요하면 브랜치를 만들고 worktree 생성
280
- cop add feature/login --base main # 새 브랜치는 main에서 시작
281
- cop add existing-branch # 기존 브랜치로 worktree 생성
279
+ copse add feature/login # 필요하면 브랜치를 만들고 worktree 생성
280
+ copse add feature/login --base main # 새 브랜치는 main에서 시작
281
+ copse add existing-branch # 기존 브랜치로 worktree 생성
282
282
 
283
283
  # 모노레포: 포커스 패키지와 함께 생성
284
- cop add feature/login --focus apps/web,apps/api
285
- cop add feature/login --focus apps/web --focus apps/api
284
+ copse add feature/login --focus apps/web,apps/api
285
+ copse add feature/login --focus apps/web --focus apps/api
286
286
 
287
287
  # 템플릿 사용
288
- cop add feature/login --template review
288
+ copse add feature/login --template review
289
289
 
290
290
  # GitHub PR에서 생성 (gh CLI 필요)
291
- cop add --pr 123
292
- cop add --pr 456 --template review
291
+ copse add --pr 123
292
+ copse add --pr 456 --template review
293
293
  ```
294
294
 
295
- ### `cop doctor`
295
+ ### `copse doctor`
296
296
 
297
297
  ```bash
298
- cop doctor # 사람이 읽기 쉬운 출력
299
- cop doctor --json # 스크립팅용 JSON 출력
298
+ copse doctor # 사람이 읽기 쉬운 출력
299
+ copse doctor --json # 스크립팅용 JSON 출력
300
300
  ```
301
301
 
302
302
  종료 코드: 정상이면 `0`, 경고 또는 에러가 있으면 `1`.
@@ -314,43 +314,43 @@ copse doctor
314
314
  All checks passed.
315
315
  ```
316
316
 
317
- ### `cop list`
317
+ ### `copse list`
318
318
 
319
319
  ```bash
320
- cop list # Focus 컬럼이 포함된 테이블
321
- cop list --json # 포커스 배열이 포함된 JSON
322
- cop list --porcelain # 머신 판독 가능 형식
320
+ copse list # Focus 컬럼이 포함된 테이블
321
+ copse list --json # 포커스 배열이 포함된 JSON
322
+ copse list --porcelain # 머신 판독 가능 형식
323
323
  ```
324
324
 
325
325
  모노레포 worktree별 포커스 경로를 `Focus` 컬럼에 표시합니다.
326
326
 
327
- ### `cop remove`
327
+ ### `copse remove`
328
328
 
329
329
  ```bash
330
- cop remove feature/login # 브랜치명으로 제거
331
- cop remove feature/login --force # 강제 제거 (더티 worktree)
332
- cop remove feature/login --yes # 확인 건너뛰기
330
+ copse remove feature/login # 브랜치명으로 제거
331
+ copse remove feature/login --force # 강제 제거 (더티 worktree)
332
+ copse remove feature/login --yes # 확인 건너뛰기
333
333
  ```
334
334
 
335
- ### `cop clean`
335
+ ### `copse clean`
336
336
 
337
337
  ```bash
338
- cop clean --dry-run # 제거될 항목 미리보기
339
- cop clean # 머지된 worktree 모두 제거
340
- cop clean --stale # 비활성 worktree도 표시 (lifecycle 설정 사용)
338
+ copse clean --dry-run # 제거될 항목 미리보기
339
+ copse clean # 머지된 worktree 모두 제거
340
+ copse clean --stale # 비활성 worktree도 표시 (lifecycle 설정 사용)
341
341
  ```
342
342
 
343
- ### `cop exec`
343
+ ### `copse exec`
344
344
 
345
345
  모든 비-메인 worktree에서 셸 커맨드를 실행합니다.
346
346
 
347
347
  ```bash
348
- cop exec "bun test" # 모든 worktree에서 실행 (순차)
349
- cop exec "bun test" --parallel # 병렬 실행
350
- cop exec "git pull" --all # 모든 설정된 레포에서 실행
351
- cop exec "bun install" --dirty # 더티 worktree만
352
- cop exec "git rebase main" --behind # upstream보다 뒤처진 것만
353
- cop exec "bun test" --json # JSON 출력
348
+ copse exec "bun test" # 모든 worktree에서 실행 (순차)
349
+ copse exec "bun test" --parallel # 병렬 실행
350
+ copse exec "git pull" --all # 모든 설정된 레포에서 실행
351
+ copse exec "bun install" --dirty # 더티 worktree만
352
+ copse exec "git rebase main" --behind # upstream보다 뒤처진 것만
353
+ copse exec "bun test" --json # JSON 출력
354
354
  ```
355
355
 
356
356
  | 플래그 | 설명 |
@@ -362,116 +362,116 @@ cop exec "bun test" --json # JSON 출력
362
362
  | `--behind` | upstream보다 뒤처진 worktree에서만 실행 |
363
363
  | `--json` / `-j` | 결과를 JSON으로 출력 |
364
364
 
365
- 커맨드에서 사용 가능한 환경변수: `COP_BRANCH`, `COP_WORKTREE_PATH`, `COP_REPO_PATH`.
365
+ 커맨드에서 사용 가능한 환경변수: `COPSE_BRANCH`, `COPSE_WORKTREE_PATH`, `COPSE_REPO_PATH`.
366
366
 
367
- ### `cop diff`
367
+ ### `copse diff`
368
368
 
369
369
  두 worktree 브랜치 간 diff를 보여줍니다.
370
370
 
371
371
  ```bash
372
- cop diff feature/a feature/b # 전체 diff
373
- cop diff feature/a feature/b --stat # diffstat 요약
374
- cop diff feature/a --name-only # 변경된 파일명만
375
- cop diff feature/a # 현재 HEAD와 비교
372
+ copse diff feature/a feature/b # 전체 diff
373
+ copse diff feature/a feature/b --stat # diffstat 요약
374
+ copse diff feature/a --name-only # 변경된 파일명만
375
+ copse diff feature/a # 현재 HEAD와 비교
376
376
  ```
377
377
 
378
- ### `cop pin`
378
+ ### `copse pin`
379
379
 
380
380
  ```bash
381
- cop pin feature/auth --reason "active sprint" # 사유와 함께 핀
382
- cop pin --list # 핀된 worktree 목록
383
- cop pin --list --json # JSON 출력
384
- cop unpin feature/auth # 언핀
381
+ copse pin feature/auth --reason "active sprint" # 사유와 함께 핀
382
+ copse pin --list # 핀된 worktree 목록
383
+ copse pin --list --json # JSON 출력
384
+ copse unpin feature/auth # 언핀
385
385
  ```
386
386
 
387
- 핀된 worktree는 `cop clean` 및 라이프사이클 자동 정리에서 제외됩니다.
387
+ 핀된 worktree는 `copse clean` 및 라이프사이클 자동 정리에서 제외됩니다.
388
388
 
389
- ### `cop log`
389
+ ### `copse log`
390
390
 
391
391
  ```bash
392
- cop log # 최근 20개 이벤트 표시
393
- cop log --limit 50 # 최근 50개 이벤트 표시
394
- cop log --json # JSON 출력
395
- cop log --clear # 활동 로그 초기화
392
+ copse log # 최근 20개 이벤트 표시
393
+ copse log --limit 50 # 최근 50개 이벤트 표시
394
+ copse log --json # JSON 출력
395
+ copse log --clear # 활동 로그 초기화
396
396
  ```
397
397
 
398
398
  이벤트는 색상으로 구분: 생성(초록), 삭제(빨강), 전환(파랑), 리네임(노랑), 아카이브(자홍), 임포트(시안).
399
399
 
400
- ### `cop archive`
400
+ ### `copse archive`
401
401
 
402
402
  ```bash
403
- cop archive feature/done --yes # 아카이브 후 제거
404
- cop archive feature/wip --keep # 제거 없이 아카이브만
405
- cop archive --list # 모든 아카이브 목록
406
- cop archive --list --json # JSON 출력
403
+ copse archive feature/done --yes # 아카이브 후 제거
404
+ copse archive feature/wip --keep # 제거 없이 아카이브만
405
+ copse archive --list # 모든 아카이브 목록
406
+ copse archive --list --json # JSON 출력
407
407
  ```
408
408
 
409
409
  아카이브는 `~/.copse/archives/`에 패치 파일로 저장됩니다.
410
410
 
411
- ### `cop rename`
411
+ ### `copse rename`
412
412
 
413
413
  ```bash
414
- cop rename old-branch new-branch # 브랜치 리네임
415
- cop rename old-branch new-branch --move-path # worktree 디렉토리도 이동
414
+ copse rename old-branch new-branch # 브랜치 리네임
415
+ copse rename old-branch new-branch --move-path # worktree 디렉토리도 이동
416
416
  ```
417
417
 
418
- ### `cop clone`
418
+ ### `copse clone`
419
419
 
420
420
  ```bash
421
- cop clone https://github.com/user/repo.git # 클론 및 초기화
422
- cop clone https://github.com/user/repo.git ./my-dir # 커스텀 대상 경로
423
- cop clone https://github.com/user/repo.git --template review # 템플릿 적용
424
- cop clone https://github.com/user/repo.git --no-init-config # 설정 초기화 건너뛰기
421
+ copse clone https://github.com/user/repo.git # 클론 및 초기화
422
+ copse clone https://github.com/user/repo.git ./my-dir # 커스텀 대상 경로
423
+ copse clone https://github.com/user/repo.git --template review # 템플릿 적용
424
+ copse clone https://github.com/user/repo.git --no-init-config # 설정 초기화 건너뛰기
425
425
  ```
426
426
 
427
- ### `cop import`
427
+ ### `copse import`
428
428
 
429
429
  ```bash
430
- cop import /path/to/worktree # worktree 채택
431
- cop import /path/to/worktree --focus apps/web,apps/api # 포커스와 함께
432
- cop import /path/to/worktree --pin # 즉시 핀 설정
430
+ copse import /path/to/worktree # worktree 채택
431
+ copse import /path/to/worktree --focus apps/web,apps/api # 포커스와 함께
432
+ copse import /path/to/worktree --pin # 즉시 핀 설정
433
433
  ```
434
434
 
435
- ### `cop session`
435
+ ### `copse session`
436
436
 
437
437
  worktree의 tmux 세션을 관리합니다. tmux가 필요합니다.
438
438
 
439
439
  ```bash
440
- cop session feature/auth # 세션 열기/연결 (없으면 생성)
441
- cop session feature/auth --layout api # 설정의 레이아웃 사용
442
- cop session --list # 활성 cop 세션 목록
443
- cop session --list --json # JSON 출력
444
- cop session feature/auth --kill # worktree 세션 종료
445
- cop session --kill-all # 모든 cop 세션 종료
440
+ copse session feature/auth # 세션 열기/연결 (없으면 생성)
441
+ copse session feature/auth --layout api # 설정의 레이아웃 사용
442
+ copse session --list # 활성 copse 세션 목록
443
+ copse session --list --json # JSON 출력
444
+ copse session feature/auth --kill # worktree 세션 종료
445
+ copse session --kill-all # 모든 copse 세션 종료
446
446
  ```
447
447
 
448
448
  설정에서 `sessions.autoCreate` / `sessions.autoKill`을 활성화하면 세션이 자동 생성/종료됩니다.
449
449
 
450
450
  ```bash
451
451
  # tmux 세션과 함께 worktree 생성
452
- cop add feature/login --session
453
- cop add feature/login --session --layout api
452
+ copse add feature/login --session
453
+ copse add feature/login --session --layout api
454
454
  ```
455
455
 
456
- `sessions.enabled`가 `true`이고 tmux 안에 있으면, `cop switch`가 대상 worktree의 tmux 세션으로 자동 전환합니다.
456
+ `sessions.enabled`가 `true`이고 tmux 안에 있으면, `copse switch`가 대상 worktree의 tmux 세션으로 자동 전환합니다.
457
457
 
458
- ### `cop open`
458
+ ### `copse open`
459
459
 
460
460
  worktree를 에디터/IDE로 엽니다. `$VISUAL` / `$EDITOR`를 자동 감지하고, 없으면 알려진 에디터 목록(`code`, `cursor`, `vim`, `nvim`, `emacs`, `nano`, `subl`, `zed`, `idea`, `webstorm`)에서 찾습니다.
461
461
 
462
462
  ```bash
463
- cop open # 현재 worktree 열기
464
- cop open feature/auth # 특정 worktree 열기
465
- cop open feature/auth -e nvim # 에디터 강제 지정
463
+ copse open # 현재 worktree 열기
464
+ copse open feature/auth # 특정 worktree 열기
465
+ copse open feature/auth -e nvim # 에디터 강제 지정
466
466
 
467
467
  # Focus 인식 동작 (--focus로 생성된 worktree에서)
468
- cop open feature/auth # focus 1개 → 해당 focus 경로로 열림
468
+ copse open feature/auth # focus 1개 → 해당 focus 경로로 열림
469
469
  # focus 2개+ → 에러 + 힌트 출력
470
- cop open feature/auth --focus apps/web # 특정 focus 경로 선택
471
- cop open feature/auth -f apps/api # 짧은 별칭
472
- cop open feature/auth --root # focus 무시하고 worktree 루트 강제
470
+ copse open feature/auth --focus apps/web # 특정 focus 경로 선택
471
+ copse open feature/auth -f apps/api # 짧은 별칭
472
+ copse open feature/auth --root # focus 무시하고 worktree 루트 강제
473
473
 
474
- cop open --list-editors # 감지된 에디터 목록
474
+ copse open --list-editors # 감지된 에디터 목록
475
475
  ```
476
476
 
477
477
  | 플래그 | 별칭 | 설명 |
@@ -487,22 +487,22 @@ cop open --list-editors # 감지된 에디터 목록
487
487
  - focus 경로 1개 → `<worktree>/<focus>`를 자동으로 엽니다.
488
488
  - focus 경로 2개 이상 → 에러를 내고 `--focus <path>` 또는 `--root`를 요구합니다 (TUI에서는 대신 인터랙티브 피커를 띄웁니다).
489
489
 
490
- ### `cop init`
490
+ ### `copse init`
491
491
 
492
- 기본적으로 cop 설정 파일을 초기화하고, 필요하면 AI 코딩 에이전트용 스킬도 설치합니다.
492
+ 기본적으로 copse 설정 파일을 초기화하고, 필요하면 AI 코딩 에이전트용 스킬도 설치합니다.
493
493
 
494
494
  ```bash
495
- cop init # → ~/.config/copse/config.json
496
- cop init --skill claude-code # → ~/.claude/skills/cop/
497
- cop init --skill codex # → ~/.agents/skills/cop/
498
- cop init --skill opencode # → ~/.config/opencode/skill/cop/
495
+ copse init # → ~/.config/copse/config.json
496
+ copse init --skill claude-code # → ~/.claude/skills/copse/
497
+ copse init --skill codex # → ~/.agents/skills/copse/
498
+ copse init --skill opencode # → ~/.config/opencode/skill/copse/
499
499
  ```
500
500
 
501
501
  | 플랫폼 | 스킬 경로 |
502
502
  |--------|----------|
503
- | `claude-code` | `~/.claude/skills/cop/` |
504
- | `codex` | `~/.agents/skills/cop/` |
505
- | `opencode` | `~/.config/opencode/skill/cop/` |
503
+ | `claude-code` | `~/.claude/skills/copse/` |
504
+ | `codex` | `~/.agents/skills/copse/` |
505
+ | `opencode` | `~/.config/opencode/skill/copse/` |
506
506
 
507
507
  각 스킬 디렉토리에는 다음이 포함됩니다:
508
508
  - `SKILL.md` — 개요와 공통 워크플로우
@@ -513,19 +513,19 @@ cop init --skill opencode # → ~/.config/opencode/skill/cop/
513
513
 
514
514
  #### 첫 실행 시 자동 초기화
515
515
 
516
- `cop init`을 직접 실행할 필요가 없습니다. 처음으로 `cop` 명령어(또는 TUI)를 실행할 때 `~/.config/copse/config.json`이 없으면, cop가 기본 설정으로 자동 생성하고 stderr에 한 줄짜리 알림을 출력합니다:
516
+ `copse init`을 직접 실행할 필요가 없습니다. 처음으로 `copse` 명령어(또는 TUI)를 실행할 때 `~/.config/copse/config.json`이 없으면, copse가 기본 설정으로 자동 생성하고 stderr에 한 줄짜리 알림을 출력합니다:
517
517
 
518
518
  ```
519
- cop: created default config at /Users/you/.config/copse/config.json
519
+ copse: created default config at /Users/you/.config/copse/config.json
520
520
  ```
521
521
 
522
- 이 알림은 stdout이 TTY가 아닐 때(파이프, 스크립트, CI 환경)와 `cop init`을 명시적으로 실행할 때(중복 메시지 방지)는 표시되지 않습니다. 자동 초기화는 멱등성을 가지므로 이후 실행에서는 아무 동작도 하지 않습니다.
522
+ 이 알림은 stdout이 TTY가 아닐 때(파이프, 스크립트, CI 환경)와 `copse init`을 명시적으로 실행할 때(중복 메시지 방지)는 표시되지 않습니다. 자동 초기화는 멱등성을 가지므로 이후 실행에서는 아무 동작도 하지 않습니다.
523
523
 
524
524
  ## 설정
525
525
 
526
526
  설정 파일: `~/.config/copse/config.json`
527
527
 
528
- 초기화: `cop config --init` (또는 아무 `cop` 명령어 실행 — [첫 실행 시 자동 초기화](#첫-실행-시-자동-초기화) 참조)
528
+ 초기화: `copse config --init` (또는 아무 `copse` 명령어 실행 — [첫 실행 시 자동 초기화](#첫-실행-시-자동-초기화) 참조)
529
529
 
530
530
  ### 전체 예시
531
531
 
@@ -571,7 +571,7 @@ cop: created default config at /Users/you/.config/copse/config.json
571
571
  "enabled": true,
572
572
  "autoCreate": false,
573
573
  "autoKill": true,
574
- "prefix": "cop",
574
+ "prefix": "copse",
575
575
  "defaultLayout": "dev",
576
576
  "layouts": {
577
577
  "dev": {
@@ -792,13 +792,13 @@ worktree 생성을 위한 이름이 붙은 프리셋. 각 템플릿은 기본값
792
792
  | `autoUpstream` | `boolean` | upstream 추적 오버라이드 |
793
793
  | `base` | `string` | 새로 생성되는 브랜치의 기본 베이스 브랜치 |
794
794
 
795
- 사용법: `cop add feature/login --template review`
795
+ 사용법: `copse add feature/login --template review`
796
796
 
797
797
  템플릿 값은 리졸브된 레포 설정을 오버라이드합니다. `base` 필드는 `--base`가 명시적으로 제공되지 않은 경우 기본값을 설정합니다.
798
798
 
799
799
  #### `lifecycle`
800
800
 
801
- 자동 worktree 라이프사이클 관리. `cop clean --stale`에서 사용됩니다.
801
+ 자동 worktree 라이프사이클 관리. `copse clean --stale`에서 사용됩니다.
802
802
 
803
803
  ```json
804
804
  {
@@ -826,7 +826,7 @@ worktree별 tmux 세션 관리.
826
826
  "enabled": true,
827
827
  "autoCreate": true,
828
828
  "autoKill": true,
829
- "prefix": "cop",
829
+ "prefix": "copse",
830
830
  "defaultLayout": "dev",
831
831
  "layouts": {
832
832
  "dev": {
@@ -844,9 +844,9 @@ worktree별 tmux 세션 관리.
844
844
  | 필드 | 타입 | 기본값 | 설명 |
845
845
  |------|------|--------|------|
846
846
  | `enabled` | `boolean` | `false` | 세션 연동 활성화 (tmux 내 자동 전환) |
847
- | `autoCreate` | `boolean` | `false` | `cop add` 시 tmux 세션 자동 생성 |
848
- | `autoKill` | `boolean` | `false` | `cop remove` 시 tmux 세션 자동 종료 |
849
- | `prefix` | `string` | `"cop"` | tmux 세션 이름 접두사 |
847
+ | `autoCreate` | `boolean` | `false` | `copse add` 시 tmux 세션 자동 생성 |
848
+ | `autoKill` | `boolean` | `false` | `copse remove` 시 tmux 세션 자동 종료 |
849
+ | `prefix` | `string` | `"copse"` | tmux 세션 이름 접두사 |
850
850
  | `defaultLayout` | `string` | — | 새 세션의 기본 레이아웃 이름 |
851
851
  | `layouts` | `object` | `{}` | 윈도우 정의가 포함된 이름 있는 레이아웃 |
852
852
 
@@ -857,7 +857,7 @@ worktree별 tmux 세션 관리.
857
857
  | `name` | `string` | 예 | 윈도우 이름 |
858
858
  | `command` | `string` | 아니오 | 윈도우에서 실행할 커맨드 |
859
859
 
860
- 세션 이름 규칙: 브랜치 `feat/auth-token` → tmux 세션 `cop_feat-auth-token`.
860
+ 세션 이름 규칙: 브랜치 `feat/auth-token` → tmux 세션 `copse_feat-auth-token`.
861
861
 
862
862
  #### `sharedDeps`
863
863
 
@@ -891,12 +891,12 @@ worktree별 tmux 세션 관리.
891
891
  worktree가 작업 중인 모노레포 패키지를 추적합니다.
892
892
 
893
893
  ```bash
894
- cop add feature/login --focus apps/web,apps/api
894
+ copse add feature/login --focus apps/web,apps/api
895
895
  ```
896
896
 
897
897
  - 쉼표, 공백, 또는 여러 `--focus` 플래그 지원
898
898
  - 포커스 메타데이터는 git 내부에 저장 (worktree 루트가 아님)
899
- - `cop list`에서 worktree별 포커스 경로 표시
899
+ - `copse list`에서 worktree별 포커스 경로 표시
900
900
  - 모노레포 훅은 매칭되는 포커스 경로에 대해서만 실행
901
901
  - 포커스는 선택사항 — 생략하면 일반 worktree 생성
902
902
 
@@ -933,41 +933,41 @@ defaults.copyFiles 없음? → [] (빈 배열) 사용
933
933
 
934
934
  ## 셸 통합
935
935
 
936
- `cop shell-init`으로 `cop switch`용 셸 통합을 설치하세요.
936
+ `copse shell-init`으로 `copse switch`용 셸 통합을 설치하세요.
937
937
 
938
938
  ### 셸 자동완성
939
939
 
940
940
  ```bash
941
941
  # 자동완성 추가 (bash)
942
- eval "$(cop shell-init --completions bash)"
942
+ eval "$(copse shell-init --completions bash)"
943
943
 
944
944
  # 자동완성 추가 (zsh)
945
- eval "$(cop shell-init --completions zsh)"
945
+ eval "$(copse shell-init --completions zsh)"
946
946
 
947
947
  # 자동완성 추가 (fish)
948
- cop shell-init --completions fish | source
948
+ copse shell-init --completions fish | source
949
949
  ```
950
950
 
951
951
  ### 예시
952
952
 
953
953
  ```bash
954
954
  # zsh
955
- echo 'eval "$(cop shell-init zsh)"' >> ~/.zshrc
955
+ echo 'eval "$(copse shell-init zsh)"' >> ~/.zshrc
956
956
  source ~/.zshrc
957
957
 
958
958
  # bash
959
- echo 'eval "$(cop shell-init bash)"' >> ~/.bashrc
959
+ echo 'eval "$(copse shell-init bash)"' >> ~/.bashrc
960
960
  source ~/.bashrc
961
961
 
962
962
  # fish
963
- cop shell-init fish >> ~/.config/fish/config.fish
963
+ copse shell-init fish >> ~/.config/fish/config.fish
964
964
  source ~/.config/fish/config.fish
965
965
  ```
966
966
 
967
967
  설정 저장 전 생성될 래퍼를 미리 볼 수도 있습니다:
968
968
 
969
969
  ```bash
970
- cop shell-init zsh
970
+ copse shell-init zsh
971
971
  ```
972
972
 
973
973
  ## 설정 프로필
@@ -975,9 +975,9 @@ cop shell-init zsh
975
975
  서로 다른 설정 세트 간 전환합니다.
976
976
 
977
977
  ```bash
978
- cop config --profiles # 프로필 목록
979
- cop config --profile work --activate # 프로필 활성화
980
- cop config --profile personal --delete # 프로필 삭제
978
+ copse config --profiles # 프로필 목록
979
+ copse config --profile work --activate # 프로필 활성화
980
+ copse config --profile personal --delete # 프로필 삭제
981
981
  ```
982
982
 
983
983
  ## 라이선스