repo-runner
is a CLI tool for managing Git repositories in combination with TMUX.
To install the CLI application globally, run the following script:
Note
The install script will install the CLI application to /usr/local/bin/rr
. So make sure this is in your $PATH
.
Important
Make sure you have go
installed on your machine.
# Clone the repository (SSH)
git clone git@github.com:nikbrunner/repo-runner.git
# `cd` into that folder
cd repo-runner
# Give the install script execution permissions
chmod +x ./install.sh
# Run the install script
./install.sh
# Check if the app is in your PATH
which rr
Important
Make sure you have go
installed on your machine.
# Clone the repository (SSH)
git clone git@github.com:nikbrunner/repo-runner.git
# `cd` into that folder
cd repo-runner
# Build the app
go build -o rr
# Move the app to your PATH
mv rr /usr/local/bin/rr
To add a new repository:
Add a repository to the list of repositories to be managed by repo-runner
.
Example:
rr --add <git-repo-url>
rr --add git@github.com:nvim-telescope/telescope.nvim.git
# The repository will get cloned via the following schema: <config.RepoBasePath>/<GitHubUser>/<RepositoryName>
# Arbitrary example for the above command: ~/repos/nvim-telescope/telescope.nvim
Open the repository in a new TMUX session.
This will let you pick a repository from the list of repositories to be managed by repo-runner
to be opened in a new TMUX session.
rr run . --open
Remove a repository from the list of repositories to be managed by repo-runner
.
This will let you pick a repository from the list of repositories to be managed by repo-runner
to be removed.
rr --remove
Show the status of all repositories managed by repo-runner
.
rr --status
Lists all available commands and flags.
rr --help
go test ./...
(Guidelines for contributing to the project.)
(Your chosen license or "Unlicensed" if not applicable.)
-
add
-
open
-
status
-
help
- Default session layout should come from config
- Improve
fzf
styling - Global install & build script
- Fix Layout for
run
- Work with two folder level architecture (user/repo)
- Incremental
--status
- Fix open repo with uncommited changes
- General clean up & improve test coverage
- Improve logging
- Replace predefined layouts with custom bash script which a user can define and run on a session
- Flag Shorthands
- config: User Config
- config:
config.Editor
- config:
config.ManagedRepos
(Working Title) - Setup
go install
- Merge
git()
functions - Improve
--status
performance - Handle interrupt signal
- Sketch for TUI
-
--reset
-git fullreset
for picked repository -
--reset-all
-git fullreset
for all repositories - config: More options for
config.Layouts
- AI (Diff & Summary)
- Add TUI when running
rr
without flag