PR Please
Writing a good PR description is friction I was consistently skipping. I'd open a pull request, look at the blank title field, and type something generic like "fix bug" or "update component." The diff was right there — everything needed to write a proper description already existed, just not in readable form. I built PR Please to close that gap: one click, structured title and description, done.
The extension injects into GitHub's PR creation and edit pages. When you click "Generate," it reads the commit history and diff context, sends it to your configured AI provider, and streams the response back as a preview you can edit before applying. Provider support covers Google Gemini, OpenAI, Anthropic, and local Ollama — each with separate API key storage. Configurable glob patterns let you exclude lockfiles and environment files from the diff before it's sent, both for privacy and to keep the context focused on actual code changes.
Security design took real thought. Chrome extensions have a history of being used to exfiltrate credentials, and an extension that handles AI API keys and reads code diffs is a meaningful attack surface. I used an explicit Content Security Policy, minimal permissions (storage and activeTab only), and avoided innerHTML entirely in favor of safe DOM manipulation APIs. API keys are stored XOR+base64 obfuscated in chrome.storage.local — not encryption, but meaningfully better than plaintext storage and sufficient to prevent casual extraction.
The streaming preview turned out to be the most useful feature. You can watch the description form in real time and stop generation the moment the model misunderstands the change, before applying anything to GitHub's form. Ollama support means it works without sending diffs to external APIs at all, which matters in environments where code can't leave the machine.