-
Notifications
You must be signed in to change notification settings - Fork 0
feat: implement actual update execution for all installation methods #7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Execute updates automatically based on installation method (npm, bun, yarn, pnpm, homebrew, binary). Add --dry-run and --force flags. Binary installations now support auto-update via CLIX_VERSION environment variable. Co-Authored-By: Claude <noreply@anthropic.com>
WalkthroughThe update mechanism has been refactored from immediate update execution to a plan-driven approach. New Changes
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bfb4eaa63a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| // No update available | ||
| if (!plan.hasUpdate) { | ||
| console.log(`You're on the latest version (${plan.currentVersion})`); | ||
| return; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Report update-check failures instead of 'latest'
The new flow treats any plan.hasUpdate === false as success and prints “You're on the latest version.” However checkForUpdate() returns {hasUpdate: false, error: ...} on network/registry failures, and planUpdate() currently drops that error. In offline/registry-outage scenarios, clix update will misleadingly report being up to date and exit successfully, so users never learn the check failed. Consider surfacing updateResult.error (e.g., throw or print an error and exit non‑zero) before reaching this branch.
Useful? React with 👍 / 👎.
Summary
Implements actual update execution for the
clix updatecommand across all installation methods (npm, bun, yarn, pnpm, homebrew, binary). Previously only displayed update instructions. Now supports--dry-runand--forceflags for flexible update control.Details
UpdatePlanandUpdateOptionstypes; implementedplanUpdate()function; refactoredexecuteUpdate()to useinheritstdio and handle environment variablesuninstallcommand patternCLIX_VERSIONenvironment variable (same pattern as OpenCode)/updatedirects users to CLI command with option documentationHow to Validate
Pre-Merge Checklist
Code Quality
Commit Standards
🤖 Generated with Claude Code
Summary by CodeRabbit
Release Notes
New Features
--dry-runflag to preview available updates without applying them--forceflag to skip confirmation prompts during updatesImprovements
✏️ Tip: You can customize this high-level summary in your review settings.