cc-swap 0.1.0

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.
@@ -0,0 +1,30 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(curl -s https://raw.githubusercontent.com/kaitranntt/ccs/main/README.md)",
5
+ "Bash(curl:*)",
6
+ "Bash(git:*)",
7
+ "WebFetch(domain:api.github.com)",
8
+ "WebFetch(domain:raw.githubusercontent.com)",
9
+ "WebFetch(domain:registry.npmjs.org)",
10
+ "Bash(sudo chown:*)",
11
+ "Bash(npm install:*)",
12
+ "Bash(npx vitest:*)",
13
+ "Bash(npm test:*)",
14
+ "Bash(npm run:*)",
15
+ "Bash(npm link:*)",
16
+ "Bash(cc-switch --help)",
17
+ "Bash(npm bin:*)",
18
+ "Bash(/usr/local/bin/cc-switch --help 2>&1)",
19
+ "WebFetch(domain:api.anthropic.com)",
20
+ "WebFetch(domain:mcp.vercel.com)",
21
+ "WebFetch(domain:http-intake.logs.us5.datadoghq.com)",
22
+ "WebFetch(domain:mcp-proxy.anthropic.com)",
23
+ "Bash(gh repo:*)"
24
+ ]
25
+ },
26
+ "sandbox": {
27
+ "enabled": true,
28
+ "autoAllowBashIfSandboxed": true
29
+ }
30
+ }
package/README.md ADDED
@@ -0,0 +1,416 @@
1
+ # cc-swap
2
+
3
+ Switch between multiple Claude Code accounts instantly.
4
+
5
+ [English](#english) | [Tiếng Việt](#tiếng-việt) | [日本語](#日本語) | [한국어](#한국어) | [中文](#中文)
6
+
7
+ ---
8
+
9
+ ## English
10
+
11
+ ### What is cc-swap?
12
+
13
+ `cc-swap` lets you run multiple Claude Code accounts on one machine. Each account has its own settings, plugins, and session history — while sharing your base `~/.claude` config.
14
+
15
+ ### How it works
16
+
17
+ ```
18
+ ~/.claude/ ← Your base config (never modified)
19
+ ~/.cc-swap/accounts/
20
+ ├── work/ ← Symlinks to ~/.claude + custom overrides
21
+ └── personal/ ← Symlinks to ~/.claude + custom overrides
22
+ ```
23
+
24
+ When you switch, `cc-swap` launches Claude Code with `CLAUDE_CONFIG_DIR` pointing to your account folder.
25
+
26
+ ### Install
27
+
28
+ ```bash
29
+ npm install -g cc-swap
30
+ ```
31
+
32
+ ### Quick Start
33
+
34
+ ```bash
35
+ # 1. Create your first account
36
+ cc-swap add work
37
+
38
+ # 2. Create another
39
+ cc-swap add personal
40
+
41
+ # 3. Switch and launch Claude Code
42
+ cc-swap # Auto-switch to next account
43
+ cc-swap switch work # Switch to specific account
44
+
45
+ # 4. See all accounts
46
+ cc-swap list
47
+ ```
48
+
49
+ ### Commands
50
+
51
+ | Command | Description |
52
+ |---------|-------------|
53
+ | `cc-swap` | Switch to next account + launch `claude --continue` |
54
+ | `cc-swap add <name>` | Create a new account |
55
+ | `cc-swap switch <name>` | Switch to specific account + launch |
56
+ | `cc-swap list` | Show all accounts |
57
+ | `cc-swap remove <name>` | Delete an account |
58
+
59
+ ### Custom overrides
60
+
61
+ By default, each account shares everything with `~/.claude`. To customize an account:
62
+
63
+ ```bash
64
+ # Example: custom settings for "work" account
65
+ cd ~/.cc-swap/claude-accounts/work
66
+ rm settings.json # Remove the symlink
67
+ cp ~/.claude/settings.json settings.json # Copy and customize
68
+ ```
69
+
70
+ ### Configuration
71
+
72
+ `~/.cc-swap/config.json` is auto-created on first use. Edit it to customize:
73
+
74
+ ```json
75
+ {
76
+ "syncItems": [
77
+ "agents", "commands", "file-history", "hooks", "plugins",
78
+ "projects", "rules", "session-env", "sessions",
79
+ "settings.json", "skills", "tasks"
80
+ ],
81
+ "autoContinue": true
82
+ }
83
+ ```
84
+
85
+ - **syncItems** — folders/files symlinked when creating an account. Add or remove items as needed.
86
+ - **autoContinue** — `true`: launch with `claude --continue` (resume session). `false`: launch fresh `claude`.
87
+
88
+ ---
89
+
90
+ ## Tiếng Việt
91
+
92
+ ### cc-swap là gì?
93
+
94
+ `cc-swap` cho phép bạn chạy nhiều tài khoản Claude Code trên cùng một máy. Mỗi tài khoản có settings, plugins và lịch sử session riêng — trong khi vẫn dùng chung config gốc từ `~/.claude`.
95
+
96
+ ### Cách hoạt động
97
+
98
+ ```
99
+ ~/.claude/ ← Config gốc (không bao giờ bị sửa)
100
+ ~/.cc-swap/accounts/
101
+ ├── work/ ← Symlinks trỏ về ~/.claude + file riêng
102
+ └── personal/ ← Symlinks trỏ về ~/.claude + file riêng
103
+ ```
104
+
105
+ Khi switch, `cc-swap` khởi chạy Claude Code với `CLAUDE_CONFIG_DIR` trỏ đến thư mục account.
106
+
107
+ ### Cài đặt
108
+
109
+ ```bash
110
+ npm install -g cc-swap
111
+ ```
112
+
113
+ ### Bắt đầu nhanh
114
+
115
+ ```bash
116
+ # 1. Tạo account đầu tiên
117
+ cc-swap add work
118
+
119
+ # 2. Tạo thêm account
120
+ cc-swap add personal
121
+
122
+ # 3. Switch và mở Claude Code
123
+ cc-swap # Tự động chuyển sang account tiếp theo
124
+ cc-swap switch work # Chuyển sang account cụ thể
125
+
126
+ # 4. Xem danh sách accounts
127
+ cc-swap list
128
+ ```
129
+
130
+ ### Các lệnh
131
+
132
+ | Lệnh | Mô tả |
133
+ |-------|--------|
134
+ | `cc-swap` | Chuyển sang account tiếp + mở `claude --continue` |
135
+ | `cc-swap add <tên>` | Tạo account mới |
136
+ | `cc-swap switch <tên>` | Chuyển sang account cụ thể + mở |
137
+ | `cc-swap list` | Hiển thị tất cả accounts |
138
+ | `cc-swap remove <tên>` | Xóa account |
139
+
140
+ ### Tùy chỉnh riêng cho từng account
141
+
142
+ Mặc định, mỗi account dùng chung mọi thứ với `~/.claude`. Để tùy chỉnh:
143
+
144
+ ```bash
145
+ # Ví dụ: settings riêng cho account "work"
146
+ cd ~/.cc-swap/claude-accounts/work
147
+ rm settings.json # Xóa symlink
148
+ cp ~/.claude/settings.json settings.json # Copy và chỉnh sửa
149
+ ```
150
+
151
+ ### Cấu hình
152
+
153
+ `~/.cc-swap/config.json` được tự động tạo khi sử dụng lần đầu. Chỉnh sửa để tùy chỉnh:
154
+
155
+ ```json
156
+ {
157
+ "syncItems": [
158
+ "agents", "commands", "file-history", "hooks", "plugins",
159
+ "projects", "rules", "session-env", "sessions",
160
+ "settings.json", "skills", "tasks"
161
+ ],
162
+ "autoContinue": true
163
+ }
164
+ ```
165
+
166
+ - **syncItems** — các folders/files được symlink khi tạo account. Thêm hoặc bớt tùy ý.
167
+ - **autoContinue** — `true`: chạy `claude --continue` (tiếp tục session). `false`: chạy `claude` mới.
168
+
169
+ ---
170
+
171
+ ## 日本語
172
+
173
+ ### cc-swapとは?
174
+
175
+ `cc-swap`を使えば、1台のマシンで複数のClaude Codeアカウントを切り替えられます。各アカウントは独自のsettings、plugins、セッション履歴を持ちながら、`~/.claude`の基本設定を共有します。
176
+
177
+ ### 仕組み
178
+
179
+ ```
180
+ ~/.claude/ ← 基本設定(変更されません)
181
+ ~/.cc-swap/accounts/
182
+ ├── work/ ← ~/.claudeへのシンボリックリンク + カスタム設定
183
+ └── personal/ ← ~/.claudeへのシンボリックリンク + カスタム設定
184
+ ```
185
+
186
+ 切り替え時、`cc-swap`は`CLAUDE_CONFIG_DIR`をアカウントフォルダに設定してClaude Codeを起動します。
187
+
188
+ ### インストール
189
+
190
+ ```bash
191
+ npm install -g cc-swap
192
+ ```
193
+
194
+ ### クイックスタート
195
+
196
+ ```bash
197
+ # 1. 最初のアカウントを作成
198
+ cc-swap add work
199
+
200
+ # 2. もう1つ作成
201
+ cc-swap add personal
202
+
203
+ # 3. 切り替えてClaude Codeを起動
204
+ cc-swap # 次のアカウントへ自動切替
205
+ cc-swap switch work # 特定のアカウントに切替
206
+
207
+ # 4. アカウント一覧を表示
208
+ cc-swap list
209
+ ```
210
+
211
+ ### コマンド一覧
212
+
213
+ | コマンド | 説明 |
214
+ |---------|------|
215
+ | `cc-swap` | 次のアカウントへ切替 + `claude --continue`起動 |
216
+ | `cc-swap add <名前>` | 新しいアカウントを作成 |
217
+ | `cc-swap switch <名前>` | 特定のアカウントに切替 + 起動 |
218
+ | `cc-swap list` | 全アカウントを表示 |
219
+ | `cc-swap remove <名前>` | アカウントを削除 |
220
+
221
+ ### アカウントごとのカスタマイズ
222
+
223
+ デフォルトでは各アカウントは`~/.claude`の設定を共有します。カスタマイズするには:
224
+
225
+ ```bash
226
+ # 例:「work」アカウント用のsettingsをカスタマイズ
227
+ cd ~/.cc-swap/claude-accounts/work
228
+ rm settings.json # シンボリックリンクを削除
229
+ cp ~/.claude/settings.json settings.json # コピーして編集
230
+ ```
231
+
232
+ ### 設定
233
+
234
+ `~/.cc-swap/config.json`は初回使用時に自動作成されます。編集してカスタマイズ:
235
+
236
+ ```json
237
+ {
238
+ "syncItems": [
239
+ "agents", "commands", "file-history", "hooks", "plugins",
240
+ "projects", "rules", "session-env", "sessions",
241
+ "settings.json", "skills", "tasks"
242
+ ],
243
+ "autoContinue": true
244
+ }
245
+ ```
246
+
247
+ - **syncItems** — アカウント作成時にシンボリックリンクされるフォルダ/ファイル。自由に追加・削除可能。
248
+ - **autoContinue** — `true`: `claude --continue`で起動(セッション再開)。`false`: 新規`claude`で起動。
249
+
250
+ ---
251
+
252
+ ## 한국어
253
+
254
+ ### cc-swap란?
255
+
256
+ `cc-swap`를 사용하면 한 컴퓨터에서 여러 Claude Code 계정을 전환할 수 있습니다. 각 계정은 고유한 settings, plugins, 세션 기록을 가지면서 `~/.claude`의 기본 설정을 공유합니다.
257
+
258
+ ### 작동 방식
259
+
260
+ ```
261
+ ~/.claude/ ← 기본 설정 (수정되지 않음)
262
+ ~/.cc-swap/accounts/
263
+ ├── work/ ← ~/.claude로의 심볼릭 링크 + 커스텀 설정
264
+ └── personal/ ← ~/.claude로의 심볼릭 링크 + 커스텀 설정
265
+ ```
266
+
267
+ 전환 시 `cc-swap`는 `CLAUDE_CONFIG_DIR`을 계정 폴더로 설정하고 Claude Code를 실행합니다.
268
+
269
+ ### 설치
270
+
271
+ ```bash
272
+ npm install -g cc-swap
273
+ ```
274
+
275
+ ### 빠른 시작
276
+
277
+ ```bash
278
+ # 1. 첫 번째 계정 생성
279
+ cc-swap add work
280
+
281
+ # 2. 추가 계정 생성
282
+ cc-swap add personal
283
+
284
+ # 3. 전환 후 Claude Code 실행
285
+ cc-swap # 다음 계정으로 자동 전환
286
+ cc-swap switch work # 특정 계정으로 전환
287
+
288
+ # 4. 계정 목록 보기
289
+ cc-swap list
290
+ ```
291
+
292
+ ### 명령어
293
+
294
+ | 명령어 | 설명 |
295
+ |--------|------|
296
+ | `cc-swap` | 다음 계정으로 전환 + `claude --continue` 실행 |
297
+ | `cc-swap add <이름>` | 새 계정 생성 |
298
+ | `cc-swap switch <이름>` | 특정 계정으로 전환 + 실행 |
299
+ | `cc-swap list` | 전체 계정 표시 |
300
+ | `cc-swap remove <이름>` | 계정 삭제 |
301
+
302
+ ### 계정별 커스터마이징
303
+
304
+ 기본적으로 각 계정은 `~/.claude`의 설정을 공유합니다. 커스터마이징하려면:
305
+
306
+ ```bash
307
+ # 예: "work" 계정의 settings 커스터마이징
308
+ cd ~/.cc-swap/claude-accounts/work
309
+ rm settings.json # 심볼릭 링크 삭제
310
+ cp ~/.claude/settings.json settings.json # 복사 후 편집
311
+ ```
312
+
313
+ ### 설정
314
+
315
+ `~/.cc-swap/config.json`은 처음 사용할 때 자동으로 생성됩니다. 편집하여 커스터마이징:
316
+
317
+ ```json
318
+ {
319
+ "syncItems": [
320
+ "agents", "commands", "file-history", "hooks", "plugins",
321
+ "projects", "rules", "session-env", "sessions",
322
+ "settings.json", "skills", "tasks"
323
+ ],
324
+ "autoContinue": true
325
+ }
326
+ ```
327
+
328
+ - **syncItems** — 계정 생성 시 심볼릭 링크되는 폴더/파일. 자유롭게 추가・삭제 가능.
329
+ - **autoContinue** — `true`: `claude --continue`로 실행 (세션 재개). `false`: 새 `claude`로 실행.
330
+
331
+ ---
332
+
333
+ ## 中文
334
+
335
+ ### 什么是 cc-swap?
336
+
337
+ `cc-swap` 让你在一台电脑上运行多个 Claude Code 账户。每个账户拥有独立的 settings、plugins 和会话记录,同时共享 `~/.claude` 的基础配置。
338
+
339
+ ### 工作原理
340
+
341
+ ```
342
+ ~/.claude/ ← 基础配置(永不修改)
343
+ ~/.cc-swap/accounts/
344
+ ├── work/ ← 指向 ~/.claude 的符号链接 + 自定义配置
345
+ └── personal/ ← 指向 ~/.claude 的符号链接 + 自定义配置
346
+ ```
347
+
348
+ 切换时,`cc-swap` 将 `CLAUDE_CONFIG_DIR` 设置为账户目录并启动 Claude Code。
349
+
350
+ ### 安装
351
+
352
+ ```bash
353
+ npm install -g cc-swap
354
+ ```
355
+
356
+ ### 快速开始
357
+
358
+ ```bash
359
+ # 1. 创建第一个账户
360
+ cc-swap add work
361
+
362
+ # 2. 创建另一个账户
363
+ cc-swap add personal
364
+
365
+ # 3. 切换并启动 Claude Code
366
+ cc-swap # 自动切换到下一个账户
367
+ cc-swap switch work # 切换到指定账户
368
+
369
+ # 4. 查看所有账户
370
+ cc-swap list
371
+ ```
372
+
373
+ ### 命令列表
374
+
375
+ | 命令 | 说明 |
376
+ |------|------|
377
+ | `cc-swap` | 切换到下一个账户 + 启动 `claude --continue` |
378
+ | `cc-swap add <名称>` | 创建新账户 |
379
+ | `cc-swap switch <名称>` | 切换到指定账户 + 启动 |
380
+ | `cc-swap list` | 显示所有账户 |
381
+ | `cc-swap remove <名称>` | 删除账户 |
382
+
383
+ ### 账户自定义
384
+
385
+ 默认情况下,每个账户与 `~/.claude` 共享所有配置。如需自定义:
386
+
387
+ ```bash
388
+ # 例:为 "work" 账户自定义 settings
389
+ cd ~/.cc-swap/claude-accounts/work
390
+ rm settings.json # 删除符号链接
391
+ cp ~/.claude/settings.json settings.json # 复制并编辑
392
+ ```
393
+
394
+ ### 配置
395
+
396
+ `~/.cc-swap/config.json` 在首次使用时自动创建。编辑以自定义:
397
+
398
+ ```json
399
+ {
400
+ "syncItems": [
401
+ "agents", "commands", "file-history", "hooks", "plugins",
402
+ "projects", "rules", "session-env", "sessions",
403
+ "settings.json", "skills", "tasks"
404
+ ],
405
+ "autoContinue": true
406
+ }
407
+ ```
408
+
409
+ - **syncItems** — 创建账户时进行符号链接的文件夹/文件。可自由添加或删除。
410
+ - **autoContinue** — `true`:以 `claude --continue` 启动(恢复会话)。`false`:启动新的 `claude`。
411
+
412
+ ---
413
+
414
+ ## License
415
+
416
+ MIT