Skip to content

thirdnull/tauri-worktree-manager

Repository files navigation

Tauri Worktree Manager

A Tauri desktop application for visual git worktree management in Claude Code projects.

Features

  • Visual Worktree Management: List, create, switch, and manage git worktrees through a desktop UI
  • Task Integration: Seamlessly integrates with Claude Code task workflow
  • UI Testing: Built-in screenshot and interaction testing capabilities
  • Cross-Project: Works with any Claude Code project
  • Shell Script Integration: Leverages existing worktree-manager.sh functionality

Status

Build Fixed - All compilation issues resolved, ready for development

Fixed Issues:

  • ✅ Removed invalid Tauri 2.x feature flags
  • ✅ Moved tauri.conf.json to correct location (src-tauri/)
  • ✅ Fixed React 19 import compatibility
  • ✅ Updated to use @tauri-apps/api proper imports
  • ✅ Fixed Tailwind CSS v4 PostCSS configuration
  • ✅ Both Rust and TypeScript builds working

Tech Stack

  • Frontend: React 19 + TypeScript
  • UI: TailwindCSS v4 + shadcn/ui
  • Desktop: Tauri 2.0.0-rc.18
  • Testing: Manual testing via Tauri dev mode
  • Build: Vite 7

Installation

Prerequisites

  1. Node.js (v18+)
  2. Rust (latest stable) - For building the Tauri backend
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Setup

# Navigate to the tool directory
cd /Users/zephyr/UniClaude/.claude-tools/tauri-worktree-manager

# Install dependencies
npm install

# Build frontend assets
npm run build

# Build Rust backend
cd src-tauri
cargo build

# Or build everything for release
cd ..
npx tauri build

Usage

Development Mode

# Run Vite dev server only (no Tauri window)
npm run dev

# Run full Tauri app in dev mode (opens desktop window)
npx tauri dev

Production Build

# Build optimized frontend + Rust binary
npx tauri build

Testing

Manual Testing:

  1. Run npx tauri dev to launch the app
  2. Click "Refresh" to load mock worktree data
  3. Verify UI displays worktrees correctly
  4. Test button interactions

Automated Testing: WebDriver setup deferred for future enhancement

Architecture

tauri-worktree-manager/
├── src/              # React frontend
│   ├── components/   # UI components
│   ├── hooks/        # React hooks
│   └── lib/          # Utilities
├── src-tauri/        # Rust backend (created when Tauri is initialized)
│   ├── src/          # Tauri commands
│   └── Cargo.toml    # Rust dependencies
├── tests/            # Test suites
│   ├── e2e/          # End-to-end tests
│   └── screenshots/  # Visual regression tests
└── package.json      # Node dependencies

Features Roadmap

  • Basic project structure
  • Tauri app initialization
  • Rust backend commands defined
  • React frontend with TypeScript
  • TailwindCSS styling
  • Build system working (Vite + Cargo)
  • Worktree list view (mock data)
  • Frontend-backend communication via @tauri-apps/api
  • Connect to real worktree-manager.sh scripts
  • Create worktree dialog
  • Switch worktree functionality
  • Cleanup orphaned worktrees
  • Status dashboard with real data
  • Merge workflow UI
  • WebDriver automated testing
  • Claude Code slash command integration

Contributing

This project is part of the Claude Code ecosystem. Contributions welcome!

License

MIT

Known Issues & Notes

Current Status

  • Builds Successfully: Both Rust (Cargo) and TypeScript (Vite) builds work
  • Mock Data: get_worktrees command returns hardcoded data (not yet calling shell scripts)
  • Icons: Using minimal placeholder icon (1x1 PNG)
  • Bundling: Disabled for faster development builds

Future Enhancements

  1. Connect Rust commands to actual worktree-manager.sh shell scripts
  2. Implement real-time worktree status updates
  3. Add proper application icon
  4. Set up WebDriver for automated UI testing
  5. Create installation bundle for distribution
  6. Add error handling and user feedback

About

Tauri desktop app for visual git worktree management in Claude Code projects

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors