diff --git a/README.md b/README.md index afdd6d23..94204123 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,97 @@ # CCS - Claude Code Switch -[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) -[![Language: Bash | PowerShell](https://img.shields.io/badge/Language-Bash%20%7C%20PowerShell-blue.svg)]() -[![Platform: macOS | Linux | Windows](https://img.shields.io/badge/Platform-macOS%20%7C%20Linux%20%7C%20Windows-lightgrey.svg)]() + + + + + +
+ +**One command, zero downtime, right model for each task** + +Switch between Claude Sonnet 4.5 and GLM 4.6 instantly. Stop hitting rate limits. Start optimizing costs. + +[![Install CCS](https://img.shields.io/badge/Install-CCS-C15F3C?style=for-the-badge&logo=linux&logoColor=white)](#installation) +[![Version](https://img.shields.io/badge/version-2.2.3-141618?style=for-the-badge)](https://github.com/kaitranntt/ccs/releases) +[![License](https://img.shields.io/badge/license-MIT-C15F3C?style=for-the-badge)](LICENSE) +[![Platform](https://img.shields.io/badge/platform-macOS%20%7C%20Linux%20%7C%20Windows-lightgrey?style=for-the-badge)]() **Languages**: [English](README.md) | [Tiếng Việt](README.vi.md) -> Switch between Claude Sonnet 4.5 and GLM 4.6 instantly. Use the right model for each task. + -**The Problem**: You have both Claude subscription and GLM Coding Plan. Two scenarios happen daily: -1. **Rate limits**: Claude hits limit mid-project, you manually edit `~/.claude/settings.json` to switch -2. **Task optimization**: Complex planning needs Claude Sonnet 4.5's intelligence, but simple coding works fine with GLM 4.6 +![CCS Logo](docs/assets/ccs-logo-medium.png) -Manual switching is tedious and error-prone. +
+ +--- + +## 🚀 Quick Start + +### Primary Installation Methods + +**macOS / Linux** +```bash +curl -fsSL ccs.kaitran.ca/install | bash +``` + +**Windows PowerShell** +```powershell +irm ccs.kaitran.ca/install | iex +``` + +### Your First Switch + +```bash +# Switch to GLM for cost-optimized tasks +ccs glm "Create a simple REST API" + +# Switch back to Claude for complex tasks +ccs claude "Review this architecture design" + +# Use GLM for all subsequent commands until switched back +ccs glm +ccs "Debug this issue" +ccs "Write unit tests" +``` + +### Configuration (Auto-created) + +**~/.ccs/config.json**: +```json +{ + "profiles": { + "glm": "~/.ccs/glm.settings.json", + "default": "~/.claude/settings.json" + } +} +``` + +--- + +## The Daily Developer Pain Point + +You have both Claude subscription and GLM Coding Plan. Two scenarios happen every day: + +1. **Rate Limits Hit**: Claude stops mid-project → you manually edit `~/.claude/settings.json` +2. **Cost Waste**: Simple tasks use expensive Claude → GLM would work fine + +Manual switching breaks your flow. **CCS fixes it instantly**. + +## Why CCS Instead of Manual Switching? + +
+ +| Feature | Benefit | Emotional Value | +|---------|---------|-----------------| +| **Instant Switching** | One command, no file editing | Confidence, control | +| **Zero Downtime** | Never interrupt your workflow | Reliability, consistency | +| **Smart Delegation** | Right model for each task automatically | Simplicity, ease | +| **Cost Control** | Use expensive models only when needed | Efficiency, savings | +| **Cross-Platform** | Works on macOS, Linux, Windows | Flexibility, portability | +| **Reliable** | Pure bash/PowerShell, zero dependencies | Trust, peace of mind | + +
**The Solution**: ```bash @@ -24,38 +103,50 @@ ccs glm # Continue working with GLM One command. Zero downtime. No file editing. Right model, right task. -## Quick Start +--- -### Install: +## 🏗️ Architecture Overview -**macOS / Linux**: -```bash -curl -fsSL ccs.kaitran.ca/install | bash +```mermaid +graph LR + subgraph "User Command" + CMD[ccs glm] + end + + subgraph "CCS Processing" + CONFIG[Read ~/.ccs/config.json] + LOOKUP[Lookup profile → settings file] + VALIDATE[Validate file exists] + end + + subgraph "Claude CLI" + EXEC[claude --settings ] + end + + subgraph "API Response" + API[Claude Sub or GLM API] + end + + CMD --> CONFIG + CONFIG --> LOOKUP + LOOKUP --> VALIDATE + VALIDATE --> EXEC + EXEC --> API ``` -**Windows PowerShell**: -```powershell -irm ccs.kaitran.ca/install | iex -``` +--- -**~/.ccs/config.json** (auto-created during install): -```json -{ - "profiles": { - "glm": "~/.ccs/glm.settings.json", - "default": "~/.claude/settings.json" - } -} -``` +## ⚡ Features -### Use: -```bash -ccs # Use Claude subscription (default) -ccs glm # Use GLM fallback -ccs --version # Show CCS version and install location -ccs --install # Install CCS commands and skills to ~/.claude/ -ccs --uninstall # Remove CCS commands and skills from ~/.claude/ -``` +### Instant Profile Switching +- **One Command**: `ccs glm` or `ccs claude` - no config file editing +- **Smart Detection**: Automatically uses right model for each task +- **Persistent**: Switch stays active until changed again + +### Zero Workflow Interruption +- **No Downtime**: Switching happens instantly between commands +- **Context Preservation**: Your workflow remains uninterrupted +- **Seamless Integration**: Works exactly like native Claude CLI ### Task Delegation @@ -85,13 +176,53 @@ ccs --uninstall # Remove /ccs command from Claude CLI - ✅ Seamless integration with existing workflows - ✅ Clean installation and removal when needed -## Philosophy +--- + +## 💻 Usage Examples + +```bash +ccs # Use Claude subscription (default) +ccs glm # Use GLM fallback +ccs --version # Show CCS version and install location +ccs --install # Install CCS commands and skills to ~/.claude/ +ccs --uninstall # Remove CCS commands and skills from ~/.claude/ +``` + +--- + +## 🎯 Philosophy - **YAGNI**: No features "just in case" - **KISS**: Simple bash, no complexity - **DRY**: One source of truth (config) -## Uninstall +--- + +## 🔧 Installation + +### System Requirements + +- **Node.js**: Not required (pure bash/PowerShell) +- **Python**: Not required +- **Dependencies**: Only `jq` for JSON parsing (Unix systems) +- **Claude CLI**: Must be installed separately +- **API Keys**: Valid Claude and GLM API keys + +### Verification + +```bash +# Verify installation +ccs --version + +# Expected output: +# CCS v2.2.3 +# Installed at: ~/.local/bin/ccs (Unix) or %USERPROFILE%\.ccs\ccs.ps1 (Windows) +# Claude CLI: Found at /usr/local/bin/claude +``` + +--- + +## 🗑️ Uninstall **macOS / Linux**: ```bash @@ -103,7 +234,11 @@ curl -fsSL ccs.kaitran.ca/uninstall | bash irm ccs.kaitran.ca/uninstall | iex ``` -**Learn more**: Complete documentation in [docs/](./docs/) +--- + +## 📖 Documentation + +**Complete documentation in [docs/](./docs/)**: - [Installation Guide](./docs/installation.md) - [Configuration](./docs/configuration.md) - [Usage Examples](./docs/usage.md) @@ -112,4 +247,22 @@ irm ccs.kaitran.ca/uninstall | iex --- -*Built with ❤️ by [Kai Tran](https://github.com/kaitranntt)* \ No newline at end of file +## 🤝 Contributing + +We welcome contributions! Please see our [Contributing Guide](./docs/contributing.md) for details. + +--- + +## 📄 License + +CCS is licensed under the [MIT License](LICENSE). + +--- + +
+ +**Made with ❤️ for developers who hit rate limits too often** + +[⭐ Star this repo](https://github.com/kaitranntt/ccs) | [🐛 Report issues](https://github.com/kaitranntt/ccs/issues) | [📖 Read docs](./docs/) + +
\ No newline at end of file diff --git a/README.vi.md b/README.vi.md index 80875431..8ec546e0 100644 --- a/README.vi.md +++ b/README.vi.md @@ -1,18 +1,97 @@ # CCS - Claude Code Switch -[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) -[![Language: Bash | PowerShell](https://img.shields.io/badge/Language-Bash%20%7C%20PowerShell-blue.svg)]() -[![Platform: macOS | Linux | Windows](https://img.shields.io/badge/Platform-macOS%20%7C%20Linux%20%7C%20Windows-lightgrey.svg)]() + + + + + +
+ +**Một lệnh, không downtime, đúng model cho từng tác vụ** + +Chuyển đổi giữa Claude Sonnet 4.5 và GLM 4.6 ngay lập tức. Ngừng hitting rate limits. Bắt đầu tối ưu chi phí. + +[![Install CCS](https://img.shields.io/badge/Install-CCS-C15F3C?style=for-the-badge&logo=linux&logoColor=white)](#installation) +[![Version](https://img.shields.io/badge/version-2.2.3-141618?style=for-the-badge)](https://github.com/kaitranntt/ccs/releases) +[![License](https://img.shields.io/badge/license-MIT-C15F3C?style=for-the-badge)](LICENSE) +[![Platform](https://img.shields.io/badge/platform-macOS%20%7C%20Linux%20%7C%20Windows-lightgrey?style=for-the-badge)]() **Ngôn ngữ**: [English](README.md) | [Tiếng Việt](README.vi.md) -> Chuyển đổi giữa Claude Sonnet 4.5 và GLM 4.6 ngay lập tức. Dùng đúng model cho từng tác vụ. + -**Vấn đề**: Bạn có cả Claude subscription và GLM Coding Plan. Hai tình huống xảy ra hàng ngày: -1. **Rate limit**: Claude hết lượt giữa chừng project, phải tự tay sửa file `~/.claude/settings.json` để chuyển -2. **Tối ưu công việc**: Planning phức tạp cần trí tuệ của Claude Sonnet 4.5, nhưng coding đơn giản thì GLM 4.6 vẫn làm tốt +![CCS Logo](docs/assets/ccs-logo-medium.png) -Chuyển đổi thủ công rất mất thời gian và dễ sai. +
+ +--- + +## 🚀 Bắt Đầu Nhanh + +### Phương Pháp Cài Đặt Chính + +**macOS / Linux** +```bash +curl -fsSL ccs.kaitran.ca/install | bash +``` + +**Windows PowerShell** +```powershell +irm ccs.kaitran.ca/install | iex +``` + +### Lần Chuyển Đổi Đầu Tiên + +```bash +# Chuyển sang GLM cho tác vụ tối ưu chi phí +ccs glm "Tạo REST API đơn giản" + +# Chuyển lại Claude cho tác vụ phức tạp +ccs claude "Review thiết kế kiến trúc này" + +# Dùng GLM cho tất cả lệnh tiếp theo cho đến khi chuyển lại +ccs glm +ccs "Debug issue này" +ccs "Viết unit tests" +``` + +### Cấu Hình (Tự Tạo) + +**~/.ccs/config.json**: +```json +{ + "profiles": { + "glm": "~/.ccs/glm.settings.json", + "default": "~/.claude/settings.json" + } +} +``` + +--- + +## Điểm Đau Hàng Ngày Của Lập Trình Viên + +Bạn có cả Claude subscription và GLM Coding Plan. Hai tình huống xảy ra hàng ngày: + +1. **Hết Rate Limit**: Claude dừng giữa chừng project → bạn phải tự tay sửa `~/.claude/settings.json` +2. **Lãng Phí Chi Phí**: Tác vụ đơn giản dùng Claude đắt tiền → GLM cũng làm tốt + +Chuyển đổi thủ công làm gián đoạn workflow của bạn. **CCS khắc phục ngay lập tức**. + +## Tại Sao CCS Thay Vì Chuyển Đổi Thủ Công? + +
+ +| Tính năng | Lợi ích | Giá trị cảm xúc | +|-----------|---------|-----------------| +| **Chuyển đổi tức thì** | Một lệnh, không sửa file | Tự tin, kiểm soát | +| **Không downtime** | Không bao giờ gián đoạn workflow | Đáng tin cậy, nhất quán | +| **Delegation thông minh** | Đúng model cho từng tác vụ tự động | Đơn giản, dễ dàng | +| **Kiểm soát chi phí** | Dùng model đắt tiền chỉ khi cần | Hiệu quả, tiết kiệm | +| **Đa nền tảng** | Hoạt động trên macOS, Linux, Windows | Linh hoạt, di động | +| **Đáng tin cậy** | Bash/PowerShell thuần, không dependencies | Tin tưởng, an tâm | + +
**Giải pháp**: ```bash @@ -24,38 +103,50 @@ ccs glm # Tiếp tục làm việc với GLM Một lệnh. Không downtime. Không phải sửa file. Đúng model, đúng việc. -## Bắt Đầu Nhanh +--- -### Cài đặt: +## 🏗️ Tổng Quan Kiến Trúc -**macOS / Linux**: -```bash -curl -fsSL ccs.kaitran.ca/install | bash +```mermaid +graph TB + subgraph "Lệnh Người Dùng" + CMD[ccs glm] + end + + subgraph "Xử Lý CCS" + CONFIG[Đọc ~/.ccs/config.json] + LOOKUP[Tìm profile → file settings] + VALIDATE[Kiểm tra file tồn tại] + end + + subgraph "Claude CLI" + EXEC[claude --settings ] + end + + subgraph "Phản Hồi API" + API[Claude hoặc GLM API] + end + + CMD --> CONFIG + CONFIG --> LOOKUP + LOOKUP --> VALIDATE + VALIDATE --> EXEC + EXEC --> API ``` -**Windows PowerShell**: -```powershell -irm ccs.kaitran.ca/install | iex -``` +--- -**~/.ccs/config.json** (tự động tạo khi cài đặt): -```json -{ - "profiles": { - "glm": "~/.ccs/glm.settings.json", - "default": "~/.claude/settings.json" - } -} -``` +## ⚡ Tính Năng -### Sử dụng: -```bash -ccs # Dùng Claude subscription (mặc định) -ccs glm # Dùng GLM fallback -ccs --version # Hiển thị phiên bản CCS -ccs --install # Cài đặt lệnh và kỹ năng CCS vào ~/.claude/ -ccs --uninstall # Gỡ bỏ lệnh và kỹ năng CCS khỏi ~/.claude/ -``` +### Chuyển Profile Ngay Lập Tức +- **Một Lệnh**: `ccs glm` hoặc `ccs claude` - không cần sửa file config +- **Phát Hiện Thông Minh**: Tự động dùng đúng model cho từng tác vụ +- **Liên Tục**: Chuyển đổi hoạt động cho đến khi thay đổi lại + +### Không Gián Đoạn Workflow +- **Không Downtime**: Chuyển đổi xảy ra ngay lập tức giữa các lệnh +- **Bảo Toàn Context**: Workflow của bạn không bị gián đoạn +- **Tích Hợp Liền Mạch**: Hoạt động chính xác như Claude CLI native ### Delegation Tác Vụ @@ -85,13 +176,53 @@ ccs --uninstall # Gỡ bỏ lệnh /ccs khỏi Claude CLI - ✅ Tích hợp liền mạch với workflows hiện có - ✅ Cài đặt và gỡ bỏ sạch sẽ khi cần -## Triết Lý +--- + +## 💻 Ví Dụ Sử Dụng + +```bash +ccs # Dùng Claude subscription (mặc định) +ccs glm # Dùng GLM fallback +ccs --version # Hiển thị phiên bản CCS và vị trí cài đặt +ccs --install # Cài đặt lệnh và kỹ năng CCS vào ~/.claude/ +ccs --uninstall # Gỡ bỏ lệnh và kỹ năng CCS khỏi ~/.claude/ +``` + +--- + +## 🎯 Triết Lý - **YAGNI**: Không có tính năng "phòng hờ" - **KISS**: Bash đơn giản, không phức tạp - **DRY**: Một nguồn chân lý duy nhất (config) -## Gỡ Cài Đặt +--- + +## 🔧 Cài Đặt + +### Yêu Cầu Hệ Thống + +- **Node.js**: Không yêu cầu (bash/PowerShell thuần) +- **Python**: Không yêu cầu +- **Dependencies**: Chỉ `jq` để parse JSON (Unix systems) +- **Claude CLI**: Phải cài đặt riêng +- **API Keys**: Có sẵn Claude và GLM API keys hợp lệ + +### Kiểm Tra + +```bash +# Kiểm tra cài đặt +ccs --version + +# Kết quả mong đợi: +# CCS v2.2.3 +# Installed at: ~/.local/bin/ccs (Unix) hoặc %USERPROFILE%\.ccs\ccs.ps1 (Windows) +# Claude CLI: Found at /usr/local/bin/claude +``` + +--- + +## 🗑️ Gỡ Cài Đặt **macOS / Linux**: ```bash @@ -103,13 +234,35 @@ curl -fsSL ccs.kaitran.ca/uninstall | bash irm ccs.kaitran.ca/uninstall | iex ``` -**Tìm hiểu thêm**: Tài liệu đầy đủ có sẵn trong [docs/vi/](./docs/vi/) -- [Hướng dẫn Cài đặt](./docs/vi/installation.vi.md) -- [Cấu hình](./docs/vi/configuration.vi.md) -- [Ví dụ Sử dụng](./docs/vi/usage.vi.md) -- [Khắc phục Sự cố](./docs/vi/troubleshooting.vi.md) -- [Đóng góp](./docs/vi/contributing.vi.md) +--- + +## 📖 Tài Liệu + +**Tài liệu đầy đủ trong [docs/](./docs/)**: +- [Hướng dẫn Cài đặt](./docs/installation.md) +- [Cấu hình](./docs/configuration.md) +- [Ví dụ Sử dụng](./docs/usage.md) +- [Khắc phục Sự cố](./docs/troubleshooting.md) +- [Đóng góp](./docs/contributing.md) --- -*Được tạo với ❤️ bởi [Kai Tran](https://github.com/kaitranntt)* +## 🤝 Đóng Góp + +Chúng tôi chào mừng đóng góp! Xem [Hướng dẫn Đóng góp](./docs/contributing.md) để biết chi tiết. + +--- + +## 📄 Giấy Phép + +CCS được cấp phép theo [Giấy phép MIT](LICENSE). + +--- + +
+ +**Được tạo với ❤️ cho những lập trình viên hay hết rate limit** + +[⭐ Star repo này](https://github.com/kaitranntt/ccs) | [🐛 Báo cáo vấn đề](https://github.com/kaitranntt/ccs/issues) | [📖 Đọc tài liệu](./docs/) + +
diff --git a/docs/assets/ccs-logo-medium.png b/docs/assets/ccs-logo-medium.png new file mode 100644 index 00000000..8f79961f Binary files /dev/null and b/docs/assets/ccs-logo-medium.png differ diff --git a/docs/assets/ccs-logo-zoomed-web.png b/docs/assets/ccs-logo-zoomed-web.png new file mode 100644 index 00000000..493949ee Binary files /dev/null and b/docs/assets/ccs-logo-zoomed-web.png differ