- 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>
- Replace Bun.spawn with exec from child_process in extract.ts
- Replace Bun.file().exists() with access from fs/promises
- Replace Bun.write with writeFile from fs/promises in github.ts
- Add cp and rm from fs/promises for file operations
- Bump version to 1.0.2
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>