@kaitranntt/ccs 3.0.0 → 3.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.md CHANGED
@@ -4,9 +4,10 @@
4
4
 
5
5
  ![CCS Logo](docs/assets/ccs-logo-medium.png)
6
6
 
7
- **One command, zero downtime, right model for each task**
7
+ **One command, zero downtime, multiple accounts**
8
8
 
9
- Switch between Claude Sonnet 4.5, GLM 4.6, and Kimi for Coding instantly. Stop hitting rate limits. Start optimizing costs.
9
+ Switch between multiple Claude accounts, GLM, and Kimi instantly.<br>
10
+ Stop hitting rate limits. Keep working continuously.
10
11
 
11
12
 
12
13
  [![License](https://img.shields.io/badge/license-MIT-C15F3C?style=for-the-badge)](LICENSE)
@@ -14,7 +15,7 @@ Switch between Claude Sonnet 4.5, GLM 4.6, and Kimi for Coding instantly. Stop h
14
15
  [![npm](https://img.shields.io/npm/v/@kaitranntt/ccs?style=for-the-badge&logo=npm)](https://www.npmjs.com/package/@kaitranntt/ccs)
15
16
  [![PoweredBy](https://img.shields.io/badge/PoweredBy-ClaudeKit-C15F3C?style=for-the-badge)](https://claudekit.cc?ref=HMNKXOHN)
16
17
 
17
- **Languages**: [English](README.md) | [Tiếng Việt](README.vi.md)
18
+ **Languages**: [English](README.md) | [Tiếng Việt](README.vi.md) | [日本語](README.ja.md)
18
19
 
19
20
  </div>
20
21
 
@@ -38,7 +39,18 @@ claude /login
38
39
  npm install -g @kaitranntt/ccs
39
40
  ```
40
41
 
41
- Compatible with npm, yarn, pnpm, and bun package managers.
42
+ All major package managers are supported:
43
+
44
+ ```bash
45
+ # yarn
46
+ yarn global add @kaitranntt/ccs
47
+
48
+ # pnpm (70% less disk space)
49
+ pnpm add -g @kaitranntt/ccs
50
+
51
+ # bun (30x faster)
52
+ bun add -g @kaitranntt/ccs
53
+ ```
42
54
 
43
55
  #### Option 2: Direct Install (Traditional)
44
56
 
@@ -52,41 +64,7 @@ curl -fsSL ccs.kaitran.ca/install | bash
52
64
  irm ccs.kaitran.ca/install | iex
53
65
  ```
54
66
 
55
- ### Your First Switch
56
-
57
- ```bash
58
- # Use Claude subscription (default)
59
- ccs "Review this architecture design"
60
-
61
- # Switch to GLM for cost-optimized tasks
62
- ccs glm "Create a simple REST API"
63
-
64
- # Switch to Kimi for alternative option
65
- ccs kimi "Write integration tests"
66
-
67
- # Use GLM for all subsequent commands until switched back
68
- ccs glm
69
- ccs "Debug this issue"
70
- ccs "Write unit tests"
71
- ```
72
-
73
- #### Package Manager Options
74
-
75
- All major package managers are supported:
76
-
77
- ```bash
78
- # npm (default)
79
- npm install -g @kaitranntt/ccs
80
-
81
- # yarn
82
- yarn global add @kaitranntt/ccs
83
-
84
- # pnpm (70% less disk space)
85
- pnpm add -g @kaitranntt/ccs
86
-
87
- # bun (30x faster)
88
- bun add -g @kaitranntt/ccs
89
- ```
67
+ > **💡 Performance Tip**: Traditional installs bypass Node.js routing for faster startup, but I prioritize npm updates due to easier deployment automation.
90
68
 
91
69
  ### Configuration (Auto-created)
92
70
 
@@ -116,107 +94,137 @@ $env:CCS_CLAUDE_PATH = "D:\Tools\Claude\claude.exe" # Windows
116
94
 
117
95
  ---
118
96
 
97
+ ### Your First Switch
98
+
99
+ > **⚠️ Important**: Before using GLM or Kimi profiles, you need to update your API keys in their respective settings files:
100
+ > - **GLM**: Edit `~/.ccs/glm.settings.json` and add your GLM API key
101
+ > - **Kimi**: Edit `~/.ccs/kimi.settings.json` and add your Kimi API key
102
+
103
+ ```bash
104
+ # Use Claude subscription (default) for high-level planning
105
+ ccs "Plan the implementation of a microservices architecture"
106
+
107
+ # Switch to GLM for cost-optimized tasks
108
+ ccs glm "Create a simple REST API"
109
+
110
+ # Switch to Kimi for its thinking capabilities
111
+ ccs kimi "Write integration tests with proper error handling"
112
+ ```
113
+
114
+ ---
115
+
119
116
  ## The Daily Developer Pain Point
120
117
 
121
- You have Claude subscription, GLM Coding Plan, and Kimi for Coding. Three scenarios happen every day:
118
+ Developers face multiple subscription scenarios daily:
122
119
 
123
- 1. **Rate Limits Hit**: Claude stops mid-project → you manually edit `~/.claude/settings.json`
124
- 2. **Cost Waste**: Simple tasks use expensive Claude GLM or Kimi would work fine
125
- 3. **Model Choice**: Different tasks benefit from different model strengthsmanual switching
120
+ 1. **Account Separation**: Company Claude account vs personal Claude → you must manually switch contexts to keep work and personal separate
121
+ 2. **Rate Limits Hit**: Claude stops mid-projectyou manually edit `~/.claude/settings.json`
122
+ 3. **Cost Management**: 2-3 Pro subscriptions ($20/month each) vs Claude Max at 5x cost ($100/month) Pro tier is the practical ceiling for most developers
123
+ 4. **Model Choice**: Different tasks benefit from different model strengths → manual switching
126
124
 
127
- Manual switching breaks your flow. **CCS fixes it instantly**.
125
+ Manual context switching breaks your workflow. **CCS manages it seamlessly**.
128
126
 
129
127
  ## Why CCS Instead of Manual Switching?
130
128
 
131
129
  <div align="center">
132
130
 
133
- | Feature | Benefit | Emotional Value |
134
- |---------|---------|-----------------|
135
- | **Instant Switching** | One command, no file editing | Confidence, control |
136
- | **Zero Downtime** | Never interrupt your workflow | Reliability, consistency |
137
- | **Smart Delegation** | Right model for each task automatically | Simplicity, ease |
138
- | **Cost Control** | Use expensive models only when needed | Efficiency, savings |
139
- | **Cross-Platform** | Works on macOS, Linux, Windows | Flexibility, portability |
140
- | **Reliable** | Pure bash/PowerShell, zero dependencies | Trust, peace of mind |
131
+ | Feature | Benefit |
132
+ |---------|---------|
133
+ | **Account Isolation** | Keep work separate from personal |
134
+ | **Cost Optimization** | 2-3 Pro accounts vs Max at 5x cost |
135
+ | **Instant Switching** | One command, no file editing |
136
+ | **Zero Downtime** | Never interrupt workflow |
137
+ | **Rate Limit Management** | Switch accounts when limits hit |
138
+ | **Cross-Platform** | macOS, Linux, Windows |
141
139
 
142
140
  </div>
143
141
 
144
142
  **The Solution**:
145
143
  ```bash
146
- ccs # Use Claude subscription (default)
147
- ccs glm # Switch to GLM fallback
148
- ccs kimi # Switch to Kimi for Coding
144
+ ccs work # Use company Claude account
145
+ ccs personal # Switch to personal Claude account
146
+ ccs glm # Switch to GLM for cost-effective tasks
147
+ ccs kimi # Switch to Kimi for alternative option
149
148
  # Hit rate limit? Switch instantly:
150
- ccs glm # Continue working with GLM
151
- # Or switch to Kimi:
152
- ccs kimi # Continue working with Kimi
149
+ ccs glm # Continue working with GLM
150
+ # Need different company account?
151
+ ccs work-2 # Switch to second company account
153
152
  ```
154
153
 
155
- One command. Zero downtime. No file editing. Right model, right task.
156
-
157
154
  ---
158
155
 
159
- ## 🏗️ Architecture Overview (v3.0 Simplified)
156
+ ## 🏗️ Architecture Overview
160
157
 
161
158
  **v3.0 Login-Per-Profile Model**: Each profile is an isolated Claude instance where users login directly. No credential copying or vault encryption.
162
159
 
163
160
  ```mermaid
164
- graph LR
165
- subgraph "User Command"
166
- CMD[ccs <profile>]
161
+ flowchart TD
162
+ subgraph "User Input"
163
+ USER["User runs: ccs &lt;profile&gt; [args...]"]
167
164
  end
168
165
 
169
- subgraph "Profile Detection"
166
+ subgraph "Profile Detection Engine"
170
167
  DETECT[ProfileDetector]
171
- SETTINGS[Settings-based: glm, kimi]
172
- ACCOUNT[Account-based: work, personal]
168
+ PROFILE_CHECK{Profile exists?}
169
+
170
+ subgraph "Profile Types"
171
+ SETTINGS["Settings-based<br/>glm, kimi, default"]
172
+ ACCOUNT["Account-based<br/>work, personal, team"]
173
+ end
173
174
  end
174
175
 
175
- subgraph "CCS Processing"
176
- CONFIG[Read config.json/profiles.json]
177
- INSTANCE[InstanceManager: lazy directory init]
176
+ subgraph "CCS Core Processing"
177
+ CONFIG["Read config.json<br/>and profiles.json"]
178
+
179
+ subgraph "Profile Handlers"
180
+ SETTINGS_MGR["SettingsManager<br/>→ --settings flag"]
181
+ INSTANCE_MGR["InstanceManager<br/>→ CLAUDE_CONFIG_DIR"]
182
+ end
178
183
  end
179
184
 
180
185
  subgraph "Claude CLI Execution"
181
- SETTINGS_EXEC[claude --settings <path>]
182
- INSTANCE_EXEC[CLAUDE_CONFIG_DIR=<instance> claude]
186
+ CLAUDE_DETECT["Claude CLI Detection<br/>CCS_CLAUDE_PATH support"]
187
+
188
+ subgraph "Execution Methods"
189
+ SETTINGS_EXEC["claude --settings &lt;path&gt;"]
190
+ INSTANCE_EXEC["CLAUDE_CONFIG_DIR=&lt;instance&gt; claude"]
191
+ end
183
192
  end
184
193
 
185
- subgraph "API Response"
186
- API[Claude/GLM/Kimi API]
194
+ subgraph "API Layer"
195
+ API["API Response<br/>Claude Sonnet 4.5<br/>GLM 4.6<br/>Kimi K2 Thinking"]
187
196
  end
188
197
 
189
- CMD --> DETECT
190
- DETECT --> SETTINGS
191
- DETECT --> ACCOUNT
198
+ %% Flow connections
199
+ USER --> DETECT
200
+ DETECT --> PROFILE_CHECK
201
+ PROFILE_CHECK -->|Yes| SETTINGS
202
+ PROFILE_CHECK -->|Yes| ACCOUNT
203
+
192
204
  SETTINGS --> CONFIG
193
- ACCOUNT --> INSTANCE
194
- SETTINGS --> SETTINGS_EXEC
195
- ACCOUNT --> INSTANCE_EXEC
196
- SETTINGS_EXEC --> API
197
- INSTANCE_EXEC --> API
205
+ ACCOUNT --> CONFIG
206
+
207
+ CONFIG --> SETTINGS_MGR
208
+ CONFIG --> INSTANCE_MGR
209
+
210
+ SETTINGS_MGR --> SETTINGS_EXEC
211
+ INSTANCE_MGR --> INSTANCE_EXEC
212
+
213
+ SETTINGS_EXEC --> CLAUDE_DETECT
214
+ INSTANCE_EXEC --> CLAUDE_DETECT
215
+
216
+ CLAUDE_DETECT --> API
198
217
  ```
199
218
 
200
219
  ---
201
220
 
202
221
  ## ⚡ Features
203
222
 
204
- ### Instant Profile Switching
205
- - **One Command**: `ccs glm` to switch to GLM, `ccs` to use Claude subscription - no config file editing
206
- - **Smart Detection**: Automatically uses right model for each task
207
- - **Persistent**: Switch stays active until changed again
208
-
209
- ### Concurrent Sessions (All Platforms)
210
- - **Multiple Profiles Simultaneously**: Run `ccs work` and `ccs personal` in different terminals concurrently
211
- - **Isolated Instances**: Each profile gets own config directory (`~/.ccs/instances/<profile>/`)
212
- - **Independent Sessions**: Separate login, chat sessions, todos, logs per profile
213
- - **Platform Parity**: Works identically on macOS, Linux, and Windows via `CLAUDE_CONFIG_DIR`
214
- - **Backward Compatible**: Existing settings profiles (glm, kimi) work unchanged
215
-
216
- ### Zero Workflow Interruption
217
- - **No Downtime**: Switching happens instantly between commands
218
- - **Context Preservation**: Your workflow remains uninterrupted
219
- - **Seamless Integration**: Works exactly like native Claude CLI
223
+ - **Instant Switching** - `ccs glm` switches to GLM, no config editing
224
+ - **Concurrent Sessions** - Run multiple profiles simultaneously in different terminals
225
+ - **Isolated Instances** - Each profile gets own config (`~/.ccs/instances/<profile>/`)
226
+ - **Cross-Platform** - macOS, Linux, Windows - identical behavior
227
+ - **Zero Downtime** - Switch instantly, no workflow interruption
220
228
 
221
229
 
222
230
  ---
@@ -233,46 +241,49 @@ ccs --version # Show CCS version and install location
233
241
 
234
242
  ### Concurrent Sessions (Multi-Account)
235
243
  ```bash
236
- # First time: Create profile and login
237
- ccs auth create work # Opens Claude, prompts for login
238
- ccs auth create personal # Opens Claude, prompts for login
244
+ # Create multiple Claude accounts
245
+ ccs auth create work # Company account
246
+ ccs auth create personal # Personal account
247
+ ccs auth create team # Team account
239
248
 
240
249
  # Terminal 1 - Work account
241
250
  ccs work "implement feature"
242
251
 
243
- # Terminal 2 - Personal account (concurrent)
252
+ # Terminal 2 - Personal account (runs concurrently)
244
253
  ccs personal "review code"
245
-
246
- # Both run simultaneously with isolated logins/sessions
247
- # Works on all platforms: macOS, Linux, Windows
248
254
  ```
249
255
 
250
256
  ---
251
257
 
252
- ### 🗑️ Official Uninstall
258
+ ### 🗑️ Uninstall
259
+
260
+ **Package Managers**
261
+ ```bash
262
+ # npm
263
+ npm uninstall -g @kaitranntt/ccs
264
+
265
+ # yarn
266
+ yarn global remove @kaitranntt/ccs
267
+
268
+ # pnpm
269
+ pnpm remove -g @kaitranntt/ccs
253
270
 
254
- **The recommended way to completely remove CCS:**
271
+ # bun
272
+ bun remove -g @kaitranntt/ccs
273
+ ```
255
274
 
256
- **macOS / Linux**:
275
+ **Official Uninstaller**
276
+
277
+ **macOS / Linux**
257
278
  ```bash
258
279
  curl -fsSL ccs.kaitran.ca/uninstall | bash
259
280
  ```
260
281
 
261
- **Windows PowerShell**:
282
+ **Windows PowerShell**
262
283
  ```powershell
263
284
  irm ccs.kaitran.ca/uninstall | iex
264
285
  ```
265
286
 
266
- > 💡 **Why use the official uninstaller?**
267
- > - Removes all CCS files and configurations
268
- > - Cleans up PATH modifications
269
- > - Removes Claude CLI commands/skills
270
- > - Handles edge cases we've tested
271
-
272
- **Alternative methods** (if official uninstaller fails):
273
- - **npm**: `npm uninstall -g @kaitranntt/ccs`
274
- - **Manual**: See [troubleshooting guide](./docs/en/troubleshooting.md#manual-uninstall)
275
-
276
287
  ---
277
288
 
278
289
  ## 🎯 Philosophy
@@ -290,13 +301,13 @@ irm ccs.kaitran.ca/uninstall | iex
290
301
  - [Configuration](./docs/en/configuration.md)
291
302
  - [Usage Examples](./docs/en/usage.md)
292
303
  - [Troubleshooting](./docs/en/troubleshooting.md)
293
- - [Contributing](./docs/en/contributing.md)
304
+ - [Contributing](./CONTRIBUTING.md)
294
305
 
295
306
  ---
296
307
 
297
308
  ## 🤝 Contributing
298
309
 
299
- We welcome contributions! Please see our [Contributing Guide](./docs/en/contributing.md) for details.
310
+ We welcome contributions! Please see our [Contributing Guide](./CONTRIBUTING.md) for details.
300
311
 
301
312
  ---
302
313
 
@@ -312,4 +323,4 @@ CCS is licensed under the [MIT License](LICENSE).
312
323
 
313
324
  [⭐ Star this repo](https://github.com/kaitranntt/ccs) | [🐛 Report issues](https://github.com/kaitranntt/ccs/issues) | [📖 Read docs](./docs/en/)
314
325
 
315
- </div>
326
+ </div>