lazyPR

Active

AI-powered GitHub Action that generates intelligent PR summaries and risk assessments directly from code diffs

Overview

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.

The Problem

Most development teams face a common set of challenges with pull requests:

  • Vague descriptions that force reviewers to manually inspect diffs
  • Ghost commits where code doesn’t match the commit message claims
  • No risk assessment to help prioritize which PRs need the most scrutiny
  • Inconsistent documentation across different team members

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.

How lazyPR Solves This

1. Intelligent Summaries

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.

2. Ghost Commit Detection

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.

3. Automatic Risk Assessment

Every PR gets an impact score (0-100) and a risk label:

  • Low Risk: Minor changes, documentation updates
  • Medium Risk: Feature additions, refactoring
  • High Risk: Database changes, auth modifications, critical bug fixes

4. Bring Your Own Key

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.

Technical Architecture

lazyPR is built as a Bun monorepo with three main packages:

  • apps/github-action: The entry point that integrates with GitHub Actions
  • packages/core: Diff fetching, sanitization, token management, and ghost detection
  • packages/ai-engine: LLM orchestration, prompt engineering, and response parsing

The architecture prioritizes:

  • Speed: Quick analysis even for large PRs
  • Accuracy: Multiple providers for redundancy and best results
  • Privacy: Your code stays in your infrastructure
  • Flexibility: Configurable templates and custom prompts

Getting Started

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

New in v1.2.0

Batch 1 adds four major features:

Documentation


Built with TypeScript, Bun, and a lot of coffee.

Tech Stack

TypeScript Bun GitHub Actions OpenAI API Anthropic API