Skip to content

chrissy-dev/workon-tmux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

workon-tmux

Personal tool. Built for my own workflow — sharing in case it's useful to anyone else.

Minimal tmux-based project launcher. Pick a project with fzf, choose an AI agent, get a tmux session with the agent and lazygit side by side.

┌──────────────────┬──────────────────┐
│                  │                  │
│     agent        │     lazygit      │
│                  │                  │
└──────────────────┴──────────────────┘
  • Reattaches to existing sessions without recreating the layout
  • Kill sessions from the same picker with ctrl-d
  • Sets the terminal tab title to the project name (Ghostty, iTerm2)

Requirements

Install

git clone https://github.com/chrissy-dev/workon-tmux ~/Projects/workon-tmux
ln -s ~/Projects/workon-tmux/workon /usr/local/bin/workon

Configure

mkdir -p ~/.config/workon
cp ~/Projects/workon-tmux/projects.txt.example ~/.config/workon/projects.txt

Edit ~/.config/workon/projects.txt with your projects, one path per line:

# comments are supported
~/Projects/my-app
~/Projects/dotfiles

The session name is derived from the directory basename.

Agent

By default the agent picker shows claude and codex. Override by setting DEFAULT_AGENTS in ~/.config/workon/config:

DEFAULT_AGENTS="claude codex gemini"

If only one agent is listed, the picker is skipped.

Usage

workon          # pick a project
workon add      # add a project via directory browser
workon remove   # remove a project from the list

Run from your terminal (outside tmux). Pick a project, choose an agent, and the session opens. Select an active session (marked *) to reattach, or use ctrl-d to kill it.

About

Minimal tmux project launcher with fzf, opens Claude Code, lazygit side by side

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages