Merged
Conversation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
Medium Risk
Touches core CLI execution paths (logging streams, option parsing, upload/sync concurrency), which could affect user-visible behavior and throughput; changes are localized and covered by updated tests but warrant manual smoke-testing of piping and large uploads.
Overview
The CLI now keeps
stdoutclean for piped output by routing@clack/promptslogging/spinners through a newutils/logger(stderr), and the update-checker is made non-blocking and prints its banner to stderr after command execution.Command option handling is simplified by removing the custom
mergeCommandOptionshelper in favor of Commander’soptsWithGlobals(), and completion install/uninstall error paths now exit non-zero.Upload/sync hot paths are modernized: file reads/stats are moved to async
fs/promises, uploads switch from batch-by-batch to sliding-window concurrency viap-limit, manifest uploads can optionally show per-file strategy, and--uniquededup logic is extracted into sharedcheckExistingFiles. Output formatting is tweaked soformatBytes(undefined/NaN)returns"-", andsaveConfigwrites atomically;dotenvis removed from CLI dependencies.Written by Cursor Bugbot for commit fcaf3f5. This will update automatically on new commits. Configure here.