Decision Log
Why Rewrite Instead of Iterate?
tmux-quantum is a ground-up rewrite, not an evolution of tmux-config. The predecessor was functional but had structural problems that couldn’t be fixed incrementally.
The Case for Rewriting
| Factor | Assessment |
|---|---|
Keybinding duplication |
6+ bindings duplicated across 3 files in tmux-config. Fixing one required auditing all three. The file boundaries didn’t align with functional domains. |
File organization |
tmux-config used numbered directories ( |
Plugin sprawl |
Plugin config split between |
No conflict detection |
No tooling to catch keybinding collisions. The |
Iteration cost |
Fixing the structure incrementally would require renaming every file, rewriting every path reference, splitting monolithic configs, and adding new infrastructure — essentially a rewrite with extra steps. |
What Quantum Changed
| Decision | tmux-config | tmux-quantum |
|---|---|---|
File organization |
Numbered directories ( |
Semantic directories ( |
Keybinding ownership |
Distributed across files by convenience |
One domain per file, strict boundary contracts |
Conflict detection |
None |
|
Plugin management |
Split across 2 files |
Consolidated in |
Theme system |
Hardcoded colors in multiple files |
|
Version guards |
None |
|
Status scripts |
Embedded in config |
Standalone scripts in |
Session templates |
Mixed with config |
Dedicated |
Quality tooling |
None |
Claude Code rule, validator agent, |
What Was Preserved
Not everything was thrown away:
-
Prefix (
C-a) — muscle memory, no reason to change -
Vim-style navigation — h/j/k/l pane nav, vi copy mode
-
Plugin selection — same plugins, just consolidated config
-
Status bar scripts — copied and updated (paths fixed, caching added)
-
Session templates — copied wholesale, already well-structured
Key Architectural Decisions
| Decision | Rationale | Alternative Considered |
|---|---|---|
Flat |
9 files is manageable. Subdirectories add navigation overhead without benefit at this scale. |
|
Theme before modules in sourcing order |
Modules reference |
Theme after all modules (would require lazy evaluation) |
Popups version-guarded, sessions not |
|
Guard everything 3.0+ |
|
|
Keep |
Clear-screen on |
|
Keep |
Status scripts skip |
A crashing status script breaks the status bar for every window. Silent failure is better than visible breakage on a 5-second interval. |
|
Predecessor Relationship
tmux-config is kept as an archive at ~/atelier/_projects/personal/tmux-config/. It is NOT deployed. tmux-quantum owns ~/.config/tmux/ via symlink. dots-quantum’s tmux stow package (tmuxinator only) must not conflict.