https://github.com/devflowinc/uzi
CLI for running large numbers of coding agents in parallel with git worktrees
https://github.com/devflowinc/uzi
agentic-ai ai codegen go golang llm llm-inference parallelization
Last synced: 7 months ago
JSON representation
CLI for running large numbers of coding agents in parallel with git worktrees
- Host: GitHub
- URL: https://github.com/devflowinc/uzi
- Owner: devflowinc
- License: mit
- Created: 2025-05-27T00:39:39.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-06-04T16:26:48.000Z (7 months ago)
- Last Synced: 2025-06-22T05:17:06.845Z (7 months ago)
- Topics: agentic-ai, ai, codegen, go, golang, llm, llm-inference, parallelization
- Language: Go
- Homepage: https://uzi.sh
- Size: 63.5 MB
- Stars: 346
- Watchers: 3
- Forks: 8
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
## Installation
```bash
go install github.com/devflowinc/uzi@latest
```
Make sure that your GOBIN is in your PATH.
```sh
export PATH="$PATH:$HOME/go/bin"
```
## Features
- 🤖 Run multiple AI coding agents in parallel
- 🌳 Automatic Git worktree management for isolated development
- 🖥️ Tmux session management for each agent
- 🚀 Automatic development server setup with port management
- 📊 Real-time monitoring of agent status and code changes
- 🔄 Automatic handling of agent prompts and confirmations
- 🎯 Easy checkpoint and merge of agent changes
## Prerequisites
- **Git**: For version control and worktree management
- **Tmux**: For terminal session management
- **Go**: For installing
- **Your AI tool of choice**: Such as `claude`, `codex`, etc.
## Configuration
### uzi.yaml
Create a `uzi.yaml` file in your project root to configure Uzi:
```yaml
devCommand: cd astrobits && yarn && yarn dev --port $PORT
portRange: 3000-3010
```
#### Configuration Options
- **`devCommand`**: The command to start your development server. Use `$PORT` as a placeholder for the port number.
- Example for Next.js: `npm install && npm run dev -- --port $PORT`
- Example for Vite: `npm install && npm run dev -- --port $PORT`
- Example for Django: `pip install -r requirements.txt && python manage.py runserver 0.0.0.0:$PORT`
- **`portRange`**: The range of ports Uzi can use for development servers (format: `start-end`)
**Important**: The `devCommand` should include all necessary setup steps (like `npm install`, `pip install`, etc.) as each agent runs in an isolated worktree with its own dependencies.
## Basic Workflow
1. **Start agents with a task:**
```bash
uzi prompt --agents claude:3,codex:2 "Implement a REST API for user management with authentication"
```
2. **Run uzi auto**
uzi auto automatically presses Enter to confirm all tool calls
```
uzi auto
```
3. **Monitor agent progress:**
```bash
uzi ls -w # Watch mode
```
4. **Send additional instructions:**
```bash
uzi broadcast "Make sure to add input validation"
```
5. **Merge completed work:**
```bash
uzi checkpoint funny-elephant "feat: add user management API"
```
## Commands
### `uzi prompt` (alias: `uzi p`)
Creates new agent sessions with the specified prompt.
```bash
uzi prompt --agents claude:2,codex:1 "Build a todo app with React"
```
**Options:**
- `--agents`: Specify agents and counts in format `agent:count[,agent:count...]`
- Use `random` as agent name for random agent names
- Example: `--agents claude:2,random:3`
### `uzi ls` (alias: `uzi l`)
Lists all active agent sessions with their status.
```bash
uzi ls # List active sessions
uzi ls -w # Watch mode - refreshes every second
```
```
AGENT MODEL STATUS DIFF ADDR PROMPT
brian codex ready +0/-0 http://localhost:3003 make a component that looks similar to @astrobits/src/components/Button/ that creates a Tooltip in the same style. Ensure that you include a reference to it and examples on the main page.
gregory codex ready +0/-0 http://localhost:3001 make a component that `
```
### `uzi auto` (alias: `uzi a`)
Monitors all agent sessions and automatically handles prompts.
```bash
uzi auto
```
**Features:**
- Auto-presses Enter for trust prompts
- Handles continuation confirmations
- Runs in the background until interrupted (Ctrl+C)
### `uzi kill` (alias: `uzi k`)
Terminates agent sessions and cleans up resources.
```bash
uzi kill agent-name # Kill specific agent
uzi kill all # Kill all agents
```
### `uzi run` (alias: `uzi r`)
Executes a command in all active agent sessions.
```bash
uzi run "git status" # Run in all agents
uzi run --delete "npm test" # Run and delete the window after
```
**Options:**
- `--delete`: Remove the tmux window after running the command
### `uzi broadcast` (alias: `uzi b`)
Sends a message to all active agent sessions.
```bash
uzi broadcast "Please add error handling to all API calls"
```
### `uzi checkpoint` (alias: `uzi c`)
Makes a commit and rebases changes from an agent's worktree into your current branch.
```bash
uzi checkpoint agent-name "feat: implement user authentication"
```
### `uzi reset`
Removes all Uzi data and configuration.
```bash
uzi reset
```
**Warning**: This deletes all data in `~/.local/share/uzi`
### Advanced Usage
**Running different AI tools:**
```bash
uzi prompt --agents=claude:2,aider:2,cursor:1 "Refactor the authentication system"
```
**Using random agent names:**
```bash
uzi prompt --agents=random:5 "Fix all TypeScript errors"
```
**Running tests across all agents:**
```bash
uzi run "npm test"
```