WADE — Workflow for AI-Driven Engineering
Project description
WADE — Workflow for AI-Driven Engineering
AI tools write the code. WADE handles everything else.
Every Wade does the dirty work so the heroes don't have to.
Branches, worktrees, context loading, model selection, PR creation — all the workflow friction that surrounds AI coding sessions. WADE eliminates it. Works with Claude Code, Copilot, Gemini, Codex, and more. Run wade init once per project, then just point it at a GitHub (more to come!) issue number.
See It in Action
Starting work on Issue #42:
Without WADE:
git fetch origin && git checkout main && git pull
git checkout -b feat/issue-42-user-auth
# paste issue title + description into AI chat
# explain your branching rules, test locations, linters to run...
With WADE:
wade 42
WADE fetches the issue, detects whether it's been planned, and starts the right session automatically — planning if no plan exists yet, implementation if it does. Creates an isolated git worktree, launches your AI tool with the full issue loaded — title, description, labels, and all your project conventions — and Skills guide the AI from first commit to open PR without you touching git again.
Finishing work and opening the PR:
Without WADE:
git checkout main && git pull
git checkout feat/issue-42-user-auth
git merge main # resolve conflicts yourself, if any
git push
gh pr create --title "User Auth (#42)" --body "..." # write description manually
# don't forget to link the issue, clean up the branch...
With WADE (the AI handles all of this):
wade work done
The AI merges the latest main into the branch, resolves any conflicts, writes the PR description from what it built, and marks it ready for review — you get a clean, already-integrated diff with no noise for your reviewer.
Working on multiple issues at once:
wade work batch 42 43 44 # three worktrees, three AI sessions, zero stashing
Why WADE
| Without WADE | With WADE |
|---|---|
git fetch && checkout && pull && checkout -b ... before every task |
wade 42 — one command, done |
| Copy-paste issue title + description into AI chat every time | Full issue context + project conventions loaded automatically |
| One task at a time, or stash-juggle between branches | Parallel issues in isolated worktrees, zero conflicts |
| Re-explain your branching rules, test commands, linters every session | Skills teach the AI your conventions once |
| PRs opened on stale branches — reviewer sees conflict noise, asks for a rebase, CI fails | AI merges the latest main and resolves conflicts before the PR — reviewer sees only your changes |
| Write the PR description, link the issue, clean up the branch — manually | The AI ships the PR. You just review |
| Manually pick the right model for each task | Automatic model routing based on issue complexity |
| Which terminal tab has which issue? No idea | Terminal title shows wade work #42 — Feature Name |
| Which AI session worked on this issue? Which tool? Which model? | Every PR and issue logs the tool, model, and session resume command — for both Plan and Implement phases |
Installation
One-line install script (installs uv automatically if missing):
curl -LsSf https://raw.githubusercontent.com/ivanviragine/wade/main/install.sh | sh
Or, if you already have uv or pipx:
uv tool install wade-cli # recommended
pipx install wade-cli
Requires gh CLI (authenticated) and at least one supported AI coding tool.
gh auth login # if not already authenticated
Quick Start
Initialize WADE in your project (once):
wade init
Then start working:
# Plan a feature — AI creates GitHub issues and draft PRs
wade plan-task
# Start working — WADE detects plan state and picks the right session automatically
wade 42
Commands
| Command | Description |
|---|---|
wade <N> |
Smart shorthand — routes to plan or implement automatically |
wade work batch <N> <M> ... |
Start parallel sessions for multiple issues (beta) |
wade plan-task |
AI planning session — creates issues + draft PRs |
wade implement-task <N> |
Create worktree and start AI session for an issue |
wade new-task |
Create a GitHub issue interactively |
wade task list |
List open issues |
wade task read <N> |
Show issue details |
wade work list |
List active worktrees |
wade work remove <N> |
Remove a worktree |
wade init |
Initialize WADE in the current project |
wade update |
Upgrade WADE and refresh project files |
plan-task and implement-task accept --ai <tool> and --model <model> to override the configured defaults. implement-task also supports --detach (new terminal tab) and --cd (print worktree path only).
Supported AI Tools
| Tool | Binary |
|---|---|
| Claude Code | claude |
| GitHub Copilot | copilot |
| Google Gemini | gemini |
| OpenAI Codex | codex |
| OpenCode | opencode |
| VS Code | code |
| Antigravity | antigravity |
Agent Skills
wade init installs Skills that teach your AI agent the workflow — issue format, planning rules, implementation session rules, and dependency analysis. Skills, the AGENTS.md workflow pointer, and any tool-specific configuration are set up automatically for every supported tool. Nothing to configure manually.
| Skill | Purpose |
|---|---|
task |
GitHub issue creation and plan format |
plan-session |
Planning session rules and workflow |
work-session |
Implementation session rules and workflow |
deps |
Dependency analysis between issues |
Shell Integration
To make wade work cd <N> actually change your directory (instead of just printing the path), add this to your shell profile:
eval "$(wade shell-init)"
Tab completion:
wade --install-completion bash # or zsh / fish
Upgrading
wade update
Detects your install method (uv tool, pipx, Homebrew) and upgrades automatically, then refreshes all managed project files.
Contributing
See CONTRIBUTING.md.
License
MIT
Project details
Release history Release notifications | RSS feed
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 wade_cli-0.0.2.tar.gz.
File metadata
- Download URL: wade_cli-0.0.2.tar.gz
- Upload date:
- Size: 392.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd03ed6924aa5b2caf6ad03c3ad7977dceaa58cf466976915f25bc66ecbe1a38
|
|
| MD5 |
3220483141eaa778a70ee76c009f72f5
|
|
| BLAKE2b-256 |
6e96ec3602b123b35a73992a4c0a522188c32a44aa4c4fccc09bfb6d5affc619
|
File details
Details for the file wade_cli-0.0.2-py3-none-any.whl.
File metadata
- Download URL: wade_cli-0.0.2-py3-none-any.whl
- Upload date:
- Size: 162.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4390e99fdb56bbfcf9a5ca760c5b505a408f0e487b146fdbb5df08d1c188ba09
|
|
| MD5 |
438df7e1fc14af146958dcdb4264ee54
|
|
| BLAKE2b-256 |
2671e8d33696f079bba3f47322901679865489177212a3d4fd9b913da43b25bc
|