docs(vi): add Vietnamese translations for CCS documentation

- Add Vietnamese README (README.vi.md) with complete setup guide
- Add Vietnamese documentation in docs/vi/ directory
- Include configuration and usage guides translated to Vietnamese
- Maintain consistency with English documentation structure
This commit is contained in:
kaitranntt committed 2025-11-02 23:08:39 -05:00
1 parent bd152e54b1
commit ade5103ca0
6 files changed
+826 -593

No files matched your search

+145
View File
@@ -0,0 +1,145 @@
# Hướng Dẫn Cấu Hình CCS
## Cấu Hình Tự Động
Installer tự động tạo config và mẫu profile trong quá trình cài đặt:
**macOS / Linux**: `~/.ccs/config.json`
**Windows**: `%USERPROFILE%\.ccs\config.json`
## Định Dạng Cấu Hình
### Cài Đặt Cơ Bản
```json
{
"profiles": {
"glm": "~/.ccs/glm.settings.json",
"default": "~/.claude/settings.json"
}
}
```
### Cài Đặt Nâng Cao (Nhiều Profile)
```json
{
"profiles": {
"glm": "~/.ccs/glm.settings.json",
"haiku": "~/.ccs/haiku.settings.json",
"custom": "~/.ccs/custom.settings.json",
"default": "~/.claude/settings.json"
}
}
```
## Cấu Hình Profile
### Ví Dụ Profile GLM
**Vị trí**: `~/.ccs/glm.settings.json`
```json
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.z.ai/api/anthropic",
"ANTHROPIC_AUTH_TOKEN": "your_glm_api_key",
"ANTHROPIC_MODEL": "glm-4.6",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.6",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.6",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.6"
}
}
```
### Profile Claude (Mặc Định)
- Sử dụng `~/.claude/settings.json` (config Claude CLI hiện tại của bạn)
- CCS không bao giờ sửa file này (tiếp cận không xâm phạm)
## Cách Hoạt Động Cấu Hình
1. CCS đọc tên profile từ dòng lệnh (mặc định là "default")
2. Tìm đường dẫn file settings trong `~/.ccs/config.json`
3. Thực thi `claude --settings <file> [remaining-args]`
Không có magic. Không sửa file. Chuyển giao thuần túy. Hoạt động giống nhau trên tất cả nền tảng.
## Vị Trí Config Tùy Chỉnh
```bash
export CCS_CONFIG=~/my-custom-config.json
ccs glm
```
## Lưu Ý Tùy Theo Nền Tảng
### Cấu Hình Windows
Windows dùng cấu trúc file và phương pháp giống như Linux/macOS.
**Định dạng config** (`~/.ccs/config.json`):
```json
{
"profiles": {
"glm": "~/.ccs/glm.settings.json",
"default": "~/.claude/settings.json"
}
}
```
### Cấu Hình macOS / Linux
Sử dụng đường dẫn file settings với mở rộng `~`:
```json
{
"profiles": {
"glm": "~/.ccs/glm.settings.json",
"default": "~/.claude/settings.json"
}
}
```
Mỗi profile trỏ đến một file settings JSON của Claude. Tạo file settings theo [tài liệu Claude CLI](https://docs.claude.com/en/docs/claude-code/installation).
## Vấn Đề Cấu Hình
### Không tìm thấy profile
```
Error: Profile 'foo' not found in ~/.ccs/config.json
```
**Fix**: Thêm profile vào `~/.ccs/config.json`:
```json
{
"profiles": {
"foo": "~/.ccs/foo.settings.json"
}
}
```
### Thiếu file settings
```
Error: Settings file not found: ~/.ccs/foo.settings.json
```
**Fix**: Tạo file settings hoặc sửa đường dẫn trong config.
### Thiếu profile mặc định
```
Error: Profile 'default' not found in ~/.ccs/config.json
```
**Fix**: Thêm profile "default" hoặc luôn chỉ định tên profile:
```json
{
"profiles": {
"default": "~/.claude/settings.json"
}
}
```
+182
View File
@@ -0,0 +1,182 @@
# Hướng Dẫn Đóng Góp CCS
## Nguyên Tắc Phát Triển
### Triết Lý
CCS tuân theo các nguyên tắc cốt lõi sau:
- **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)
Công cụ này chỉ LÀM MỘT việc tốt: ánh xạ tên profile đến file settings.
### Tiêu Chuẩn Code
#### Yêu Cầu Tương Thích
- **Unix**: tương thích bash 3.2+
- **Windows**: tương thích PowerShell 5.1+
- **Dependencies**: Chỉ jq (Unix) hoặc PowerShell có sẵn (Windows)
#### Phong Cách Code
**Bash (Unix)**:
- Sử dụng shebang `#!/usr/bin/env bash`
- Quote variables: `"$VAR"` không phải `$VAR`
- Sử dụng `[[ ]]` cho tests, không phải `[ ]`
- Tuân theo mẫu thụt lề và đặt tên hiện có
**PowerShell (Windows)**:
- Sử dụng `CmdletBinding` và xử lý parameter đúng cách
- Tuân theo quy ước động-tên của PowerShell
- Sử dụng xử lý lỗi đúng cách với `try/catch`
- Duy trì tương thích với PowerShell 5.1+
### Kiểm Thử
#### Kiểm Thử Nền Tảng
Kiểm tra trên tất cả nền tảng trước khi gửi PR:
- macOS (bash)
- Linux (bash)
- Windows (PowerShell, CMD, Git Bash)
#### Kịch Bản Kiểm Thử
1. **Chức năng cơ bản**:
```bash
ccs # Nên dùng profile mặc định
ccs glm # Nên dùng profile GLM
ccs --version # Nên hiển thị phiên bản
```
2. **Với arguments**:
```bash
ccs glm --help
ccs /plan "test"
```
3. **Xử lý lỗi**:
```bash
ccs invalid-profile # Nên hiển thị lỗi
ccs --invalid-flag # Nên chuyển cho Claude
```
### Quy Trình Gửi
#### Trước Khi Gửi
1. Fork repository
2. Tạo feature branch: `git checkout -b feature-name`
3. Thực hiện thay đổi của bạn
4. Kiểm tra trên tất cả nền tảng
5. Đảm bảo các tests hiện có passes
#### Yêu Cầu Pull Request
- Mô tả rõ ràng các thay đổi
- Hướng dẫn kiểm thử nếu có
- Link đến các issues liên quan
- Tuân theo kiểu commit message hiện có
#### Kiểu Commit Message
```
type(scope): description
[optional body]
[optional footer]
```
Ví dụ:
```
fix(installer): handle git worktree detection
feat(config): support custom config location
docs(readme): update installation instructions
```
### Thiết Lập Phát Triển
#### Phát Triển Địa Phương
```bash
# Clone fork của bạn
git clone https://github.com/yourusername/ccs.git
cd ccs
# Tạo feature branch
git checkout -b your-feature-name
# Thực hiện thay đổi
# Kiểm tra địa phương với ./ccs
# Chạy tests
./test.sh # nếu có
```
#### Kiểm Thử Installer
```bash
# Kiểm thử installer Unix
./installers/install.sh
# Kiểm thử installer Windows (trong PowerShell)
.\installers\install.ps1
```
### Lĩnh Vực Đóng Góp
#### Tính Năng Mong Muốn
1. **Hỗ trợ profile bổ sung**:
- Validation profile tùy chỉnh
- Lối tắt chuyển profile
2. **Xử lý lỗi nâng cao**:
- Thông báo lỗi tốt hơn
- Gợi ý khôi phục
3. **Tài liệu**:
- Nhiều ví dụ hơn
- Hướng dẫn tích hợp
#### Sửa Lỗi
- Vấn đề installer trên các nền tảng khác nhau
- Edge cases trong parsing config
- Tương thích riêng của Windows
### Quy Trình Review
1. **Kiểm tra tự động**:
- Validation cú pháp
- Tests chức năng cơ bản
2. **Review thủ công**:
- Chất lượng và phong cách code
- Tương thích nền tảng
- Phù hợp với triết lý
3. **Kiểm thử**:
- Xác nhận đa nền tảng
- Kiểm thử tích hợp
### Cộng Đồng
#### Nhận Trợ Giúp
- GitHub Issues: Báo lỗi hoặc yêu cầu tính năng
- Discussions: Hỏi câu hỏi hoặc chia sẻ ý tưởng
#### Quy Tắc Ứng Xử
Hãy tôn trọng, mang tính xây dựng, và tập trung vào triết lý đơn giản và đáng tin cậy của dự án.
---
**Cảm ơn bạn đã đóng góp cho CCS!**
Hãy nhớ: Giữ nó đơn giản, kiểm thử kỹ lưỡng, và trung thành với triết lý YAGNI/KISS/DRY.
+139
View File
@@ -0,0 +1,139 @@
# Hướng Dẫn Cài Đặt CCS
## Cài Đặt Một Dòng Lệnh (Khuyến Nghị)
### macOS / Linux
```bash
# URL ngắn (qua CloudFlare)
curl -fsSL ccs.kaitran.ca/install | bash
# Hoặc trực tiếp từ GitHub
curl -fsSL https://raw.githubusercontent.com/kaitranntt/ccs/main/installers/install.sh | bash
```
### Windows PowerShell
```powershell
# URL ngắn (qua CloudFlare)
irm ccs.kaitran.ca/install.ps1 | iex
# Hoặc trực tiếp từ GitHub
irm https://raw.githubusercontent.com/kaitranntt/ccs/main/installers/install.ps1 | iex
```
**Lưu ý**:
- Installer Unix hỗ trợ cả chạy trực tiếp (`./install.sh`) và cài đặt qua pipe (`curl | bash`)
- Installer Windows yêu cầu PowerShell 5.1+ (đã cài sẵn trên Windows 10+)
## Cài Đặt qua Git Clone
### macOS / Linux
```bash
git clone https://github.com/kaitranntt/ccs.git
cd ccs
./installers/install.sh
```
### Windows PowerShell
```powershell
git clone https://github.com/kaitranntt/ccs.git
cd ccs
.\installers\install.ps1
```
**Lưu ý**: Hoạt động với git worktrees và submodules - installer phát hiện cả thư mục `.git` và file `.git`.
## Cài Đặt Thủ Công
### macOS / Linux
```bash
# Tải script
curl -fsSL https://raw.githubusercontent.com/kaitranntt/ccs/main/ccs -o ~/.local/bin/ccs
chmod +x ~/.local/bin/ccs
# Đảm bảo ~/.local/bin trong PATH
export PATH="$HOME/.local/bin:$PATH"
```
### Windows PowerShell
```powershell
# Tạo thư mục
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.ccs"
# Tải script
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/kaitranntt/ccs/main/ccs.ps1" -OutFile "$env:USERPROFILE\.ccs\ccs.ps1"
# Thêm vào PATH (khởi động lại terminal sau)
$Path = [Environment]::GetEnvironmentVariable("Path", "User")
[Environment]::SetEnvironmentVariable("Path", "$Path;$env:USERPROFILE\.ccs", "User")
```
## Những Gì Được Cài Đặt
```bash
~/.ccs/
├── ccs # Tệp thực thi chính
├── config.json # Cấu hình profile
├── glm.settings.json # Profile GLM
└── .claude/ # Tích hợp Claude Code
├── commands/ccs.md # meta-command /ccs
└── skills/ # Kỹ năng delegation
```
## Nâng Cấp CCS
### macOS / Linux
```bash
# Từ git clone
cd ccs && git pull && ./install.sh
# Từ cài đặt curl
curl -fsSL ccs.kaitran.ca/install | bash
```
### Windows PowerShell
```powershell
# Từ git clone
cd ccs
git pull
.\install.ps1
# Từ cài đặt irm
irm ccs.kaitran.ca/install.ps1 | iex
```
## Yêu Cầu
### macOS / Linux
- `bash` 3.2+
- `jq` (trình xử lý JSON)
- [Claude CLI](https://docs.claude.com/en/docs/claude-code/installation)
### Windows
- PowerShell 5.1+ (đã cài sẵn trên Windows 10+)
- [Claude CLI](https://docs.claude.com/en/docs/claude-code/installation)
### Cài đặt jq (chỉ macOS / Linux)
```bash
# macOS
brew install jq
# Ubuntu/Debian
sudo apt install jq
# Fedora
sudo dnf install jq
# Arch
sudo pacman -S jq
```
**Lưu ý**: Phiên bản Windows dùng JSON support có sẵn của PowerShell - không cần jq.
+180
View File
@@ -0,0 +1,180 @@
# Hướng Dẫn Khắc Phục Sự Cố CCS
## Vấn Đề Riêng Của Windows
### PowerShell Execution Policy
Nếu bạn thấy "cannot be loaded because running scripts is disabled":
```powershell
# Kiểm tra policy hiện tại
Get-ExecutionPolicy
# Cho phép user hiện tại chạy scripts (khuyến nghị)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
# Hoặc chạy với bypass (một lần)
powershell -ExecutionPolicy Bypass -File "$env:USERPROFILE\.ccs\ccs.ps1" glm
```
### PATH chưa được cập nhật (Windows)
Nếu lệnh `ccs` không tìm thấy sau khi cài đặt:
1. Khởi động lại terminal của bạn
2. Hoặc thêm thủ công vào PATH:
- Mở "Edit environment variables for your account"
- Thêm `%USERPROFILE%\.ccs` vào User PATH
- Khởi động lại terminal
### Claude CLI không tìm thấy (Windows)
```powershell
# Kiểm tra Claude CLI
where.exe claude
# Nếu thiếu, cài đặt từ tài liệu Claude
```
## Vấn Đề Cài Đặt
### Lỗi BASH_SOURCE unbound variable
Lỗi này xảy ra khi chạy installer trong một số shells hoặc môi trường.
**Đã sửa trong phiên bản mới nhất**: Installer bây giờ xử lý cả thực thi qua pipe (`curl | bash`) và thực thi trực tiếp (`./install.sh`).
**Giải pháp**: Nâng cấp lên phiên bản mới nhất:
```bash
curl -fsSL https://raw.githubusercontent.com/kaitranntt/ccs/main/installers/install.sh | bash
```
### Git worktree không được phát hiện
Nếu cài từ git worktree hoặc submodule, các phiên bản cũ có thể không phát hiện repository git.
**Đã sửa trong phiên bản mới nhất**: Installer bây giờ phát hiện cả thư mục `.git` (clone chuẩn) và file `.git` (worktree/submodule).
**Giải pháp**: Nâng cấp lên phiên bản mới nhất hoặc dùng phương pháp cài đặt curl.
## Vấn Đề Cấu Hình
### Không tìm thấy profile
```
Error: Profile 'foo' not found in ~/.ccs/config.json
```
**Fix**: Thêm profile vào `~/.ccs/config.json`:
```json
{
"profiles": {
"foo": "~/.ccs/foo.settings.json"
}
}
```
### Thiếu file settings
```
Error: Settings file not found: ~/.ccs/foo.settings.json
```
**Fix**: Tạo file settings hoặc sửa đường dẫn trong config.
### jq chưa được cài đặt
```
Error: jq is required but not installed
```
**Fix**: Cài đặt jq (xem hướng dẫn cài đặt).
**Lưu ý**: Installer tạo các mẫu cơ bản ngay cả khi không có jq, nhưng các tính năng nâng cao cần jq.
## Vấn Đề Môi Trường
### PATH chưa được thiết lập
```
⚠️ Warning: ~/.local/bin is not in PATH
```
**Fix**: Thêm vào `~/.bashrc` hoặc `~/.zshrc`:
```bash
export PATH="$HOME/.local/bin:$PATH"
```
Sau đó `source ~/.bashrc` hoặc khởi động lại shell.
### Thiếu profile mặc định
```
Error: Profile 'default' not found in ~/.ccs/config.json
```
**Fix**: Thêm profile "default" hoặc luôn chỉ định tên profile:
```json
{
"profiles": {
"default": "~/.claude/settings.json"
}
}
```
## Vấn Đề Phổ Biến
### Claude CLI không tìm thấy
```
Error: claude command not found
```
**Giải pháp**: Cài đặt Claude CLI từ [tài liệu chính thức](https://docs.claude.com/en/docs/claude-code/installation).
### Permission denied (Unix)
```
Error: Permission denied: ~/.local/bin/ccs
```
**Giải pháp**: Cho phép script thực thi:
```bash
chmod +x ~/.local/bin/ccs
```
### Không tìm thấy file config
```
Error: Config file not found: ~/.ccs/config.json
```
**Giải pháp**: Chạy lại installer hoặc tạo config thủ công:
```bash
mkdir -p ~/.ccs
echo '{"profiles":{"default":"~/.claude/settings.json"}}' > ~/.ccs/config.json
```
## Nhận Trợ Giúp
Nếu bạn gặp các vấn đề không được đề cập ở đây:
1. Kiểm tra [GitHub Issues](https://github.com/kaitranntt/ccs/issues)
2. Tạo issue mới với:
- Hệ điều hành của bạn
- Phiên bản CCS (`ccs --version`)
- Thông báo lỗi chính xác
- Các bước để tái tạo vấn đề
## Chế Độ Debug
Bật verbose output để khắc phục sự cố:
```bash
ccs --verbose glm
```
Điều này sẽ hiển thị:
- File config nào đang được đọc
- Profile nào đang được chọn
- File settings nào đang được sử dụng
- Lệnh chính xác đang được thực thi
+157
View File
@@ -0,0 +1,157 @@
# Hướng Dẫn Sử Dụng CCS
## Tại Sao Dùng CCS?
**Được xây dựng cho lập trình viên có cả Claude subscription và GLM Coding Plan.**
### Hai Tình Huống Thực Tế
#### 1. Chọn Model Phù Hợp Với Tác Vụ
**Claude Sonnet 4.5** xuất sắc trong:
- Quyết định kiến trúc phức tạp
- Thiết kế hệ thống và lập kế hoạch
- Gỡ lỗi các vấn đề khó
- Review code cần suy luận sâu
**GLM 4.6** hoạt động tốt cho:
- Sửa lỗi đơn giản
- Triển khai thẳng thắn
- Refactoring hàng ngày
- Viết tài liệu
**Với CCS**: Chuyển model dựa trên độ phức tạp của tác vụ, tối đa hóa chất lượng trong khi quản lý chi phí.
```bash
ccs # Lên kế hoạch kiến trúc tính năng mới
# Đã có kế hoạch? Triển khai với GLM:
ccs glm # Viết code đơn giản
```
#### 2. Quản Lý Rate Limit
Nếu bạn có cả Claude subscription và GLM Coding Plan, bạn biết sự khó khăn:
- Claude hết rate limit giữa chừng dự án
- Bạn phải copy thủ công config GLM vào `~/.claude/settings.json`
- 5 phút sau, cần chuyển lại
- Lặp lại 10 lần mỗi ngày
**CCS giải quyết điều này**:
- Một lệnh để chuyển: `ccs` (mặc định) hoặc `ccs glm` (fallback)
- Lưu cả hai config dạng profiles
- Chuyển trong <1 giây
- Không phải sửa file, không copy-paste, không sai sót
### Tính Năng
- Chuyển profile tức thì (Claude ↔ GLM)
- Chuyển tất cả args của Claude CLI
- Cài đặt thông minh: phát hiện provider hiện tại của bạn
- Tự động tạo configs khi cài đặt
- Không proxy, không magic—chỉ bash + jq
## Sử Dụng Cơ Bản
### Chuyển Profiles
```bash
# Hoạt động trên macOS, Linux, và Windows
ccs # Dùng Claude subscription (mặc định)
ccs glm # Dùng GLM fallback
```
**Lưu ý Windows**: Lệnh hoạt động giống nhau trong PowerShell, CMD, và Git Bash.
### Với Arguments
Tất cả args sau tên profile được chuyển trực tiếp cho Claude CLI:
```bash
ccs glm --verbose
ccs /plan "add feature"
ccs glm /code "implement feature"
```
### Lệnh Tiện Ích
```bash
ccs --version # Hiển thị phiên bản CCS
ccs --help # Hiển thị trợ giúp Claude CLI
```
## Delegation Tác Vụ
**CCS bao gồm delegation tác vụ thông minh** qua meta-command `/ccs`:
```bash
# Delegation lập kế hoạch cho GLM (tiết kiệm tokens Sonnet)
/ccs glm /plan "add user authentication"
# Delegation coding cho GLM
/ccs glm /code "implement auth endpoints"
# Câu hỏi nhanh với Haiku
/ccs haiku /ask "explain this error"
```
**Lợi ích**:
- ✅ Tiết kiệm tokens bằng cách delegation tác vụ đơn giản cho model rẻ hơn
- ✅ Dùng đúng model cho từng tác vụ tự động
- ✅ Lệnh có thể tái sử dụng trên tất cả dự án (user-scope)
- ✅ Tích hợp liền mạch với workflows hiện có
## Workflow Thực Tế
### Chọn Model Dựa Trên Tác Vụ
**Tình huống**: Xây dựng tính năng tích hợp thanh toán mới
```bash
# Bước 1: Kiến trúc & Lập kế hoạch (cần trí tuệ của Claude)
ccs
/plan "Design payment integration with Stripe, handle webhooks, errors, retries"
# → Claude Sonnet 4.5 suy nghĩ sâu về edge cases, bảo mật, kiến trúc
# Bước 2: Triển khai (coding đơn giản, dùng GLM)
ccs glm
/code "implement the payment webhook handler from the plan"
# → GLM 4.6 viết code hiệu quả, tiết kiệm usage của Claude
# Bước 3: Code Review (cần phân tích sâu)
ccs
/review "check the payment handler for security issues"
# → Claude Sonnet 4.5 phát hiện các lỗ hổng tinh vi
# Bước 4: Sửa Lỗi (đơn giản)
ccs glm
/fix "update error message formatting"
# → GLM 4.6 xử lý các sửa lỗi hàng ngày
```
**Kết quả**: Model tốt nhất cho từng tác vụ, chi phí thấp hơn, chất lượng tốt hơn.
### Quản Lý Rate Limit
```bash
# Làm việc với refactoring phức tạp bằng Claude
ccs
/plan "refactor authentication system"
# Claude hết rate limit giữa chừng tác vụ
# → Error: Rate limit exceeded
# Chuyển sang GLM ngay lập tức
ccs glm
# Tiếp tục làm việc không gián đoạn
# Rate limit reset? Chuyển lại
ccs
```
## Cách Hoạt Động
1. Đọc tên profile (mặc định là "default" nếu bỏ qua)
2. Tìm đường dẫn file settings trong `~/.ccs/config.json`
3. Thực thi `claude --settings <path> [remaining-args]`
Không có magic. Không sửa file. Chuyển giao thuần túy. Hoạt động giống nhau trên tất cả nền tảng.