refactor(lib): reduce dependency footprint - #1301
Conversation
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Central YAML (base), Organization UI (inherited) Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (30)
Included review availability: Your plan provides up to 4 included reviews per hour; 1 remains after this review. 📝 WalkthroughWalkthroughThe change removes selected ChangesLocal helper replacement
Estimated code review effort: 4 (Complex) | ~45 minutes Merge Risk: ⚪ Minimal · up to The dependency and feature refactor has no actionable merge-blocking risk remaining at the current head after normal checks and review. Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 53fb0c8. Configure here.

Summary
heckcasing,shell-wordsparsing/quoting, andstrumderives with focused in-tree implementationsunicode-widthfrom 0.1 to 0.2markdownandmanpagefeatures, while retainingdocsandroffcompatibility aliasesConsumers that only generate Markdown can now use
default-features = false, features = ["markdown"]without pulling inroff.Verification
mise run ciusage-libbuilds with no features,cli-help,markdown, andmanpageheck,roff,shell-words, orstrumand usesunicode-width0.2This pull request was generated by Codex.
Note
Medium Risk
Touches identifier casing, POSIX word split/quote, and spec enum parsing used by codegen and mounts. Feature split is compatibility-aliased, but markdown-only vs manpage gating can surprise consumers.
Overview
Shrinks the
usage-libdependency tree by replacingheck,shell-words, andstrumwith small in-tree implementations, and bumpsunicode-widthto 0.2.Casing for completions and SDK codegen now lives in
case.rs(snake/camel/Pascal, heck word boundaries). Mount parsing and env joining use a POSIXsplit/joininshell_words.rs. Spec string enums (Framing,UnknownFlags, config scopes, etc.) use a localimpl_string_enum!plusEnumParseError;UsageErr::Strumis kept as a compatibility wrapper.Docs features are split:
markdownandmanpageare independent, withdocsandroffremaining aliases. Markdown-only consumers can skiproff.Reviewed by Cursor Bugbot for commit 53fb0c8. Bugbot is set up for automated code reviews on this repo. Configure here.
Summary by CodeRabbit