workmux  by raine

Zero-friction parallel development with Git worktrees and Tmux

Created 2 months ago
545 stars

Top 58.5% on SourcePulse

GitHubView on GitHub
Project Summary

Summary workmux addresses the complexity of managing parallel development environments, particularly for tasks involving multiple AI agents. It targets developers who leverage tmux and git worktrees, offering a zero-friction workflow that integrates seamlessly into existing terminal setups. The primary benefit is streamlining the creation, management, and cleanup of isolated development spaces, reducing context-switching overhead.

How It Works The tool orchestrates git worktrees to create distinct directories for different branches within a single repository, pairing each worktree with a dedicated tmux window. Configuration is managed via YAML (.workmux.yaml), allowing users to define custom pane layouts, post-creation setup commands (like dependency installation), and file operations (copying or symlinking essential files like .env or node_modules). This approach keeps tmux as the central interface, preserving user shortcuts and workflows.

Quick Start & Requirements

  • Installation: Available via Homebrew (brew install raine/workmux/workmux) or Cargo (cargo install workmux, requires Rust).
  • Prerequisites: Git 2.5+, tmux. The gh CLI is needed for pull request checkout features, and the llm CLI is required for automatic branch name generation using LLMs.
  • Configuration: An optional workmux init command generates a default .workmux.yaml file.
  • Documentation: Comprehensive details are available within the README.

Highlighted Details

  • Native Tmux Integration: Creates and manages tmux windows directly within the current session.
  • Configuration as Code: Define project-specific layouts, hooks, and file operations in .workmux.yaml.
  • AI Agent Workflow: Features automatic branch name generation using LLMs and displays agent status within tmux window names.
  • Parallel Task Management: Supports creating multiple worktrees/windows concurrently for parallel experiments or AI agent delegation via flags like --agent, --count, --foreach, or stdin piping.
  • Simplified Lifecycle: Commands like add, merge, and remove abstract complex git and tmux operations.

Maintenance & Community The README does not detail specific contributors, sponsorships, or community channels (like Discord/Slack). The contributing guidelines suggest a preference for small fixes over large PRs.

Licensing & Compatibility The license type is not specified in the README, which is a significant omission for adoption decisions.

Limitations & Caveats git worktree caveats apply, such as the need for explicit configuration to handle ignored files (.env, node_modules) across worktrees. Symlinking node_modules is discouraged if dependencies differ between branches. Agent status tracking is currently limited to specific AI models (Claude Code primarily, with Gemini pending). The contributing philosophy may limit the scope of accepted external contributions. The absence of a specified license poses a compatibility risk for commercial use.

Health Check
Last Commit

18 hours ago

Responsiveness

Inactive

Pull Requests (30d)
4
Issues (30d)
10
Star History
345 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.