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) orisolated
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
-
Environment Files
- Git worktrees only copy tracked files
- Use
worktree_filesto specify untracked files (like.env) to copy
-
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c13da5827244f6dfe11023b9c015a010890359ecd53106908a0f4fbf405457aa
|
|
| MD5 |
260a9761acbe31b0fdcdb0ab660ec89e
|
|
| BLAKE2b-256 |
19417d1db7e7ee40320f5bf7ea0dad3c707650298cb43688ab27d91bda4f8caf
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72ea2d2551aa9f7a0302fe88a9e2246f5c62c6065379a73211c8f6a9a6ba7fe5
|
|
| MD5 |
2a0573bb811ce0d3507eaa5b151a78b1
|
|
| BLAKE2b-256 |
01cec9517623dc16d74f7099c1bc5847ab637c1bcee94be683f44b00353fa80e
|