by timwuhaotian
The Pair - Automated pair programming — grab a coffee while two AI agents cross-check each other's work
# Add to your Claude Code skills
git clone https://github.com/timwuhaotian/the-pairAutomated pair programming — grab a coffee while two AI agents cross-check each other's work
macOS • Windows • Linux
Watch Mentor and Executor agents collaborate in real-time
Worried about AI code hallucinations? The Pair solves this by running two AI agents that cross-check each other:
While they work, go grab a coffee. Come back to reviewed, cross-validated code.
Review Result - Fail With Evidence
Review Result - Pass With Evidence
Download the latest release from GitHub Releases:
| Platform | File |
| ----------- | ------------------------------ |
| macOS | the-pair-{version}.zip |
| Windows | the-pair-{version}-setup.exe |
| Linux | the-pair-{version}.AppImage |
git clone https://github.com/timwuhaotian/the-pair.git
cd the-pair
npm install
npm run build:mac # or build:win / build:linux
On macOS, build:mac produces a local DMG, while build:mac:release produces the ZIP-style release bundle used in GitHub Releases. The build script will ensure the required Rust targets are installed before invoking Tauri. If you prefer to set them up manually, run:
rustup target add aarch64-apple-darwin x86_64-apple-darwin
[!NOTE] The Pair requires at least one AI provider CLI: opencode, Claude Code, Codex, or Gemini CLI.
Install one or more of the supported CLIs:
npm install -g @anthropic-ai/claude-codenpm install -g @openai/codexFor opencode-backed models, set up your AI providers in ~/.config/opencode/opencode.json:
{
"provider": {
"openai": { "options": { "apiKey": "your-api-key" } },
"anthropic": { "options": { "apiKey": "your-api-key" } }
}
}
[!TIP] Codex, Claude Code, and Gemini CLI are detected from their installed CLIs and sign-in state. You can also use local models with Ollama for offline development.
Open from Applications folder or start menu.
OpenCode-backed models use your existing opencode configuration:
~/.config/opencode/opencode.json%APPDATA%/opencode/opencode.jsonCodex, Claude Code, and Gemini CLI are detected from their local CLI install and account state.
Each pair maintains its own runtime configuration in .pair/runtime/<pairId>/ within your project directory, including session files, runtime permissions, and conversation history.
[!NOTE] The Pair does not modify your global opencode permissions. All permissions are session-specific.
| Layer | Technology | | -------------- | --------------------- | | Framework | Tauri 2.x | | Backend | Rust | | Frontend | React 19 + TypeScript | | Styling | Tailwind CSS v4 | | State | Zustand | | Animations | Framer Motion | | Icons | Lucide React |
┌─────────────────────────────────────────────────────────┐
│ The Pair App │
├─────────────────────────────────────────────────────────┤
│ Frontend (React UI) │
│ ┌──────────────┬──────────────┬──────────────────┐ │
│ │ Dashboard │ Pair Detail │ Settings │ │
│ └──────────────┴──────────────┴──────────────────┘ │
│ ↕ Tauri IPC │
├─────────────────────────────────────────────────────────┤
│ Backend (Rust) │
│ ┌──────────────┬──────────────┬──────────────────┐ │
│ │ PairManager │MessageBroker │ ProcessSpawner │ │
│ │ (Lifecycle) │ (State Machine)│ (Multi-Provider)│ │
│ └──────────────┴──────────────┴──────────────────┘ │
│ ┌──────────────┬──────────────┬──────────────────┐ │
│ │ Git Tracker │Resource Mon. │ Activity Tracker │ │
│ └──────────────┴──────────────┴──────────────────┘ │
└─────────────────────────────────────────────────────────┘
↕
┌─────────────┴─────────────┐
↙ ↘
┌─────────────────┐ ┌─────────────────┐
│ AI Provider CLIs│ │ Git Repo │
│ opencode/Claude/ │ │ (Workspace) │
│ Codex/Gemini │ └─────────────────┘
└─────────────────┘
Start → Initialize & Baseline → Mentoring Phase → Executing Phase → Reviewing Phase
↓
Done? ──Yes→ Finished
│
No
↓
(loop back to Mentoring)
[!NOTE] Release builds require the updater signing secret to be configured in GitHub Actions.
Run a quick environment check before building:
npm run preflight
git clone https://github.com/timwuhaotian/the-pair.git
cd the-pair
npm install
npm run dev
the-pair/
├── src/
│
No comments yet. Be the first to share your thoughts!