AI-powered GitHub Action that generates intelligent PR summaries and risk assessments directly from code diffs
lazyPR is an AI-powered GitHub Action that rescues your repository from “lazy” documentation. Unlike most AI summarizers that only look at commit messages, lazyPR analyzes the actual code changes to generate comprehensive, context-aware PR summaries.
Most development teams face a common set of challenges with pull requests:
These problems compound as teams grow. A reviewer might spend 10-15 minutes just understanding what a PR does before they can actually review the code quality.
lazyPR analyzes the actual diff content using multiple AI providers (OpenAI, Anthropic, or Gemini) to generate context-aware summaries. It doesn’t just parrot commit messages—it understands the code changes.
This feature compares commit messages against the actual code changes in those commits. If someone writes “fixed authentication” but the diff shows they actually changed database schemas, lazyPR flags it as a potential ghost commit.
Every PR gets an impact score (0-100) and a risk label:
Unlike some services that charge per PR, lazyPR uses your own API keys. You have full control over costs and can choose which AI provider works best for your needs.
lazyPR is built as a Bun monorepo with three main packages:
apps/github-action: The entry point that integrates with GitHub Actionspackages/core: Diff fetching, sanitization, token management, and ghost detectionpackages/ai-engine: LLM orchestration, prompt engineering, and response parsingThe architecture prioritizes:
Adding lazyPR to your repository takes less than 5 minutes:
# .github/workflows/lazypr.yml
name: lazyPR Summary
on:
pull_request:
types: [opened, synchronize]
jobs:
summarize:
runs-on: ubuntu-latest
steps:
- uses: elvis-ndubuisi/lazypr@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
api_key: ${{ secrets.OPENAI_API_KEY }}
provider: openai
template: default
Batch 1 adds four major features:
Built with TypeScript, Bun, and a lot of coffee.