| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
Codecov Report❌ Patch coverage is 88.83861% with 74 lines in your changes missing coverage. Please review. @@ Coverage Diff @@
## master #1025 +/- ##
==========================================
+ Coverage 82.56% 84.35% +1.78%
==========================================
Files 31 35 +4
Lines 2770 3342 +572
Branches 518 662 +144
==========================================
+ Hits 2287 2819 +532
- Misses 346 361 +15
- Partials 137 162 +25 ☔ View full report in Codecov by Harness.
|
Sorry, something went wrong.
Code reviewFound 4 issues:
tmuxp/src/tmuxp/workspace/builder.py Lines 674 to 680 in db303db
Lines 82 to 88 in db303db Lines 81 to 88 in db303db Lines 81 to 88 in db303db Lines 82 to 88 in db303db
Lines 326 to 334 in db303db
tmuxp/src/tmuxp/workspace/importers.py Lines 93 to 107 in db303db 🤖 Generated with Claude Code - If this code review was useful, please react with 👍. Otherwise, react with 👎. |
Sorry, something went wrong.
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. Review scope (5 parallel agents):
Prior review rounds: 3 rounds of 3-model (Claude/Gemini/GPT) loom reviews found 16 issues, all fixed in subsequent commits on this branch. 🤖 Generated with Claude Code - If this code review was useful, please react with 👍. Otherwise, react with 👎. |
Sorry, something went wrong.
Code reviewFound 1 issue:
Lines 334 to 337 in aa69986 Lines 403 to 406 in aa69986 🤖 Generated with Claude Code - If this code review was useful, please react with 👍. Otherwise, react with 👎. |
Sorry, something went wrong.
Code reviewFound 2 issues:
Lines 792 to 819 in 395b1e1
tmuxp/src/tmuxp/workspace/loader.py Lines 43 to 48 in 395b1e1 Generated with Claude Code - If this code review was useful, please react with 👍. Otherwise, react with 👎. |
Sorry, something went wrong.
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. 🤖 Generated with Claude Code |
Sorry, something went wrong.
Code reviewFound 1 issue:
tmuxp/src/tmuxp/workspace/builder.py Lines 144 to 151 in 3d150bc Call site passing the un-normalized attribute: tmuxp/src/tmuxp/workspace/builder.py Lines 792 to 796 in 3d150bc 🤖 Generated with Claude Code - If this code review was useful, please react with 👍. Otherwise, react with 👎. |
Sorry, something went wrong.
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. 🤖 Generated with Claude Code |
Sorry, something went wrong.
why: tmuxp lacked several tmuxinator and teamocil workflows, so configs
from those tools lost behavior on import and users missed the lifecycle
and session-management commands they relied on.
what:
- Add session lifecycle commands: tmuxp stop / new / copy / delete.
- Add project lifecycle hooks: on_project_start / restart / exit / stop.
- Add {{ variable }} config templating, filled via --set at load time.
- Add pane titles and window keys (synchronize, shell_command_after,
clear).
- Add tmuxp load flags: --here, --no-shell-command-before, --debug.
- Broaden tmuxinator/teamocil imports: hooks, named panes, startup
focus, synchronized windows, tmux CLI args, teamocil v1.x format.
- Extend the builder protocol build() with here= for current-window
loads so all builders share the contract.
| Back | FazBrowse Home | New Git URL |
Summary
Bring tmuxp to feature parity with tmuxinator and teamocil. This adds the missing CLI commands, config keys, lifecycle hooks, config templating, and importer improvements that users migrating from those tools expect — plus a full feature comparison page and documentation for every new command, flag, and config key.
New CLI commands
tmuxp stop — kill a session with cleanup
$ tmuxp stop mysessionRuns the on_project_stop lifecycle hook before killing the session, giving projects a chance to tear down background services, save state, etc.
tmuxp new — create a workspace config
$ tmuxp new myprojectCreates a new workspace config from a minimal template and opens it in $EDITOR.
tmuxp copy — copy a workspace config
$ tmuxp copy myproject myproject-backupCopies an existing workspace config to a new name. Source is resolved using the same logic as tmuxp load.
tmuxp delete — delete workspace configs
$ tmuxp delete old-projectDeletes workspace config files. Prompts for confirmation unless -y is passed.
Lifecycle hooks
Workspace configs now support four hooks, matching tmuxinator's hook system:
Config templating
Workspace configs now support {{ variable }} placeholders with values passed via --set. Given mytemplate.yaml:
$ tmuxp load --set project=myapp mytemplate.yamlNew config keys
Pane titles
synchronize shorthand
Desugars synchronize: before → options: {synchronize-panes: on} and synchronize: after → options_after: {synchronize-panes: on}. true is equivalent to before.
shell_command_after and clear
New tmuxp load flags
Importer improvements
tmuxinator
teamocil
Design decisions
conditionals or loops. Keeps configs declarative and avoids a template-engine
dependency; --set values are validated against YAML-unsafe characters.
typing cd/export into the running shell — no POSIX-shell assumption, no
keystrokes landing in foreground programs. tmuxp warns first if the pane has
running child processes, since -k kills them.
client detach — not only tmuxp-initiated ones.
Documentation
Related issues
Test plan