Skip to content

feat: sibling directory standard and tmux session integration for worktrees - #43

Open
felipecm-br wants to merge 1 commit into
Blankeos:mainfrom
felipecm-br:feat/worktree-tmux-bare
Open

felipecm-br wants to merge 1 commit into
Blankeos:mainfrom
felipecm-br:feat/worktree-tmux-bare

Conversation

@felipecm-br

Copy link
Copy Markdown
Contributor

Description

Improves worktree management with support for sibling directory creation layouts (especially useful with .bare repository standard) and seamless Tmux/session manager integration.

Details

  • Sibling directory resolution: Worktrees are created cleanly as sibling folders (../<branch>) with slugged names (e.g. feat/login -> feat-login), preserving repository structure without cluttering the parent workspace.
  • Base tracking configuration: Automatically sets branch.<name>.base in git config for downstream tooling.
  • Tmux / WM session switching:
    • Adds shortcut t on selected worktrees to open directly in a dedicated Tmux session (supporting wm connect, sesh connect, or native tmux switch-client / new-session).
    • Presents an interactive action menu on worktree switch/create (Open in Tmux, Open lazygitrs in terminal, Stay in current worktree).
  • Post-create hook support: Runs lifecycle hook if defined under ~/.config/lazygitrs/hooks/post-create.sh or ~/.config/matchmaker/hooks/post-create.sh.
  • Comprehensive unit tests covering path resolution, temp directory isolation, and git config verification.

Validation

  • cargo test --bin lazygitrs (all 373 tests passed)
  • cargo fmt --check

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant