A collection of CLI tools written in Rust to solve annoying problems I encounter. These tools actually do useful things, though their scope is deliberately narrow.
Originally intended to analyze node_modules and suggest package updates/downgrades to reduce bundle size. But node_modules is an endless pit, so I stopped before it consumed my soul. Now it finds different versions of the same package in your package-lock.json.
Bumps version numbers in various JSON files like package.json and package-lock.json. All the existing tools are too heavy with unnecessary features. This one just does the version bump with minimal fuss, but is still configurable to update other JSON files in your repo.
I got tired of copy-pasting issue reports from Mattermost and reformatting them into GitLab issues. That's a full-time job nobody wants. This tool converts Mattermost conversation threads into GitLab issues with the help of Ollama (local LLM), saving countless hours of mind-numbing reformatting.
Going through a bunch of repositories to migrate code is painful. mrun is a little helper to run any shell scripts in a collection of repositories. It saves you from repeatedly running cd, cd.. and helps you keep track of which repositories have been processed.
Checking GitLab tabs every 5 minutes to see if an MR is ready to
merge, needs a rebase, or is waiting on a manual CI job is
soul-crushing. wum watches an Emacs Org-mode file where I drop my MR
to-dos (* TODO repo!123). It tracks them in a nice TUI, automatically
rebases outdated branches, triggers manual CI steps, and merges them
as soon as they're ready. Then it aggressively marks them as DONE
right in my org file so I can forget they ever existed.
If these sound useful:
cargo install --git https://github.com/braineo/pla [package_name] --no-track --force --lockedTo run all tests in the workspace:
# Run all tests
cargo test
# Run tests for a specific package
cargo test --package bump
cargo test --package mm2glab
cargo test --package mrun
cargo test --package pla
cargo test --package wum
# Run tests with output
cargo test -- --nocapture
# Run a specific test
cargo test test_increment_majorTo release a new version:
cargo release --package [package_name] --no-publishBecause automation should be simple, practical, and tailored to your needs. These tools solve real problems I face, and maybe they'll help you too. No bloat, no unnecessary features, just solutions to everyday annoyances.