Why I built it
I kept opening pull requests and typing “fix bug” into the title. Everything needed for a proper description was already in the diff, just not in readable form.
What it does
- Adds a Generate button to GitHub’s pull request create and edit pages
- Reads the commits and diff, then streams a structured title and description you can edit before applying
- Works with Google Gemini, OpenAI, Anthropic or a local Ollama model
- Glob patterns to keep lockfiles and environment files out of what gets sent
How it’s built
A TypeScript Chrome extension with only the storage and activeTab permissions, a strict Content Security Policy, and no innerHTML anywhere.
The hard part
Trust. An extension that holds AI API keys and reads code diffs is an attractive target, so it asks for the minimum permissions, keeps keys out of plain text, and supports Ollama for code that can’t leave the machine.
Stack
TypeScriptChrome ExtensionGeminiOpenAIAnthropicOllama