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-fallow

v0.1.0

Published

Pi coding agent extension for Fallow codebase intelligence.

Readme

Pi Fallow extension

A Pi coding-agent extension that exposes Fallow as an LLM-callable tool.

Fallow docs analysis

Fetched Fallow's docs index plus the LLM bundle (/llms.txt, /llms-full.txt). Key points for a Pi integration:

  • Fallow is codebase intelligence for TypeScript/JavaScript.
  • The free static layer covers dead code, unused exports/files/dependencies/types, duplication, complexity/health, architecture boundaries, feature flags, and auto-fix.
  • The optional runtime layer adds hot/cold path and runtime-backed deletion evidence.
  • The docs explicitly recommend agents use --format json for structured output.
  • The MCP tools are thin wrappers around CLI commands, so a Pi extension can get equivalent value by wrapping the CLI safely.
  • Useful agent commands map to: fallow, dead-code, dupes, health, audit, fix --dry-run, fix --yes, list, traces, and coverage analyze.
  • Fallow exit code 1 means issues/gate failure, not tool execution failure; only 2+ should be treated as command errors.

What this extension adds

  • LLM tool: fallow_run
  • Slash command: /fallow ... with autocomplete for Fallow commands and common flags (type /fallow and press Tab to pick a subcommand). Branch refs for --base/--changed-since are populated from the current repo when possible.
  • Command shortcuts: /fallow pr maps to audit with detected base ref and new-only gate default; /fallow rerun re-runs the previous slash command.
  • Automatic JSON + quiet output for modeled tool calls
  • Uses FALLOW_BIN if set, otherwise fallow from PATH, falling back to npx -y fallow
  • Truncates large output to Pi's default limits and saves full JSON to a temp file
  • Compact TUI rendering with expandable command/summary details
  • Interactive bordered issue navigator for /fallow ...: arrow keys or j/k move, Enter/Space expands the selected finding, s selects/unselects, e/a loads selected findings into the editor so you can add comments before submitting, t runs trace-file for the selected finding when possible, and q/Esc closes. The regular Pi transcript only gets a compact summary while details live in the navigator.

File layout

  • .fallowrc.json — Fallow entry-point and component callback configuration for local health/dead-code checks
  • extensions/index.ts — extension entrypoint and Pi registration (shimmed via extensions/fallow.ts for compatibility)
  • extensions/fallow/schema.ts — tool parameter schema
  • extensions/fallow/autocomplete.ts/fallow command and flag autocomplete
  • extensions/fallow/cli.ts — CLI argument building and process execution
  • extensions/fallow/output.ts — JSON parsing, summaries, truncation
  • extensions/fallow/overview.ts — maps Fallow JSON to overview data
  • extensions/fallow/ui.ts — pi-tui overview component
  • extensions/fallow/project/ — Fallow project/git status detection and rendering helpers
  • extensions/fallow/pr-summary/ — PR gate summary extraction and rendering helpers
  • extensions/fallow/engine.ts — unified command execution + formatting pipeline
  • extensions/fallow/summary/ — shared summary formatting/rendering helpers
  • extensions/fallow/types.ts — shared types

Install / test

Install this repository as a Pi package:

# Global install for your user
pi install .

# Or project-local install, written to .pi/settings.json
pi install -l .

Try it for one Pi run without installing:

pi -e .

Install from git:

pi install git:github.com/revazi/pi-fallow

After publishing to npm, install with:

pi install npm:pi-fallow

package.json declares the Pi package entrypoint:

{
  "keywords": ["pi-package", "pi-extension"],
  "pi": {
    "extensions": ["./extensions/index.ts"]
  }
}

Publishing to the Pi package gallery

Pi's package gallery discovers npm packages tagged with the pi-package keyword. This package is set up for that flow:

  1. Pick and add a license before publishing if you want the package to be open source.

  2. Verify the npm tarball contents:

    npm run pack:check
  3. Publish to npm:

    npm publish --access public
  4. Install the published package in Pi:

    pi install npm:pi-fallow

After npm publishing, the Pi gallery should pick it up from the pi-package keyword. To add a gallery preview, add a public MP4 pi.video or PNG/JPEG/GIF/WebP pi.image URL in the pi manifest.

License

MIT © Revaz Zakalashvili

Examples

Ask Pi:

  • "Run a Fallow audit for this PR and fix any introduced dead code."
  • "Use Fallow to find duplicate code, then trace the largest clone group before refactoring."
  • "Run Fallow health with file scores and targets; propose the safest low-effort refactor."
  • "Preview Fallow auto-fixes, then apply the safe ones."

Or run manually in Pi:

/fallow all
/fallow pr
/fallow pr --base develop --gate all
/fallow rerun
/fallow audit --base main --gate new-only
/fallow audit --base origin/main --gate new-only
/fallow check-changed --changed-since main
/fallow dead-code --changed-since main
/fallow dupes --changed-since main
/fallow health --changed-since main
/fallow trace-file extensions/fallow/ui.ts
/fallow health --file-scores --targets --score --format json --quiet