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

throughline-ai

v0.1.3

Published

An observer companion for Claude Code: reads your session logs + git diff and maintains a living product doc, decisions ledger, architecture, mockup, and token analytics.

Readme

Throughline

An observer companion for Claude Code. You keep coding in your own terminal; Throughline reads your Claude Code session logs and git diff and quietly maintains a living set of documents about what you're building — so the plan never drifts from the code.

It never writes code or runs your agent. It only observes and documents.

What it gives you

From your real work, Throughline keeps these up to date:

  • Document — a living product doc (overview, goals, requirements, open questions)
  • Decisions — a ledger of the choices made and why
  • Architecture — a developer-facing "how it's built" view, grounded in real files
  • Mockup — a visual of the screens your app actually has
  • History — recent work items, each linked back to its session
  • Analytics — token usage for your coding sessions

You can also chat with the Scribe to ask about or refine any of it, organize your work into Workspaces, and merge them back together.

Prerequisites

Throughline uses the Claude Agent SDK, so it needs Claude access on your machine — either of:

  • Claude Code installed and authenticated (claude logged in), or
  • an ANTHROPIC_API_KEY environment variable.

Plus Node.js >= 20 and a project that is a git repository.

Usage

Run it against the project you're working on — no install required:

npx throughline-ai            # observe the current directory
npx throughline-ai ../my-app  # observe a specific project

Or install it globally:

npm install -g throughline-ai
throughline                                   # in your project directory

It starts a local server and opens the dashboard in your browser. Keep it running while you code in your own terminal; the documents update as you work. Set OPEN=0 to skip auto-opening the browser, or PORT=… to pick a port.

How it works

Throughline watches the Claude Code session JSONL for your project plus the git diff, and runs a map → reduce pass with the Claude Agent SDK to keep each document current. Generated sections cite the real files they came from, and a freshness banner appears when those files change after a rebuild. Everything is stored locally under .throughline/ in your project — nothing is sent anywhere except to Claude.

License

MIT