npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

pullai

v1.1.7

Published

AI-Powered Pull Request Descriptions generator

Readme

🤖 PULLAI - AI-Powered Pull Request Descriptions

GitHub License

PULLAI is a command-line tool that automatically generates descriptive and well-formatted pull request descriptions from Git diffs using AI. Save time and improve your PR documentation with smart, AI-generated content.

🚀 Works with both Node.js and Bun - No complex setup required!

🎬 Demo

437259237-a14e78d5-395d-4d79-848e-40342ac9a7b5 (2)

✨ Features

  • 🔄 Compare any two Git branches
  • 🌐 Generate descriptions in multiple languages (English, Spanish)
  • 📝 Create well-structured Markdown documents
  • 🧠 AI-powered analysis of code changes with multiple AI providers (OpenAI, Deepseek)
  • 🎯 Choose from multiple models for each provider with cost estimation
  • 📋 Multiple templates for different PR description styles (Standard, Concise, Detailed)
  • 💰 Real-time cost estimation before making API calls
  • 🔍 Detailed breakdown of modifications, additions, and deletions

📋 Table of Contents

📦 Installation

Prerequisites

No prerequisites needed! The tool works with both Node.js and Bun out of the box.

  • Node.js (v14+) - Most users already have this
  • Bun (optional) - For faster performance

Using npx (No installation required)

# Run directly with npx
npx pullai

# Or with bunx if you have Bun installed
bunx pullai

Using npm

# Install globally
npm install -g pullai

# Then run
pullai

Using Bun

# Install globally
bun install -g pullai

# Then run
pullai

Development Installation

If you're developing or modifying the tool:

Prerequisites: Bun is required for development (the app is configured to run with Bun)

# Install Bun if you don't have it
curl -fsSL https://bun.sh/install | bash

# Clone the repository
git clone https://github.com/elvisbrevi/pullai.git
cd pullai

# Install dependencies
bun install

# Run in development mode
bun run dev  # or bun app/main.ts

# Build for distribution
bun run build

You'll need to set environment variables for the API keys of the AI providers you want to use:

# For OpenAI
export OPENAI_API_KEY=your-openai-api-key

# For Deepseek
export DEEPSEEK_API_KEY=your-deepseek-api-key

Note: The application directly uses these environment variables, not .env files. Make sure to export them in your terminal session before running the application.

🚀 Usage

Run the tool with:

pullai

Then follow the interactive prompts:

  1. Select the AI provider to use (OpenAI or Deepseek)
  2. Select the model to use (with cost information displayed)
  3. Select the template to use (Standard, Concise, or Detailed)
  4. Select the source branch (branch with changes)
  5. Select the destination branch (branch to merge into)
  6. Choose your preferred language for the output
  7. Enter a name for the output file

Before making the API call, you'll see a cost estimation showing:

  • Selected model
  • Estimated input/output tokens
  • Estimated cost in USD

The generated file will be saved in the ~/.pullai/outputs/ directory in your home folder, making it easily accessible for future reference.

📝 Examples

Example Output

Here's a sample of what a generated PR description might look like:

# Description

This PR introduces a major refactoring of the code structure, improving modularity
by separating AI and Git services into individual modules. The change enhances
maintainability and creates a cleaner architecture.

# Added Files

- app/ai-provider/openai.ts
- app/services/git.ts
- app/types/choice.ts

# Modified Files

- package.json
- app/main.ts

# Deleted Files

- src/main.ts

# Change Details

## app/ai-provider/openai.ts

This new file encapsulates all OpenAI API interactions, implementing a dedicated
function `formatContentWithAI` that handles PR description generation with
multilingual support.

## app/services/git.ts

This module contains all Git-related functionality, including methods to retrieve
branch differences and parse Git diffs. It implements proper error handling and
excludes irrelevant files from processing.

⚙️ Configuration

Ignored Files

PULLAI automatically ignores certain files when analyzing diffs:

const ignoredFiles = [
  "node_modules",
  ".idea/",
  ".lock",
  ".env",
  ".npmrc",
  ".gitignore",
  "package-lock.json",
];

You can modify this list in app/services/git.ts to customize which files to exclude.

File Locations

When PULLAI is installed, it creates the following directories in your home folder:

  • ~/.pullai/templates/ - Contains your custom templates
  • ~/.pullai/outputs/ - Contains your generated PR descriptions

These directories are created automatically the first time you run the application. The default templates are copied to your templates directory, allowing you to customize them without affecting the original installation.

Custom Templates

PULLAI supports custom templates for PR descriptions. You can create your own templates by adding markdown files to the ~/.pullai/templates/ directory.

To create a custom template:

  1. Create a markdown file (e.g., my-template.md) in the ~/.pullai/templates/ directory
  2. Use the following placeholders in your template:
    • {{language}}: Will be replaced with "English" or "Spanish" based on the selected language
    • {{diff}}: Will be replaced with the Git diff content

Example custom template:

# PR Summary for {{language}} Review

## Overview

This PR makes the following changes:

{{diff}}

## Checklist

- [ ] Code follows the style guidelines
- [ ] Documentation has been updated
- [ ] Tests have been added/updated

When you run PULLAI, your custom templates will appear in the template selection menu alongside the built-in templates.

AI Models

PULLAI supports multiple models from each provider with transparent pricing:

OpenAI Models:

  • gpt-5 - Latest state-of-the-art model with advanced reasoning ($1.25/$10.00 per 1M tokens)
  • gpt-5-mini - Efficient GPT-5 variant optimized for cost/performance balance ($0.25/$2.00 per 1M tokens)
  • gpt-5-nano - Ultra-efficient GPT-5 for high-volume, cost-sensitive applications ($0.05/$0.40 per 1M tokens)
  • gpt-4o - Multimodal model with excellent performance ($5.00/$15.00 per 1M tokens)
  • gpt-4o-mini - Most cost-efficient small model, 60% cheaper than GPT-3.5 Turbo ($0.15/$0.60 per 1M tokens)
  • gpt-4-turbo - Previous generation high-intelligence ($10.00/$30.00 per 1M tokens)
  • gpt-3.5-turbo - Fast and inexpensive ($0.50/$1.50 per 1M tokens)

Deepseek Models:

  • deepseek-reasoner - Advanced reasoning with step-by-step thinking ($0.55/$2.19 per 1M tokens)
  • deepseek-chat - General-purpose conversational model ($0.14/$0.28 per 1M tokens)

Cost estimation is provided before each API call, helping you make informed decisions about model selection.

📄 License

MIT


Made with ❤️ using OpenAI, Deepseek, Bun, and Inquirer.js