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

Update to latest version

# Update with uv
uv tool upgrade evo-tool

# Or reinstall to force latest
uv tool install --force evo-tool

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
  • -pf, --prompt-file - Read prompt from a markdown file
  • -r, --runtime - Development runtime: local (default) or isolated

Examples:

# With inline prompt
evo dev fix/auth-bug -p "Fix the authentication timeout issue"

# With prompt from markdown file
evo dev refactor/auth -pf refactor-plan.md

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

# Native markdown file support (recommended)
evo dev refactor/auth -pf refactor-plan.md

# Or using shell substitution
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.3.tar.gz (37.2 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.3-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for evo_tool-0.1.3.tar.gz
Algorithm Hash digest
SHA256 c13da5827244f6dfe11023b9c015a010890359ecd53106908a0f4fbf405457aa
MD5 260a9761acbe31b0fdcdb0ab660ec89e
BLAKE2b-256 19417d1db7e7ee40320f5bf7ea0dad3c707650298cb43688ab27d91bda4f8caf

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for evo_tool-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 72ea2d2551aa9f7a0302fe88a9e2246f5c62c6065379a73211c8f6a9a6ba7fe5
MD5 2a0573bb811ce0d3507eaa5b151a78b1
BLAKE2b-256 01cec9517623dc16d74f7099c1bc5847ab637c1bcee94be683f44b00353fa80e

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