#session #directory #zoxide #management

bin+lib zesh

A zellij session manager with zoxide integration, inspired by tmux sesh

3 releases (breaking)

Uses new Rust 2024

0.3.0 Mar 7, 2025
0.2.0 Mar 5, 2025
0.1.0 Mar 1, 2025

#3 in #zoxide

Download history 141/week @ 2025-02-26 322/week @ 2025-03-05 7/week @ 2025-03-12 2/week @ 2025-03-19

472 downloads per month

MIT license

89KB
2K SLoC

🔥 Zesh

A zellij session manager with zoxide integration, inspired by tmux-sesh by Josh Medeski.

✨ Features

  • 📋 List active zellij sessions
  • 📁 Create and connect to sessions based on zoxide
  • 🧠 Smart session detection and management
  • 🔍 Clone git repositories and set up sessions
  • 🔄 Connect to the last used session (WIP)

🛠️ Installation

cargo install --locked zesh

📋 Requirements

  • zellij - 🧩 Terminal multiplexer
  • zoxide - 🔍 Smarter cd command
  • git - 📦 Version control (optional, for clone command)

🚀 Usage

# 🔗 Connect to a specific session or directory
zesh connect <name>
zesh cn <name>

# 📋 List active sessions (intended to be used with other cli tools, like fzf)
zesh list
zesh l

# Pair the two commands with fzf
zesh cn $(zesh l | fzf)

# 📦 Clone a git repo and create a session
zesh clone https://github.com/username/repo
zesh cl https://github.com/username/repo

# 📂 Show the root directory of the current session
zesh root
zesh r

# 👁️ Preview a session or directory
zesh preview <name>
zesh p <name>

# ❓ Display help
zesh help
zesh h

Subject to Change

This project is still heavily under development. Currently, some current features may change, and some essential features have not been added.

Potential to Change:

  • I am currently unsure of how zesh list should operate. The current method is nice for fzf, but not much else. This may change in the future.

Missing Essentials:

  • I am missing functionality to pass arguments to git clone and zellij. This is espeically important, as layouts are heavily used in zellij.

❓ Why Zesh?

Zesh combines the power of zellij (terminal multiplexer) and zoxide (directory jumper) to provide a seamless session management experience. It's designed for developers who frequently work on multiple projects and want to quickly jump between them.

🙏 Credits

This project was inspired by sesh by Josh Medeski, a tmux session manager. Huge thanks to Josh for the original concept that made terminal session management so much more enjoyable!

📜 License

MIT

Dependencies

~1.2–1.8MB
~34K SLoC