PullerBear is a VS Code extension that watches your Git remote, summarizes incoming commits with AI, and gives you a chat interface to ask follow-up questions before you pull.
Important: PullerBear uses OpenRouter, so you should choose the model you want to use and set both pullerBear.apiKey and pullerBear.model in VS Code settings. The default model is openrouter/free, but you can switch it to any OpenRouter model slug you prefer.
- Monitors your repository on an interval and fetches remote updates.
- Detects when your branch is behind a target remote branch.
- Generates an AI summary of incoming changes.
- Shows summaries in a dedicated sidebar view: PullerBear → What's New.
- Lets you manually refresh with the reload button.
- Provides a chat box to ask questions about recent commit reviews.
- Clears summaries/chat review data after a detected pull/update.
- VS Code
1.110.0or newer. - Built-in Git extension enabled (
vscode.git). - Network access to
https://openrouter.ai. - OpenRouter API key (set in
pullerBear.apiKey). - OpenRouter model slug (set in
pullerBear.modelif you do not want the default).
- In VS Code settings, set
pullerBear.apiKeyto your OpenRouter key and optionally setpullerBear.modelto the model slug you want to use. - Package the extension:
npm installnpx vsce packageNote: If see WARNING LICENSE, LICENSE.md, or LICENSE.txt not found, please answer y to continue.
- Download the packaged link to your local device.
- In VS Code, open Extensions view.
- Click
...(top-right) → Install from VSIX... - Select the downloaded
.vsixfile. - In the left side bar, still on Extensions tab, look for PullerBear on search bar and click it.
Before you start: PullerBear reads the AI model from the extension setting pullerBear.model. We recommend leaving it on the default openrouter/free first, then switching to another OpenRouter model slug later if you want different speed, quality, or rate-limit behavior.
- Open a Git repository in VS Code.
- Open the PullerBear activity bar icon.
- In What's New, wait for automatic checks or click the reload icon.
- When remote commits are detected, read the generated summary cards.
- Use the chat box at the bottom to ask questions about the latest reviews.
Configure in Settings (Ctrl + ,), by searching PullerBear in extensions section, or in settings.json.
| Setting | Type | Default | Description |
|---|---|---|---|
pullerBear.fetchIntervalMinutes |
number |
10 |
How often PullerBear checks for remote updates. |
pullerBear.commitWindowMinutes |
number |
60 |
Time window used to measure incoming commit volume. |
pullerBear.warningCommitThreshold |
number |
2 |
Shows a warning prompt above this commit volume. |
pullerBear.hardStopCommitThreshold |
number |
5 |
Stops summarization at/above this commit volume. |
pullerBear.branchRef |
string |
"main" |
Target remote branch to compare against (e.g. main, upstream, origin/main). |
pullerBear.model |
string |
"openrouter/free" |
OpenRouter model slug used for summaries and chat. |
pullerBear.apiKey |
string |
"" |
OpenRouter API key used for AI summarization/Q&A. |
{
"pullerBear.fetchIntervalMinutes": 5,
"pullerBear.commitWindowMinutes": 60,
"pullerBear.warningCommitThreshold": 3,
"pullerBear.hardStopCommitThreshold": 8,
"pullerBear.branchRef": "main",
"pullerBear.model": "openai/gpt-5.4",
"pullerBear.apiKey": "sk-or-v1-..."
}- PullerBear fetches remote data at your configured interval.
- If you're behind the target branch, it computes incoming changes and generates a summary.
- Click the reload icon in the What's New header.
- This triggers an immediate manual check for all monitored repositories.
- If incoming activity is too high, PullerBear warns or stops summarization based on your thresholds.
- This avoids low-signal AI output during very high commit volume periods.
- When PullerBear detects your local
HEADmoved forward and behind count dropped, it treats it as a pull/sync. - It clears current summary cards and resets
pullerBear_reviews.json.
- The input at the bottom sends your question to PullerBear.
- PullerBear answers based on stored review data.
- If AI fails or the API key is missing, an error is shown in chat.
- Diff content and questions are sent to OpenRouter for AI processing.
- PullerBear writes review data to
pullerBear_reviews.jsonin your workspace root. - Treat this file as generated data; decide whether to add it to
.gitignorebased on your workflow.
- Set
pullerBear.apiKeyin VS Code settings. - Reload VS Code window after updating if needed.
- Check network connectivity and Git authentication.
- Run
git fetchmanually in terminal to confirm credentials.
- Ensure your branch is behind
pullerBear.branchRef. - Click reload to force a manual check.
- Lower thresholds if summaries are being blocked by activity limits.
- Confirm built-in Git extension is enabled.
- Ensure you're in a folder/workspace with a Git repository.
npm install
npm run compile
npm testUseful scripts:
npm run compile– typecheck + lint + bundle.npm run watch– watch TypeScript and bundle rebuilds.npm run package– production bundle.npm run test– run extension tests.
Run extension locally:
- Open this project in VS Code.
- Press
F5to launch an Extension Development Host. - Open a Git repo in the new window and use PullerBear.
npx vsce packageFor Marketplace publishing, set a publisher in package.json, authenticate with vsce, and run npx vsce publish.
- Summary quality depends on diff quality and AI response consistency.
- Large/high-frequency repos may hit threshold stops by design.
- Network/API outages will fall back to non-AI status messaging.
If you find issues or want feature enhancements, open an issue in the project repository.