PitchHut logo
Efficiently manage Git worktrees with a fuzzy finder.
Pitch

gwq is a powerful CLI tool designed to manage Git worktrees effortlessly. By providing a fuzzy finder interface, it allows multiple branches to be worked on simultaneously, enabling parallel development workflows. Perfect for tasks involving AI coding agents, it streamlines the process of managing independent tasks and enhances productivity without conflicts.

Description

gwq is a powerful command-line interface designed to streamline the management of Git worktrees. This tool enhances the workflow by allowing users to efficiently create, switch, and delete worktrees, leveraging a user-friendly fuzzy finder interface.

Key Features

  • Fuzzy Finder Interface: Effortlessly navigate branches and worktrees with built-in fuzzy search capabilities.
  • Global Worktree Management: Access and manage all worktrees across multiple repositories, facilitating overall project organization.
  • Status Dashboard: Quickly monitor the status of all worktrees, including their changes and recent activity.
  • Tmux Integration: Seamlessly run and manage long-running processes in persistent tmux sessions.
  • Tab Completion: Enjoy full shell completion support for branches, worktrees, and configurations, enhancing command efficiency.

Use Cases

gwq is particularly beneficial in several scenarios, including:

  • Working on multiple features concurrently.
  • Running parallel AI coding agents on different tasks, thereby improving development productivity.
  • Conducting code reviews while simultaneously developing new features.
  • Testing changes without interfering with the primary workspace.

Example Usage

To efficiently manage worktrees for parallel AI coding workflows, commands can be executed as follows:

# Create worktrees for parallel development
gwq add -b feature/authentication
gwq add -b feature/data-visualization
gwq add -b bugfix/login-issue

# Each AI agent can work in its dedicated worktree
cd $(gwq get authentication) && claude
cd $(gwq get visualization) && claude
cd $(gwq get login) && claude

# Monitor all agent activity in real-time
gwq status --watch

This approach ensures that each worktree operates with its own working directory, preventing merge conflicts and allowing for high-speed development on independent tasks.

Comprehensive Command List

  • Add Worktree: Create and manage new worktrees with options for interactive selection and staying in the current directory.
  • List Worktrees: Display all available worktrees, along with detailed information in various formats.
  • Get Worktree Path: Retrieve paths for easy navigation within a terminal and execute commands in designated worktrees.
  • Change Directory: Switch to specific worktree directories, optionally launching new shell instances for isolation.
  • Execute Commands: Run commands directly in worktrees, ensuring that environment contexts are preserved.
  • Remove Worktrees: Easily delete worktrees with optional flags for branch deletion and confirmation controls.
  • Status Monitoring: Track the status of worktrees, including filters for specific activity and real-time updates.
  • Tmux Session Management: List, run or attach to tmux sessions for continuous process monitoring.

Configuration Management

The gwq tool supports comprehensive configuration through global and local settings, allowing customization to fit specific project needs. This includes directory structure settings, command automation per repository, and shell integration settings.

In summary, gwq serves as an indispensable tool for developers leveraging Git worktrees for parallel development workflows, with a focus on efficiency and user-friendly operations, making it ideal for modern software development practices.

0 comments

No comments yet.

Sign in to be the first to comment.