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

@tanvesh01/pierre-diffs

v0.2.1

Published

Pierre-themed inline diff renderer for Pi edit and write tool results.

Readme

@tanvesh01/pierre-diffs

Pierre-themed inline diff rendering for Pi.

This package replaces Pi's default edit and write result rendering with a Pierre-styled diff block while keeping the rest of Pi's chat UI unchanged.

What It Does

  • Replaces inline edit and write tool result rendering
  • Builds real before/after diffs from file contents
  • Uses @pierre/diffs for diff modeling and highlighting
  • Uses @pierre/theme for Pierre dark/light palettes
  • Keeps Pi's compact inline diff shape instead of switching to a separate full-screen viewer

Install

npm

pi install npm:@tanvesh01/[email protected]

git

pi install git:github.com/tanvesh01/[email protected]

local development

pi --no-extensions -e ./extensions/diff-viewer/index.ts

Behavior

After install, Pi will render edit and write results with:

  • a Pierre-themed title row
  • Pierre-owned full-width diff backgrounds
  • syntax-aware highlighted diff lines when available
  • compact inline context/add/remove rows inside the chat stream

Older sessions created before the full Pierre payload existed continue to render with Pi's original stored tool result UI. Older Pierre-backed sessions can lazily recompute syntax highlighting when they are reopened.

Scope

This package changes only:

  • edit
  • write

Everything else in Pi keeps its normal rendering and behavior.

Compatibility

  • Tested against @mariozechner/pi-coding-agent 0.65.2
  • Built as a Pi package with a pi.extensions manifest
  • Internally patches Pi's ToolExecutionComponent for edit and write so Pi's host success/error/pending background does not show behind the Pierre block

Because this package patches Pi internals for those two tools, future Pi internal UI changes may require updates here.

How It Works

  1. Re-registers Pi's built-in edit and write tools
  2. Delegates actual file mutation to Pi's original tool implementations
  3. Captures file contents before and after the tool runs
  4. Builds normalized diff metadata with @pierre/diffs
  5. Precomputes Pierre-highlighted diff output for dark and light themes
  6. Renders a Pierre-owned inline tool block inside Pi's chat stream

Development

Install dependencies:

npm install

Type-check the extension:

npx tsc --noEmit --module NodeNext --moduleResolution NodeNext --target ES2022 --esModuleInterop --skipLibCheck extensions/diff-viewer/index.ts

Preview the package contents before publish:

npm pack --dry-run

License

MIT