open-project is a command-line utility written in Rust to streamline management of local clones of GitHub repos and opening them in your preferred terminal multiplexer (tmux or Zellij).
Just type open-project user repo to automatically clone the repo if necessary and open it in tmux (default) or Zellij.
Make sure you have either tmux or Zellij installed:
Build open-project with either nix or cargo and add the binary to your $PATH.
nix build github:cor/open-projectgit clone https://github.com/cor/open-project
cd open-project
cargo build --releaseopen-project [OPTIONS] <username> <projectname>-m, --multiplexer <MULTIPLEXER>: Choose terminal multiplexer (tmux or zellij) [default: tmux]
TERMINAL_MULTIPLEXER: Set default multiplexer (overrides CLI default, but CLI flag takes precedence)
# Use default (tmux)
open-project alice my-repo
# Use zellij
open-project -m zellij alice my-repo
# Use environment variable
TERMINAL_MULTIPLEXER=zellij open-project alice my-repoThis will:
- Check for a directory
$HOME/dev/aliceand prompt to create it if missing. - Check for the repository
my-repounder the user's GitHub and clone it if not present. - Attach to or create a session in your chosen multiplexer.
Contributions are welcome! Feel free to open issues or submit pull requests to improve this tool.