mirror of
https://github.com/tiennm99/ccs.git
synced 2026-07-16 16:16:52 +00:00
Phase 02 of "Deprecate Native Installers" plan:
Documentation updates (10 files, 3 languages):
- README.md: Mark curl/irm installers as deprecated in collapsed section
- docs/en/installation.md: Add deprecation warnings, emphasize npm as primary
- docs/en/troubleshooting.md: Add FAQ for deprecation warning users see
- docs/en/usage.md: Update uninstall to show npm first, legacy second
- docs/version-management.md: Strikethrough deprecated release checklist items
- docs/ja/README.md: Japanese deprecation notice
- docs/vi/README.md: Vietnamese deprecation notice
- docs/vi/installation.vi.md: Vietnamese installation deprecation
- docs/vi/troubleshooting.vi.md: Vietnamese troubleshooting deprecation
- src/commands/help-command.ts: npm as recommended uninstall method
Code quality:
- Fixed emoji violations: replaced ⚠️ with [!] per CLAUDE.md ASCII-only rule
- Consistent messaging across EN/JA/VI translations
- Updated codebase-summary.md with Phase 02 achievements
All documentation now consistently recommends:
npm install -g @kaitranntt/ccs
Legacy installers (curl/irm) show deprecation warning and auto-redirect
to npm installation when Node.js is available.
240 lines
5.9 KiB
Markdown
240 lines
5.9 KiB
Markdown
# CCS Installation Guide
|
|
|
|
> [!WARNING]
|
|
> **Native shell installers (curl/irm) are deprecated.**
|
|
> Use npm installation for all platforms. Legacy installers will be removed in v5.0.
|
|
|
|
## npm Package Installation (Recommended)
|
|
|
|
### Cross-Platform Installation
|
|
|
|
**macOS / Linux / Windows**
|
|
```bash
|
|
npm install -g @kaitranntt/ccs
|
|
```
|
|
|
|
**Compatible with all package managers:**
|
|
- `npm install -g @kaitranntt/ccs`
|
|
- `yarn global add @kaitranntt/ccs`
|
|
- `pnpm add -g @kaitranntt/ccs`
|
|
- `bun add -g @kaitranntt/ccs`
|
|
|
|
**Benefits of npm installation:**
|
|
- ✅ Cross-platform compatibility
|
|
- ✅ Automatic PATH configuration
|
|
- ✅ Auto-creates config files via postinstall script
|
|
- ✅ Easy updates: `npm update -g @kaitranntt/ccs`
|
|
- ✅ Clean uninstall: `npm uninstall -g @kaitranntt/ccs`
|
|
- ✅ Version pinning support
|
|
- ✅ Dependency management
|
|
|
|
**What Happens During Install:**
|
|
1. npm downloads and installs the package
|
|
2. Postinstall script automatically creates `~/.ccs/config.json` and `~/.ccs/glm.settings.json`
|
|
3. npm creates `ccs` command in your PATH
|
|
|
|
**Note**: If you use `npm install --ignore-scripts`, config files won't be created. Run without that flag:
|
|
```bash
|
|
npm install -g @kaitranntt/ccs --force
|
|
```
|
|
|
|
## [!] DEPRECATED: One-Liner Installation (Legacy)
|
|
|
|
> [!WARNING]
|
|
> **These installers are deprecated and will be removed in v5.0.**
|
|
> They now auto-redirect to npm installation. Please use npm directly.
|
|
|
|
### macOS / Linux
|
|
|
|
```bash
|
|
# Short URL (via CloudFlare)
|
|
curl -fsSL ccs.kaitran.ca/install | bash
|
|
|
|
# Or direct from GitHub
|
|
curl -fsSL https://raw.githubusercontent.com/kaitranntt/ccs/main/installers/install.sh | bash
|
|
```
|
|
|
|
**Note:** Scripts show deprecation warning and automatically run npm installation if Node.js is available.
|
|
|
|
### Windows PowerShell
|
|
|
|
```powershell
|
|
# Short URL (via CloudFlare)
|
|
irm ccs.kaitran.ca/install.ps1 | iex
|
|
|
|
# Or direct from GitHub
|
|
irm https://raw.githubusercontent.com/kaitranntt/ccs/main/installers/install.ps1 | iex
|
|
```
|
|
|
|
**Note:** Scripts show deprecation warning and automatically run npm installation if Node.js is available.
|
|
|
|
## [!] DEPRECATED: Git Clone Installation (Legacy)
|
|
|
|
> [!WARNING]
|
|
> **Git clone installation is deprecated.** Use npm installation instead.
|
|
|
|
### 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
|
|
```
|
|
|
|
**Note**: Scripts show deprecation warning and automatically run npm installation if Node.js is available.
|
|
|
|
## Manual Installation
|
|
|
|
### macOS / Linux
|
|
|
|
```bash
|
|
# Create directory
|
|
mkdir -p ~/.local/bin
|
|
|
|
# Download script
|
|
curl -fsSL https://raw.githubusercontent.com/kaitranntt/ccs/main/ccs -o ~/.local/bin/ccs
|
|
chmod +x ~/.local/bin/ccs
|
|
|
|
# Add to PATH (choose your shell)
|
|
# For bash
|
|
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
|
|
source ~/.bashrc
|
|
|
|
# For zsh
|
|
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
|
|
source ~/.zshrc
|
|
|
|
# For fish
|
|
echo 'set -gx PATH $HOME/.local/bin $PATH' >> ~/.config/fish/config.fish
|
|
```
|
|
|
|
### Windows PowerShell
|
|
|
|
```powershell
|
|
# Create directory
|
|
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.ccs"
|
|
|
|
# Download script
|
|
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/kaitranntt/ccs/main/ccs.ps1" -OutFile "$env:USERPROFILE\.ccs\ccs.ps1"
|
|
|
|
# Add to PATH (restart terminal after)
|
|
$Path = [Environment]::GetEnvironmentVariable("Path", "User")
|
|
[Environment]::SetEnvironmentVariable("Path", "$Path;$env:USERPROFILE\.ccs", "User")
|
|
```
|
|
|
|
## What Gets Installed
|
|
|
|
**Executable Location**:
|
|
- macOS / Linux: `~/.local/bin/ccs` (symlink to `~/.ccs/ccs`)
|
|
- Windows: `%USERPROFILE%\.ccs\ccs.ps1`
|
|
|
|
**Configuration Directory** (`~/.ccs/`):
|
|
```bash
|
|
~/.ccs/
|
|
├── ccs # Main executable (symlink target)
|
|
├── config.json # Profile configuration
|
|
├── config.json.backup # Single backup (overwrites each install)
|
|
├── glm.settings.json # GLM profile
|
|
├── VERSION # Version file
|
|
├── uninstall.sh # Uninstaller
|
|
└── .claude/ # Claude Code integration
|
|
├── commands/ccs.md # /ccs meta-command
|
|
└── skills/ # Delegation skills
|
|
```
|
|
|
|
## Upgrade CCS
|
|
|
|
### macOS / Linux
|
|
|
|
```bash
|
|
# From git clone
|
|
cd ccs && git pull && ./install.sh
|
|
|
|
# From curl install
|
|
curl -fsSL ccs.kaitran.ca/install | bash
|
|
```
|
|
|
|
### Windows PowerShell
|
|
|
|
```powershell
|
|
# From git clone
|
|
cd ccs
|
|
git pull
|
|
.\install.ps1
|
|
|
|
# From irm install
|
|
irm ccs.kaitran.ca/install.ps1 | iex
|
|
```
|
|
|
|
## Auto PATH Configuration
|
|
|
|
The installer automatically configures your shell PATH:
|
|
|
|
**Supported Shells**:
|
|
- bash (`.bashrc` or `.bash_profile`)
|
|
- zsh (`.zshrc`)
|
|
- fish (`.config/fish/config.fish`)
|
|
|
|
**How It Works**:
|
|
1. Detects your current shell from `$SHELL` environment variable
|
|
2. Checks if `~/.local/bin` already in PATH
|
|
3. If not, adds appropriate export to shell profile
|
|
4. Shows reload instructions
|
|
|
|
**Idempotent**:
|
|
- Safe to run multiple times
|
|
- Checks for existing CCS PATH entry before adding
|
|
- Won't create duplicate entries
|
|
|
|
**Manual PATH Setup** (if auto-config fails):
|
|
|
|
Bash/Zsh:
|
|
```bash
|
|
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc # or ~/.zshrc
|
|
source ~/.bashrc # or source ~/.zshrc
|
|
```
|
|
|
|
Fish:
|
|
```fish
|
|
echo 'set -gx PATH $HOME/.local/bin $PATH' >> ~/.config/fish/config.fish
|
|
```
|
|
|
|
## Requirements
|
|
|
|
### macOS / Linux
|
|
- `bash` 3.2+
|
|
- `jq` (JSON processor, optional for enhanced features)
|
|
- [Claude CLI](https://docs.claude.com/en/docs/claude-code/installation)
|
|
|
|
### Windows
|
|
- PowerShell 5.1+ (pre-installed on Windows 10+)
|
|
- [Claude CLI](https://docs.claude.com/en/docs/claude-code/installation)
|
|
|
|
### Installing jq (macOS / Linux, optional)
|
|
|
|
```bash
|
|
# macOS
|
|
brew install jq
|
|
|
|
# Ubuntu/Debian
|
|
sudo apt install jq
|
|
|
|
# Fedora
|
|
sudo dnf install jq
|
|
|
|
# Arch
|
|
sudo pacman -S jq
|
|
```
|
|
|
|
**Note**:
|
|
- jq enhances GLM profile creation but is not required
|
|
- Windows uses PowerShell's built-in JSON support - no jq needed
|
|
- Installer creates basic templates without jq |