Skip to content

#44 refactor(crates): demote 7 over-engineered Rust binaries to shell scripts#45

Open
radiosilence wants to merge 1 commit intomainfrom
44-demote-rust-crates-to-shell
Open

#44 refactor(crates): demote 7 over-engineered Rust binaries to shell scripts#45
radiosilence wants to merge 1 commit intomainfrom
44-demote-rust-crates-to-shell

Conversation

@radiosilence
Copy link
Copy Markdown
Owner

Summary

  • 7 Rust binaries demoted to shell scripts in scripts/: unfuck-xcode, url2base64, install-font-macos, parallel-dl-extract, prune-gen, vimv, imp
  • 3 Cargo deps dropped: reqwest, zip, base64 (only used by demoted tools)
  • ~2,100 net LOC removed (331 added, 2,407 deleted)
  • 10 Rust binaries remain — the ones that genuinely earn Rust (rayon parallelism, img-parts binary format parsing, git2, netstat2)
  • Updated Cargo.toml, dotfiles.toml completions, Taskfile.yml completion generation, both READMEs, CHANGELOG

Why

These 7 tools were 90+ lines of clap boilerplate wrapping curl, aria2c, unzip, sudo rm, and $EDITOR. Rust added nothing — no parallelism, no binary parsing, no type safety benefits. Shell scripts do the same job in 5-30 lines each.

Fewer deps = faster compile times, smaller attack surface, less to audit.

Test plan

  • cargo check passes (zero warnings)
  • cargo clippy --all-targets -- -D warnings passes
  • cargo test --all-targets passes (45 tests)
  • cargo fmt --all applied
  • All 7 shell scripts pass bash -n syntax check
  • Verify demoted scripts work on a clean shell (unfuck-xcode --dry-run, prune-gen, url2base64 --help, etc.)

Closes #44

Generated with Claude Code

unfuck-xcode, url2base64, install-font-macos, parallel-dl-extract,
prune-gen, vimv, imp were 90+ LOC of clap boilerplate wrapping simple
CLI tools. Now shell scripts in scripts/ (~980 LOC removed).

Drops reqwest, zip, base64 deps. 10 Rust binaries remain (the ones
that actually use Rust features).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Audit: replace over-engineered Rust crates with shell scripts

1 participant