Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Introduction

Muster is a Rust library and CLI for terminal session group management built on tmux. It organizes terminal sessions into named, color-coded groups with saved profiles, runtime theming, and push-based state synchronization via tmux control mode.

What Muster Does

  • Organizes terminals by project — group related tabs (shell, server, logs) into a single named session
  • Saves profiles — define reusable templates for your project setups
  • Applies color themes — each group gets a distinct color in the tmux status bar
  • Syncs state via tmux — no polling, no stale state files; tmux is the single source of truth
  • Provides a library API — the CLI is a thin consumer of the muster Rust library; the API is designed for GUI integration

Who It’s For

Developers who work across multiple projects and maintain numerous terminal sessions — development servers, test runners, build watchers — spread across many terminal tabs with no organizational structure. Muster turns that chaos into named, color-coded groups you can launch, switch between, and tear down with single commands.

How It Works

Muster is a tmux interface layer, not a tmux replacement. It creates and manages tmux sessions on your behalf, storing metadata (name, color, profile reference) as tmux user options on the sessions themselves. Profiles are saved templates; running state lives entirely in tmux.

The architecture is a Cargo workspace with three crates:

CratePurpose
musterLibrary — tmux bindings, profiles, theming, control mode
muster-cliCLI binary
muster-notifymacOS notification helper (optional)

Documentation Structure