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

graftai

v0.3.0

Published

AI-powered git workflow — commit messages and PR descriptions that actually make sense

Readme

graft

AI-powered git workflow — commit messages, PR descriptions, code review, and merge conflict resolution.

The problem

You finished the implementation. Now comes the annoying part: writing a meaningful commit message, crafting a PR description that explains what changed and why, dealing with merge conflicts. Graft handles that for you.

What it does

  • graft commit — stages, reviews, and commits with an AI-generated message
  • graft pr — generates a PR title and description from your branch commits
  • graft sync — syncs with the base branch and resolves merge conflicts with AI
  • graft review — reviews your diff for bugs, security issues, and logic errors
  • graft ignore <pattern> — exclude files or folders from diff analysis
  • graft config — configure your AI provider, model, language, and API key

Install

npm install -g graftai

Setup

graft config

You'll be prompted to choose a provider, model, language, and paste your API key. Supported providers:

| Provider | Models | |---|---| | OpenAI | gpt-4o-mini, gpt-4o, gpt-4.1-mini, gpt-4.1 | | Anthropic | claude-haiku, claude-sonnet, claude-opus | | Google | gemini-2.0-flash, gemini-2.5-pro | | Groq | llama-3.3-70b, llama-3.1-8b, mixtral-8x7b |

Config is saved to ~/.graft/config.json. You can also use environment variables:

GRAFT_PROVIDER=openai
GRAFT_MODEL=gpt-4o-mini
GRAFT_API_KEY=sk-...
GRAFT_LANGUAGE=English

Usage

Commit

graft commit

If nothing is staged, graft lists the changed files and asks to stage them. Then it reviews the diff for issues and generates a commit message for you to approve or edit.

If critical issues are found during review, you'll be warned before committing.

Pull Request

After pushing your branch:

graft pr

Graft reads your commit history, generates a title and description, and opens the PR via GitHub CLI if available. Otherwise it prints the description for you to copy.

To compare against a different base branch:

graft pr --base develop

Sync

When your branch has diverged from main:

graft sync

Graft detects whether to use merge or rebase, runs it, and resolves conflicts file by file with AI — showing the proposed resolution and explanation before applying.

To sync against a different base branch:

graft sync --base develop

Review

graft review

Analyzes your diff and reports issues in three levels:

  • ● CRITICAL — bugs, security vulnerabilities, exposed secrets
  • ▲ WARNING — missing error handling, logic problems
  • ◆ SUGGESTION — obvious quality improvements

Review also runs automatically inside graft commit.

Ignore

Exclude files or patterns from all diff analysis:

graft ignore "*.generated.ts"
graft ignore "src/migrations/"

Patterns are saved to .graftignore in your project root. Supports * and ? wildcards.

How it works

Graft sends your git diff or commit log to the configured AI model. Lock files, build artifacts, and .graftignore patterns are automatically excluded from the diff.

License

MIT