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

pi-readseek

v0.9.9

Published

Pi extension for LINE:HASH-anchored file operations and structural code navigation

Readme

pi-readseek

pi-readseek adds ReadSeek's anchored file operations, structural search, symbol navigation, and document tools to Pi. Built-ins remain available unless overrideTools maps read, edit, write, or grep to a ReadSeek-backed implementation.

Install

pi install npm:pi-readseek

The package depends on @jarkkojs/readseek, which supplies the native binary on supported platforms.

Tools

| Tool | Purpose | | ----------------- | ----------------------------------------------------------------------------- | | readSeek_edit | Apply hash-verified edits to an existing text file | | readSeek_write | Create or replace a complete text file and return anchors | | readSeek_grep | Search text or regex and return edit-ready anchors | | readSeek_search | Search AST patterns | | readSeek_def | Find symbol definitions | | readSeek_refs | Find identifier usages, optionally scoped to a cursor binding | | readSeek_rename | Rename a cursor symbol; set apply: false to preview the plan | | readSeek_digest | Native digest envelope: map, diagnostics, identity, content, metadata | | readSeek_view | View or narrow a structural document index (PDF first); optional asset vision |

The extension also tells Pi to get fresh anchors before editing and to run readSeek_digest with diagnostics after source edits.

Settings

Add a readseek object to ~/.pi/agent/settings.json (global) or .pi/settings.json (project). Project settings override matching global values. Defaults:

{
  "readseek": {
    "overrideTools": [],
    "imageMode": "auto",
    "syntaxValidation": "warn",
    "timeoutMs": 120000,
    "grep": {
      "maxLines": 2000,
      "maxBytes": 51200
    },
    "display": {
      "read": "compact",
      "grep": "compact",
      "edit": "expanded",
      "write": "expanded"
    }
  }
}
  • overrideTools: any of "read", "edit", "write", and "grep".
  • imageMode: "auto" uses Pi's native image input when available, "on" always runs local analysis, and "off" skips standalone images. Image modes are all, ocr, caption, and objects; in "auto", none returns a prepared image without local analysis. Documents use readSeek_view with optional visionMode and visionLevel. Local analysis uses Qwen3-VL-2B-Instruct.
  • syntaxValidation: "warn" (write and warn), "block" (abort), or "off". Validation triggers only when an edit increases parser error or missing-node counts.
  • timeoutMs: native command timeout in milliseconds.
  • grep.maxLines and grep.maxBytes: output limits; larger values are clamped to the defaults.
  • display: initial "compact" or "expanded" state for read, grep, edit, and write results.

Development

npm install
npm test
npm run typecheck

License

pi-readseek is Apache-2.0; see LICENSE. @jarkkojs/readseek is licensed separately under Apache-2.0 AND LGPL-2.1-or-later.