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

@mesadev/agentblame

v3.1.12

Published

CLI to track AI-generated vs human-written code

Readme

Agent Blame CLI

Know what the AI wrote. Focus your code reviews where it matters.

npm version License

Track AI-generated vs human-written code in your Git history. Works with Cursor, Claude Code, and OpenCode.

Prerequisites

  • Bun runtime (required for hooks)
  • Git 2.25+
  • Cursor, Claude Code, or OpenCode
# Install Bun if you haven't already
curl -fsSL https://bun.sh/install | bash

Quick Start

1. One-Time Machine Setup

Run this once on your machine to create the local database and the ab shorthand:

bunx @mesadev/agentblame@latest setup

After setup, restart your terminal. You can now use ab instead of bunx @mesadev/agentblame@latest for all commands.

2. Repository Setup

In each git repository you want to track:

ab init

This sets up everything automatically:

  • Editor hooks for Cursor, Claude Code, and OpenCode
  • Git post-commit hook for attribution capture
  • GitHub Actions workflow for squash/merge support

Important: Restart your editor after running ab init.

3. View Attribution

Make AI edits, commit, then view attribution:

ab blame src/auth.ts

Example output:

  src/auth.ts
  ──────────────────────────────────────────────────────────────────────
  Prompts:
  [P1] Cursor (gpt-5.2-codex)
       "Add a new file hello_world.py in python and add two print st..."
       Tools: edit: 1
  ──────────────────────────────────────────────────────────────────────
  7bdf773 Murali Varad 2026-02-03 │ P1 │ 1 │ print("Hello, World1")
  7bdf773 Murali Varad 2026-02-03 │ P1 │ 2 │ print("Hello, World2")
  ──────────────────────────────────────────────────────────────────────
  ████████████████████████████████████████
  AI: 2 lines (100%)  │  Human: 0 lines (0%)

CLI Reference

First run: bunx @mesadev/agentblame@latest setup — this creates the database and adds the ab shell alias. After restarting your terminal, use ab for all commands below.

| Command | Description | |---------|-------------| | bunx @mesadev/agentblame@latest setup | One-time machine setup (creates database + ab alias) | | ab init | Set up hooks and GitHub Actions workflow for a repo | | ab status | Show tracking stats for current repo | | ab blame <file> | Show AI attribution for a file | | ab sync | Transfer notes after squash/rebase | | ab config | Show/set configuration | | ab debug | Show detailed debug info |

Configuration

# Show current config
ab config

# Disable prompt content storage (enabled by default)
ab config set storePromptContent false

How It Works

┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│  Cursor/Claude  │────▶│   Git Hooks     │────▶│    Database     │
│   Code edits    │     │  capture edits  │     │  stores pending │
└─────────────────┘     └─────────────────┘     └─────────────────┘
                                                        │
                                                        ▼
┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│  CLI/Extension  │◀────│   Git Notes     │◀────│  Git Commit     │
│  show markers   │     │  store metadata │     │  triggers match │
└─────────────────┘     └─────────────────┘     └─────────────────┘
  1. Hooks intercept edits from AI coding tools
  2. Database stores pending attributions with content hashes
  3. Commit triggers matching of committed lines to pending edits
  4. Git Notes attach attribution metadata to commits
  5. CLI/Extension read notes to display markers

Troubleshooting

| Problem | Solution | |---------|----------| | Database not found | Run bunx @mesadev/agentblame@latest setup once on your machine | | Hooks not capturing | Restart your editor; run ab debug to check status | | Notes not on GitHub | Run git push origin refs/notes/agentblame | | Squash merge lost attribution | Ensure workflow is committed; run ab sync locally | | Bun not found | Install Bun: curl -fsSL https://bun.sh/install \| bash |

Browser Extensions

See AI attribution directly on GitHub PRs:

More Information

For full documentation, contributing guidelines, and source code, visit the GitHub repository.

License

Apache 2.0