feat(cli): prioritize GitHub release download with fallback to bundled assets (#81)
- Add GitHubRateLimitError and GitHubDownloadError for better error handling - Detect rate limits (403 with remaining=0, 429) - Try downloading from GitHub releases first - Fall back to bundled assets on network error, rate limit, or download failure - Add --offline flag to skip GitHub download - Use GitHub auto-generated archive URL as fallback when no ZIP asset exists - Update CLI to v1.9.0 Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -16,15 +16,30 @@ uipro init --ai claude # Claude Code
|
||||
uipro init --ai cursor # Cursor
|
||||
uipro init --ai windsurf # Windsurf
|
||||
uipro init --ai antigravity # Antigravity
|
||||
uipro init --ai copilot # GitHub Copilot
|
||||
uipro init --ai kiro # Kiro
|
||||
uipro init --ai codex # Codex (Skills)
|
||||
uipro init --ai roocode # Roo Code
|
||||
uipro init --ai qoder # Qoder
|
||||
uipro init --ai gemini # Gemini CLI
|
||||
uipro init --ai trae # Trae
|
||||
uipro init --ai all # All assistants
|
||||
|
||||
# Options
|
||||
uipro init --offline # Skip GitHub download, use bundled assets only
|
||||
uipro init --force # Overwrite existing files
|
||||
|
||||
# Other commands
|
||||
uipro versions # List available versions
|
||||
uipro update # Update to latest version
|
||||
uipro init --version v1.0.0 # Install specific version
|
||||
```
|
||||
|
||||
## How It Works
|
||||
|
||||
By default, `uipro init` tries to download the latest release from GitHub to ensure you get the most up-to-date version. If the download fails (network error, rate limit), it automatically falls back to the bundled assets included in the CLI package.
|
||||
|
||||
Use `--offline` to skip the GitHub download and use bundled assets directly.
|
||||
|
||||
## Development
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user