GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — tmuxinator/teamocil feature parity · Issue #1016 · tmux-python/tmuxp

tmuxinator/teamocil feature parity #1016

New issue
Copy link
New issue
Copy link
Open
Open
tmuxinator/teamocil feature parity#1016
Copy link

Description

@tony
tony
opened on Mar 7, 2026
Issue body actions

Status (2026-03-15): All libtmux blockers resolved — libtmux#635 is closed. L1, L2, L3 all shipped in libtmux v0.55.0 (2026-03-07). tmuxp pins libtmux~=0.55.0. Phase 1 (import fixes) is complete (7/7 items, 21 tests pass). All remaining work is purely tmuxp-side — zero libtmux dependencies remain.

Summary

Tracking issue for reaching feature parity with tmuxinator (3.3.7) and teamocil (1.4.2). Based on a comprehensive source-level analysis of both projects, their importers, and the tmuxp builder/loader/CLI.

Tracking issue for libtmux-side API additions: tmux-python/libtmux#635


Phase 1: Import Fixes (No Builder/libtmux Changes) — COMPLETE

All 7 items done, 21 tests pass.

  • I1. tmuxinator pre / pre_window mapping bugs — fixed pre → before_script, pre_window → shell_command_before (1967487a)
  • I2. tmuxinator cli_args / tmux_options fragile parsing — use shlex.split() for flag-aware parsing (e8016019)
  • I3. teamocil redundant filter loops — replace with direct assignment (f61343a3)
  • I4. teamocil v1.x format support — string panes, commands key (f61343a3)
  • I5. tmuxinator missing keys — rvm, pre_tab, startup_window, startup_pane, synchronize (5cb75946)
  • I6. teamocil missing keys — focus, options, height handling (466fc9b2)
  • I7. Importer TODOs — logging for unsupported/dropped keys, remove stale TODOs (74656db5)

Phase 2: Builder Additions (tmuxp Only)

T1. No synchronize Config Key

  • Desugared — importer maps synchronize: true/before → options: {synchronize-panes: on} and synchronize: after → options_after: {synchronize-panes: on}. Builder already handles both options and options_after. No builder change needed.

T3. No shell_command_after Config Key

  • Teamocil importer produces shell_command_after (from filters.after), but builder never reads it.
  • Implementation: Read window_config.get("shell_command_after", []) in config_after_window() and send to panes. ~5 lines.

T2. No Pane Title Config Key — NOW UNBLOCKED

  • Previously blocked on L1 — now resolved. Pane.set_title(title) available in libtmux v0.55.0.
  • Implementation: Session-level enable_pane_titles, pane_title_position, pane_title_format via session.set_option(). Per-pane title via pane.set_title(). Update tmuxinator importer for named pane syntax (pane_name: command → title + shell_command).

T4. No Session Rename Mode / --here CLI Flag

  • tmuxp load has no --here flag. Always creates new windows.
  • Implementation: Add --here to cli/load.py. For first window: rename_window() + send_keys("cd <root>") instead of new_window(). Also rename_session() when --here is used.

Dead Config Keys

  • Pop+warn for socket_name, config, target
  • Implement clear in builder (use pane.clear())
  • Implement start_window/start_pane in builder (select matching window/pane after build)

Phase 3: libtmux Additions — COMPLETE

All items shipped in libtmux v0.55.0 (2026-03-07). Issue libtmux#635 is closed.

  • L1. Pane.set_title(title) — pane.py:834-859 (unblocks T2)
  • L2. Server(tmux_bin=...) — server.py:131-146 (unblocks tmuxinator tmux_command)
  • L3. Pre-execution logger.debug — common.py:263-268 (unblocks T9)

Phase 4: New CLI Commands

T5. No stop / kill CLI Command

  • tmuxp has no stop command. Add tmuxp stop <session> — find session, call session.kill(). Run on_project_stop hook before kill.

T10. Missing Config Management Commands

  • Missing: new, copy, delete. Straightforward file operations.

Phase 5: CLI Flags & Larger Features

T7. --no-shell-command-before CLI Flag

  • Skip shell_command_before for debugging. Equivalent to tmuxinator --no-pre-window. Simple flag addition.

T9. --debug / Dry-Run CLI Flag — NOW UNBLOCKED

  • Previously blocked on L3 — now resolved. Pre-execution logging available in libtmux v0.55.0.
  • Implementation: Add --debug flag to cli/load.py. Capture DEBUG-level log output from libtmux to show tmux commands that would be executed.

T6. No Lifecycle Hook Config Keys

  • Config-driven shell command hooks (on_project_start, on_project_exit, etc.). Complex, needs design. Depends on T5 for on_project_stop.

T8. Config Templating

  • User-defined variable interpolation (Jinja2 or string.Template). Significant architectural addition.

Dead Config Keys

Keys produced by importers but silently ignored by the builder:

Key Producer Issue
config tmuxinator Dead data — extracted -f path unused
socket_name tmuxinator Dead data — CLI uses -L flag
clear teamocil Builder doesn't read it (libtmux has Pane.clear())
target (pane) teamocil Accidentally preserved (libtmux has Pane.split(target=...))
shell_command_after teamocil Builder has no after-command support (T3)

Progress Summary

Phase Status Items
Phase 1: Import Fixes COMPLETE 7/7
Phase 2: Builder Additions In progress 1/5 done (T1 desugared)
Phase 3: libtmux Additions COMPLETE 3/3
Phase 4: CLI Commands Not started 0/2
Phase 5: CLI Flags & Features Not started 0/4

Activity

Next
  1. tony
    added 15 commits that reference this issue on Mar 7, 2026

    docs(plan): Fix accuracy issues from issue #1016 review

    fa46b52

    ai(claude[command]): Add /check:audit parity audit command

    1ffbe80

    docs(plan): Fix accuracy issues from issue #1016 review

    198f570

    ai(claude[command]): Add /check:audit parity audit command

    0ef7e82

    docs(plan): Fix accuracy issues from issue #1016 review

    048f939

    ai(claude[command]): Add /check:audit parity audit command

    4791574

    docs(plan): Fix accuracy issues from issue #1016 review

    25ef494

    ai(claude[command]): Add /check:audit parity audit command

    ca6c451

    docs(plan): Fix accuracy issues from issue #1016 review

    f1e968c

    ai(claude[command]): Add /check:audit parity audit command

    77217b7

    docs(plan): Fix accuracy issues from issue #1016 review

    1769fe4

    docs(plan): Fix accuracy issues from issue #1016 review

    6e4b36d

    docs(plan): Fix accuracy issues from issue #1016 review

    c8c2c54

    ai(claude[command]): Add /check:audit parity audit command

    e41254a

    docs(plan): Fix accuracy issues from issue #1016 review

    0bcfd7b
  2. 40 remaining items

  3. tony
    added 2 commits that reference this issue on Apr 26, 2026

    ai(claude[command]): Add /check:audit parity audit command

    f15dea5

    docs(notes[plan]): Mark L1/L2/L3 as resolved in libtmux v0.55.0 and r…

    045ecca
  4. tony
    added 3 commits that reference this issue on May 9, 2026

    docs(plan): Fix accuracy issues from issue #1016 review

    b58b2be

    docs(plan): Fix accuracy issues from issue #1016 review

    9d8ae9f

    docs(plan): Fix accuracy issues from issue #1016 review

    4c878b6
  5. tony
    added 7 commits that reference this issue on Jun 6, 2026

    docs(plan): Fix accuracy issues from issue #1016 review

    22c6ed2

    ai(claude[command]): Add /check:audit parity audit command

    006c0ea

    docs(notes[plan]): Mark L1/L2/L3 as resolved in libtmux v0.55.0 and r…

    fcfc0b8

    docs(plan): Fix accuracy issues from issue #1016 review

    aa35639

    ai(claude[command]): Add /check:audit parity audit command

    d224acd

    docs(notes[plan]): Mark L1/L2/L3 as resolved in libtmux v0.55.0 and r…

    7d7ee48

    docs(plan): Fix accuracy issues from issue #1016 review

    2a7c314
  6. tony
    added a commit that references this issue on Jul 4, 2026

    docs(plan): Fix accuracy issues from issue #1016 review

    1dc238d
  7. tony
    added 2 commits that reference this issue on Oct 24, 2026

    docs(plan): Fix accuracy issues from issue #1016 review

    4fe7aa1

    docs(plan): Fix accuracy issues from issue #1016 review

    b2eb0c5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      You are visitor 01402503 — GeezerVison does not store the pages you look up.
      Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.