_ _
_ __ ___ _ __ ___ ___| |_| |
| '__/ _ \ '_ \ / _ \ / __| __| |
| | | __/ |_) | (_) | (__| |_| |
|_| \___| .__/ \___/ \___|\__|_|
|_|
π repoctl β A powerful CLI tool to manage multiple Git repositories effortlessly. Sync, pull, and run commands! π―
- π Declarative Configuration β Define repositories and actions in a simple configuration file.
- β‘ Clone Multiple Repositories β Clone and manage multiple repositories with a single command.
- π§ Run Commands Across Repos β Execute custom or ad-hoc commands across all or selected repositories.
- π₯οΈ Built-in TUI β Intuitive terminal user interface for easy navigation and control.
- π― Flexible Filtering β Select repositories based on patterns, groups, or custom criteria.
- π¨ Customizable Theme β Personalize the UI with themes to match your preferences.
- β¨οΈ Auto-Completion Support β Bash, Zsh, and Fish shell completions for a seamless experience.
- π¦ Portable & No Dependencies β A single binary with zero external dependencies.
Download from latest releases
git clone
cd repoctl
make build
./dist/repoctl --version
./dist/repoctl --help
cp ./dist/repoctl /usr/local/bin/repoctl
# List all projects
repoctl list projects
# Count number of files in each project in parallel
repoctl exec --all --output table --parallel 'find . -type f | wc -l'
# Start TUI
repoctl tui
We welcome contributions!
- Fork this repository;
- Create a branch with your feature:
git checkout -b my-feature
; - Commit your changes:
git commit -m "feat: my new feature"
; - Push to your branch:
git push origin my-feature
.
Once your pull request has been merged, you can delete your branch.
This project is licensed under the MIT License - see the LICENSE file for details.