tmuxinator alternative

Best tmuxinator Alternative
for Recent Repos

tmuxinator changed the game with YAML-defined tmux sessions. But maintaining a config file for every project gets old fast. son discovers your projects automatically and launches workspaces with zero configuration.

Where tmuxinator wins

Battle-tested maturity

tmuxinator has been around since 2010. It has a massive community, hundreds of contributors, and covers virtually every tmux edge case. If you need a feature, tmuxinator probably has it.

Granular window/pane control

tmuxinator lets you define exact pane dimensions, specify which command runs in which pane, name individual windows, and set pane-level environment variables. It gives you pixel-level control over your tmux layout.

Shared team configurations

Because configs are plain YAML files, teams can check them into version control and share workspace setups. Every developer on the team gets the exact same terminal layout.

Complex multi-window setups

For projects that need 4+ tmux windows, each with different pane arrangements, tmuxinator's declarative YAML approach scales better than interactive setup.

Where son wins

Zero configuration

son works the moment you install it. No YAML files, no project setup, no template generation. It scans your development directories and builds a project list automatically.

Automatic project discovery

New repo? son finds it immediately. You never need to create or update a config file when you clone a new project. Just run son and it's there, sorted by how recently and frequently you've used it.

Multi-terminal support

tmuxinator only works with tmux. son supports iTerm2, WezTerm, and tmux natively. It detects which terminal you're running and uses the right API. No lock-in to tmux.

Frecency-based sorting

son combines frequency and recency to put your most relevant projects at the top. The project you worked on yesterday ranks higher than the one you last touched six months ago.

Fuzzy search with fzf

Built-in fzf integration means you can find any project in milliseconds by typing a few characters. No need to remember exact project names or config file names.

Single binary, no runtime

son is written in Go and distributed as a single binary. tmuxinator requires Ruby and several gem dependencies. son has zero runtime dependencies.

Config vs Zero-Config: Feature Comparison

A side-by-side comparison of tmuxinator's config-driven approach versus son's zero-config philosophy.

Featuresontmuxinator
Zero-config setup
Automatic project discovery
Frecency sorting
Fuzzy search (fzf)
iTerm2 support
WezTerm support
tmux support
Custom split layouts
Editor integration
Startup hooks / commands
Per-project config (optional)
Shared team configs
Named windows
Granular pane sizing
Single binary (no runtime)
Cross-platform

How to migrate from tmuxinator

Moving from tmuxinator to son is straightforward. Because son discovers projects automatically, most of the migration is simply installing son and running it.

01

Install son

Install son via Homebrew or Go. It's a single binary with no dependencies — no Ruby, no gems, no bundler.

$ brew install abdussamet032/tap/son
02

Run son

Simply type 'son' in your terminal. It will scan your development directories and present a fuzzy-searchable list of every project it finds. No config needed.

$ son
03

Add startup hooks (optional)

If you had per-project commands in tmuxinator (e.g., starting a dev server), create a .son.toml file in your project root. This is optional — son works without it.

$ # .son.toml in your project root # [hooks] # startup = ["npm run dev"]

What about my tmuxinator YAML files?

You can keep them. son and tmuxinator can coexist. Use son for quick project switching and workspace launching, and fall back to tmuxinator for projects that need complex multi-window tmux layouts. Over time, you may find that son covers 90% of your use cases without any config files at all.

Drop the YAML. Try son.

Install in one command. Open your first workspace in under a second. No config files, no setup wizard, no tutorials.

$ brew install abdussamet032/tap/son