Editor-native AI Pull Request Reviewer
Watcher is a VS Code–compatible extension that performs AI-assisted Pull Request reviews directly inside your editor. It utilizes either the editor’s built-in AI models (Copilot / Cursor / Windsurf / compatible editors) or a local Ollama instance.
It reviews staged Git changes, highlights issues inline, generates PR-ready summaries, and helps human reviewers focus on what actually matters.
✅ No OpenAI keys
✅ No external API dependencies (uses local or editor AI)
✅ No CI dependencies (requires only standardgitCLI)
✅ Works entirely inside your environment
Watcher analyzes your staged code and provides:
- 🤖 AI vs Human code attribution
- 🔍 Code quality & logic review
- 🧪 Test coverage feedback
- 🆕 Regression detection (baseline comparison)
- ✅ Custom checklist support
- 🧠 AI confidence scoring & hallucination detection
⚠️ Inline editor diagnostics (Problems panel)- 📝 PR-ready Markdown summaries
- 🛡️ Performance & safety controls for large PRs
All without leaving your editor.
- Reads staged Git changes
- Optionally compares against a user-defined base branch
- Applies custom checklist rules (if provided)
- Uses editor-provided AI models or a local Ollama instance to review the changes
- Runs a self-verification pass to detect AI disagreement
- Generates:
- Detailed review report
- PR summary
- Inline diagnostics
Install Watcher from the VS Code marketplace (or sideload during development).
Watcher only reviews staged files:
git add .Use any of the following:
-
Command Palette
Ctrl + Shift + P → Watcher: Run PR Review -
Keybinding (optional)
-
VS Code Task
-
code --command watcher.run(VS Code must already be open)
Watcher generates:
.watcher/
├── WATCHER_REVIEW.md ← Full detailed review
└── PR_SUMMARY.md ← GitHub-ready PR summary
It also:
- Adds inline warnings/errors in the editor
- Populates the Problems panel
Detailed technical analysis including:
- AI Confidence & Risk level
- AI vs Human tracking (New Code)
- AI Positives, Negatives & Risks
- Test feedback
Concise, GitHub-ready summary suitable for PR descriptions.
Watcher supports both global (VS Code) and per-repository configuration.
.watcher/config.json ← highest priority
VS Code settings ← fallback
Defaults ← last resort
Open:
Settings → Extensions → Watcher
| Setting | Description | Default |
|---|---|---|
watcher.autoStage |
Auto-stage Watcher files after review | true |
watcher.baseBranch |
Base branch for regression comparison | "origin/dev" |
watcher.showProblems |
Show AI findings in VS Code Problems | false |
watcher.aiProvider |
AI Provider to use (vscode or ollama) |
"vscode" |
watcher.ollamaUrl |
URL of local Ollama instance | "http://localhost:11434" |
watcher.ollamaModel |
Model name to use with Ollama | "yi-coder:1.5b" |
Create:
.watcher/config.json
Example:
{
"autoStage": true,
"baseBranch": "origin/dev"
}Watcher can compare your PR against a user-defined base branch to detect:
- New issues introduced
- Test regressions
- Changes that worsen existing code
Base branch must be explicitly configured (no guessing).
Teams can define custom review rules.
Create:
.watcher/checklist.yml
Example:
checks:
- id: no-console
description: "No console.log statements in production code"
- id: tests-required
description: "All public APIs must have tests"
- id: no-todo
description: "No new TODO comments introduced"Watcher will:
- Evaluate each checklist item during its review
- Mark it as PASS / FAIL / UNCERTAIN internally and use this context to guide its
negativesandrisksoutput
Note: Explicit Checklist result printing in reports and diagnostics is currently not implemented, though AI evaluates them internally.
Watcher assigns a confidence score (0–100) to every review based on:
- AI self-assessment (LOW, MEDIUM, HIGH)
- AI self-verification (disagreement detection)
- Diff size & truncation limits
Low confidence reviews are explicitly flagged so humans know when to be cautious.
Watcher integrates with VS Code diagnostics:
- Errors / warnings appear inline
- Issues show up in the Problems panel
- Severity is based on issue category: Negatives become Warnings, Risks become Errors.
This makes Watcher feel like a native linting tool.
Watcher is safe for large PRs:
- Diff size limits
- Deterministic chunking
- Maximum AI calls
- Graceful degradation (never crashes)
When a PR is too large:
- Review is partial (truncated beyond max chunk limit)
- Confidence score is automatically penalized
Watcher is intentionally editor-only.
❌ No Watcher-specific CLI (npm run watcher will not work)
❌ No CI execution
❌ No GitHub API calls
❌ No auto-posting PR comments
❌ No commit message rewriting
This is required to safely use editor-provided AI models or local Ollama instances.
Watcher works in any editor that supports VS Code extensions and the Language Model API, including:
- VS Code (Note: Watcher automatically selects the model with the smallest context window to minimize resource usage)
- Cursor
- Windsurf
- Antigravity
- Other compatible forks
- Run Watcher before committing
- Keep checklist rules small & focused
- Always review low-confidence outputs manually
- Use baseline comparison for large refactors
Watcher is designed to:
- Assist, not replace, human reviewers
- Reduce review noise
- Surface real risks
- Stay transparent and configurable
If you trust your editor — you can trust Watcher.
MIT