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

codeglow

v1.0.0

Published

Opens a live, interactive architecture design canvas for a repo in your browser, built straight from the source code. No model call, no API key.

Readme

codeglow

A live, interactive architecture canvas for a repo, in your browser - built straight from the real source code and filesystem. Point it at any repo and get a diagram of every file, colored by folder and connected by its real imports and calls, that keeps updating as the repo changes while you leave the tab open - nodes glow the moment a file is added, edited, or deleted.

No model call, no API key, ever - everything is extracted with plain parsing and runs fully offline once your code is on disk.

Install

npm install -g codeglow

Or run it once without installing:

npx codeglow

Requirements: Node.js 18 or newer. git on your PATH too, but only if you point codeglow at a GitHub URL instead of a local folder.

To build from source instead:

git clone <this-repo-url>
cd codeglow
npm install
npm run build:all      # builds the CLI and the canvas frontend
npm link                # makes the `codeglow` command available globally

Quick start

codeglow

Opens the design canvas for the current directory in your browser: every file gets its own box, laid out by its real imports and calls. That's the whole tool - one command, one thing it does.

codeglow ../some/other/repo            Open it for a local path
codeglow https://github.com/you/repo   Open it for a public GitHub repo (shallow-cloned to a temp folder)
codeglow design [path]                 Same thing, explicit form
codeglow design [path] --no-open       Print the URL instead of popping a system browser window

What it does

  • Every file is a box, positioned by its real imports/calls, colored by folder. External systems it recognizes (a database driver, Stripe, a queue library, etc.) get their own box too.
  • Click a file to see its real exported functions and their real parameters ("what this component expects"), and to trace its direct connections - everything else dims so a busy, real repo's graph doesn't have to be parsed by eye.
  • It's live, not a snapshot. Leave the tab open and edit a file (yourself, or an AI coding agent working in the same repo) - the node glows the moment it's saved: green for a new file, blue for an edit, red for a deletion, fading out after about 15 seconds. A "Live activity" panel (bottom-left) logs every real change with a timestamp, so it's never lost even if you looked away during the glow. A small green dot next to the title shows the live connection is active.
  • Search (top of the canvas) finds any file by name or path as you type - picking a result pans/zooms to it and traces its connections, same as clicking it directly. On a repo with hundreds of files, this is the practical way to find something.
  • Download PNG exports the complete canvas as a high-resolution image (supersampled 2x, not a 1:1 screen grab) - every component, not just whatever's currently panned/zoomed into view.
  • Drag to rearrange, connect two existing nodes by dragging from a node's edge, scroll/pinch to zoom.

No configuration - this is everything, on by default, the moment you run codeglow.

Supported languages

Parsing is regex-based per language, not a real parser or language server - fast, dependency-free, and works without installing a single toolchain for any of these, but an unusual import or route style in a less common framework may not be picked up.

File types read for imports, definitions, and (where relevant) routes:

JavaScript/TypeScript (.js .jsx .ts .tsx .mjs .cjs), Python (.py), Go (.go), Ruby (.rb), Java (.java), PHP (.php), Rust (.rs), Swift (.swift), Kotlin (.kt), C/C++ (.c .cc .cpp .h), C# (.cs), Vue (.vue), Svelte (.svelte).

Every one of these gets real import-graph edges (which file depends on which). Route and outgoing-HTTP-call detection - the extra edges connecting a frontend call to the exact backend handler it hits - is pattern-based and strongest for a few common conventions: Express/Flask/FastAPI-style inline routes (app.get(...), @app.route(...)), Go's Gin-style router calls, and outgoing calls via axios/fetch/Python's requests/httpx. A repo using a different routing convention still gets its full file/import graph - it just won't show those extra call-to-route arrows.

Also read for project structure, not parsed for code: package.json, docker-compose.yml/.yaml, Dockerfile, requirements.txt, go.mod, Gemfile, Cargo.toml, pom.xml.

node_modules, dist, build, vendor, venv, and similar dependency/output directories are always skipped.

Notes

  • Everything is local and offline. No model call, no API key, anywhere in this tool.
  • Output is a live local web server (Express) on localhost, serving only to your own browser - nothing about your code leaves your machine, except the one-time git clone if you point codeglow at a GitHub URL instead of a local path.

License

MIT - see LICENSE.