tmux-python / tmux-python/tmuxp
WorkspaceBuilder: add an opt-in parallel builder
Open
Nobody has claimed this yet.
enhancement
WorkspaceBuilder
- Dominant language
- Python
- Stars
- 4.6k
- Forks
- 248
- Avg merge
- 2h 13m
- Merged PRs (30d)
- 1
Description
Summary
Add a separate opt-in builder that prioritizes faster workspace construction while keeping the classic builder as the compatibility default.
Related: #1053, #1054, #1056, #1058.
Proposed behavior
- Implement a parallel builder selected explicitly through the builder mechanism introduced in the base work.
- Keep the classic builder as the default for existing workspaces and dependency-sensitive configurations.
- Allow the parallel builder to create pane/window structure and observe readiness with less serialized waiting where the builder contract allows it.
- Document that pane commands are not guaranteed to prepare later pane split-time inputs such as
start_directory,shell,window_shell, pane environment, or other split-time state. - Recommend classic builder behavior or earlier setup phases such as
before_script/shell_command_beforefor configs that rely on strict side effects. - Keep this separate from the experimental chain-builder work while allowing the protocol to learn from #1054.
Acceptance criteria
- The parallel builder is opt-in and not selected by existing workspace files.
- Tests cover faster grouped creation behavior and the documented relaxed dependency guarantees.
- Compatibility-sensitive ordering remains covered by classic-builder tests.
- Documentation explains when to choose classic versus parallel behavior.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the builder mechanism introduced in the base work and the related issues #1053, #1054, #1056, and #1058, then inspect the classic-builder tests and documentation. Done means an explicitly selected parallel builder, coverage for grouped creation and relaxed dependencies, unchanged classic-builder compatibility, and documentation describing when to choose each behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100