A CLI tool for managing tmux sessions with git projects.
tms is a command-line interface tool that works as a tmux session manager. It's based on ThePrimeagen's tmux-sessionizer but extends the functionality and is tailored to a very specific workflow with ghq for github project management.
Features:
- Quick Session Management: Create or switch tmux sessions for git projects
- Fuzzy Finding: Select projects quickly with fzf
- Auto-cloning: Clone non-existent repositories automatically
- Consistent Naming: Generate uniform session names from repo names
- Smart Session Handling: Switch to existing sessions or create new ones
You can install tms using Homebrew:
brew tap grvcoelho/tms https://github.com/grvcoelho/tms.git
brew install tms
- ghq: A Git repository management tool for organizing and accessing your repositories
- fzf: A command-line fuzzy finder for quickly searching and selecting items from a list
- tmux: A terminal multiplexer
# Open fzf to select a repository from your ghq list
$ tms
# Clone the repo if it doesn't exist, then open a tmux session for it
$ tms username/repo
# Navigate to a specific directory and create/switch to a tmux session
$ tms ~/path/to/directory
# Fuzzy search for a repository (just like z or fzf)
$ tms partial_repo_name
USAGE:
tms [TERM]
ARGS:
<TERM> Optional search term or path to project
OPTIONS:
-h, --help Print help information
-V, --version Print version information
-w, --window Open a new window instead of a new session
- ThePrimeagen's tmux-sessionizer: This is the original bash script this tool is based on.
- tmux-sessionizer: This is a project that implements some of the features with a different approach. Check it out to see the differences.