A harness for taking a first pass at coding tasks using Claude Code. Queue up tasks, and firstpass will check out a branch, run Claude Code to research/plan/implement, then push the result for review.
- Python 3.10+
- uv
- Redis
- Claude Code CLI installed and authenticated
git clone https://github.com/yourusername/firstpass.git
cd firstpass
cp .env.example .env # edit with your Redis URL if needed
uv venv
source .venv/bin/activate
uv pip install -e .In one terminal, start Redis and the worker:
redis-server &
firstpass startOptions:
| Flag | Default | Description |
|---|---|---|
-r, --redis |
redis://localhost:6379 |
Redis connection URL |
-c, --concurrency |
2 |
Max concurrent tasks (1 per repo enforced) |
In another terminal:
firstpass add \
-n fix-login-bug \
-i "The login form throws a 500 when the email contains a plus sign. Fix the validation and add a test." \
--repo /absolute/path/to/your/repoOptions:
| Flag | Required | Description |
|---|---|---|
-n, --name |
Yes | Task name (used as the branch name: firstpass/<name>) |
-i, --instructions |
Yes | What you want done |
--repo |
Yes | Absolute path to a local git repo with a remote |
-r, --redis |
No | Redis connection URL |
# List all tasks
firstpass list
# Check a specific task
firstpass status <task-id>- Fetches latest from origin and checks out the default branch
- Creates a new branch:
firstpass/<task-name> - Runs Claude Code with instructions to:
- Research the codebase
- Write a plan and assumptions to
<task-name>.md - Implement the changes with commits
- Document what was done, decisions made, and open questions
- Pushes the branch to origin
- Marks the task complete in Redis
The result is a branch ready for review with a <task-name>.md file explaining what was done and why.
- One task per repo at a time (to avoid branch conflicts)
- Uses
--dangerously-skip-permissionsfor Claude Code (runs unattended on your machine) - Task history lives in Redis — if Redis is flushed, history is lost (but branches/commits persist in git)
MIT