tmux-project creates, maintains, archives, and removes profiles used in combination with the tmux command.
This tool allows users to list and use different tmux-based profiles. Together with bash (or other shell-based) profiles, you can easily maintain multiple sessions and project environments.
This project was created to help manage multiple ticket-based projects, each with its own repositories and environment. Instead of manually tracking project state, tmux-project
automates session and environment management, making it easy to resume work on any project.
- Manage tmux and shell profiles for multiple projects
- Archive and restore project environments
- List, create, edit, and remove project sessions
- Integrate with your shell for quick project switching
To integrate tmux-project into your shell, run:
eval "$(tmux-project shell)"
Create a TAR archive of a project:
tmux-project project archive <project> [flags]
Create a new project:
tmux-project project create <project> [flags]
Edit the config of a project:
tmux-project project edit <project> [flags]
List the available sessions:
tmux-project project list [flags]
List files in a project:
tmux-project project listfiles <project> [flags]
Remove a project (optionally archive first):
tmux-project project remove <project> [flags]
Resume a session:
tmux-project project resume <project> [flags]
Initialize or list project types:
tmux-project type init <projecttype> [flags]
tmux-project type list [flags]
Target | Description |
---|---|
${HOME}/.tmux.d/<project>.env |
environment file |
${HOME}/.tmux.d/<project>.rc |
tmux configuration |
PROJECTS |
location projects are setup |
For more details, see the inline documentation and comments in the source code.