Back to all projects
RustCLIclapCargoCI/CD
randanarana
Rename files in a directory to random alphanumeric names, keeping their extensions. A Rust reimplementation of an existing bash script, with tests, CI, and the same CLI and behavior. Published on crates.io.
Features
- Rename: Files get random
a-zA-Z0-9names, extensions are preserved - Undo: Restore the last rename run via a hidden manifest (
.randanarana-undo.json) - Dry-run: Preview changes with
-nwithout touching anything - Recursive & Interactive: Process subdirectories with
-r, confirm each item with-i - Options: Custom length, prefix/suffix, force mode, dirs rename with
-D - Prebuilt binaries: Available for Linux, macOS and Windows on GitHub Releases
Tech Stack
- Rust (edition 2024)
- clap (CLI parsing)
- serde / serde_json (manifest)
- anyhow (error handling)
- rand (name generation)
- assert_cmd + tempfile (integration tests)
- CI with GitHub Actions, release-plz and cargo-dist