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.
| Feature | son | tmuxinator |
|---|---|---|
| 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.
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/sonRun 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.
$ sonAdd 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