Skip to main content

A CLI tool for managing Git worktrees with Claude Code integration

Project description

Evo

A powerful CLI tool for managing Git worktrees with integrated AI coding assistant support. Evo streamlines development workflows by creating isolated Git worktrees and launching them with Claude or other AI assistants.

Installation

Install uv (recommended)

First, install uv - a fast Python package manager: Installation Guide

Install and Run with uv

# Install globally
uv tool install evo-tool

# Then use normally
evo usage
evo sessions
evo dev feature-branch

Run without installing

# Run any command without installation
uvx --from evo-tool evo sessions
uvx --from evo-tool evo usage

Alternative: Install with pip

pip install evo-tool

Requirements

  • Python 3.12+
  • Git
  • Claude CLI: npm install -g @anthropic-ai/claude-code
  • Docker (for isolated runtime only)

Quick Start

1. Initialize your project

evo init

Creates .evo/config.json for project-specific settings.

2. Create isolated development branches

evo dev my-new-feature

This creates a new Git worktree at ../{repo-name}-my-new-feature, allowing you to run multiple Claude instances simultaneously without affecting your main directory.

3. Use isolated Docker environment (optional)

evo dev my-feature --runtime isolated

Commands

evo dev <branch-name>

Create a Git worktree and launch Claude.

Options:

  • -p, --prompt - Initial prompt for Claude
  • -r, --runtime - Development runtime: local (default) or isolated

Example:

evo dev fix/auth-bug -p "Fix the authentication timeout issue"

evo usage

Display Claude usage statistics and costs.

Options:

  • -d, --days - Number of days to show (default: 30)
  • -p, --project - Filter by project name

Example:

evo usage -d 7  # Last week's usage

evo sessions

Display Claude conversation sessions.

Options:

  • -d, --days - Number of days to show (default: 30)
  • -p, --project - Filter by project name

Example:

evo sessions -d 14  # Last 2 weeks
# Copy a session ID and resume with: claude -r {sessionId}

Configuration

Project settings are stored in .evo/config.json:

{
  "worktree_files": [".env", ".env.local", ".mcp"],
  "test_command": "npm test",
  "lint_command": "npm run lint",
  "disable_firewall": false,
  "default_cli": "claude"
}

Key Settings

  1. Environment Files

    • Git worktrees only copy tracked files
    • Use worktree_files to specify untracked files (like .env) to copy
  2. Isolated Runtime

    • disable_firewall: Allow network access in Docker containers

Tips

Work on multiple features simultaneously

# Terminal 1
evo dev feature/api-v2

# Terminal 2
evo dev fix/performance

# Terminal 3
evo dev refactor/database

Use complex prompts from files

evo dev refactor/auth -p "$(cat refactor-plan.md)"

Track costs across projects

evo usage -p myproject -d 30

License

MIT License - see LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

evo_tool-0.1.2.tar.gz (40.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

evo_tool-0.1.2-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

Details for the file evo_tool-0.1.2.tar.gz.

File metadata

  • Download URL: evo_tool-0.1.2.tar.gz
  • Upload date:
  • Size: 40.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.12

File hashes

Hashes for evo_tool-0.1.2.tar.gz
Algorithm Hash digest
SHA256 761b55618764c2bc68cff5508131130c86b9c33206ca600b9ed4bf22706c6af9
MD5 0be8ff395e6ace8d96ec1714dc281fce
BLAKE2b-256 e13146f674ae7e212cfa433a7f5d3d94c174afcfd83b78e278d58df9da88038f

See more details on using hashes here.

File details

Details for the file evo_tool-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: evo_tool-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 17.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.12

File hashes

Hashes for evo_tool-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a825ca6f4da7fd4683c45dc23737a1b02b4d8bf4a77c92203906866b81305234
MD5 937655d3b5cb5a3ce394afa8db620041
BLAKE2b-256 98c519108c32009f1c6b732c4e926221f2c39523338314b1bfcb58553c977959

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page