| Crates.io | mru |
| lib.rs | mru |
| version | 0.1.2 |
| created_at | 2025-03-25 08:49:58.805956+00 |
| updated_at | 2025-03-26 08:27:04.390535+00 |
| description | MRU - Update packages across multiple repositories |
| homepage | |
| repository | https://github.com/tolluset/mru |
| max_upload_size | |
| id | 1604991 |
| size | 101,113 |
Effortlessly update packages across multiple repositories with a single command! 🚀
MRU is a command-line tool built in Rust that helps you manage package dependencies across multiple repositories. It's perfect for teams working with microservices or multiple frontend applications that share common dependencies.
~ in your repository paths for convenience# Clone the repository
git clone https://github.com/tolluset/mru.git
cd mru
# Build the project
cargo build --release
# Optional: Add to your PATH
cp target/release/mru /usr/local/bin/
cargo install mru
mru add-repo ~/projects/my-app
mru add-repo ~/projects/my-api
mru update react "^18.2.0"
mru update lodash "^4.17.21" --pull-request
mru add-repo <LOCAL_PATH> <GITHUB_URL>
mru remove-repo <LOCAL_PATH>
mru list-repos
mru clone https://github.com/example/my-repo --add
mru update <PACKAGE_NAME> <VERSION> [OPTIONS]
Options:
--message, -m: Custom commit message
--pull-request, -p: Create a pull request
--dry-run, -d: Show what would happen without making changes
mru set-package-manager <PACKAGE_MANAGER>
# Example
mru set-package-manager pnpm
MRU determines the package manager in the following order:
mru compare <PACKAGE_NAME>
mru list-packages
mru list-packages --repo ~/projects/my-app
MRU stores its configuration in ~/.config/mru/config.toml. You can edit this file directly if needed, but it's recommended to use the CLI commands.
Example configuration:
default_commit_message = "chore: update dependencies"
[[repositories]]
path = "~/projects/my-app"
[[repositories]]
path = "/absolute/path/to/my-api"
mru update react "^18.2.0" --message "chore: update React to v18.2.0" --pull-request
mru update typescript "~5.0.4" --dry-run
mru compare lodash
Output:
Comparing package 'lodash' across repositories:
/home/user/projects/my-app: ^4.17.20
/home/user/projects/my-api: ^4.17.21
/home/user/projects/my-ui-lib: Not found
This project is licensed under the MIT License - see the LICENSE file for details.