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

tracist

v0.0.95

Published

Upload and continuously stream local AI coding transcripts to Tracist

Readme

Tracist

Tracist uploads local Claude, Codex, Copilot CLI, Cursor, Devin, Gemini, Grok, Hermes, Kimi, Muse, OpenClaw, OpenCode, Pi, and Antigravity session transcripts to tracist.dev.

Run it without installing anything globally:

npx tracist

The CLI first lists detected sessions related to the current working directory. It then suggests a directory to sync: press Enter to accept it, or enter another path to override it. When launched inside a Git worktree, the default is the nearest containing repository root and includes sessions recorded anywhere beneath it. Outside a Git worktree, the default is the current directory.

After the directory is confirmed, Tracist validates the saved authentication. On first use—or when the saved token has expired—it offers to open a short-lived GitHub sign-in URL in the browser, with the URL shown for manual use as well. After authentication the browser opens the main Tracist app with a syncing welcome screen while sessions begin appearing in the sidebar. Use npx tracist install separately when an all-directory background daemon is preferred.

The foreground watcher stays running until interrupted and prints the URL of each newly updated session. Consecutive duplicate URLs are suppressed.

Queued Grok, Kimi, OpenClaw, OpenCode, Devin, Copilot CLI, and ACP-native Hermes work is driven through one persistent Agent Client Protocol runtime. It streams reasoning, tool calls, and answer deltas immediately, uses replay-free resume when the harness exposes it, and reconciles those live events with each harness's native disk transcript.

Queued Claude work uses one bidirectional stream-JSON process per session. The process stays warm across turns, accepts interrupts over its control channel, and keeps a turn active while Claude reports background shell, Monitor, or subagent tasks as outstanding.

Muse work uses its dependency-free muse exec --json NDJSON boundary and the matching date-sharded session.jsonl log. Tracist resumes the exact Muse session UUID, streams answer and tool activity, and reconciles those events with the richer persisted reasoning/tool records by stable run and call IDs.

The server advertises its minimum supported tracist package version during authentication and machine WebSocket handshakes. An outdated foreground CLI stops with an explicit npx tracist@latest upgrade instruction. An installed daemon downloads the latest package, replaces its private runtime atomically, and lets systemd or launchd restart it (with a direct restart on Windows).

On normal startup, the CLI also lists the ten most recently modified agent sessions within the selected repository or current-directory scope. Sessions recorded in a successful uploader checkpoint display a checkmark and their existing Tracist URL; sessions that have not been uploaded are marked as such. Each entry uses its reconstructed Tracist title and model metadata.

If the background daemon is already running, npx tracist and npx tracist upload subscribe to that process over a private local socket instead of starting a second transcript scanner. The CLI replays recently updated sessions for the current working directory and then follows new ones.

The equivalent non-interactive commands are:

npx tracist upload
npx tracist install
npx tracist status
npx tracist uninstall
npx tracist logout

The daemon is installed as a user service: systemd on Linux, a LaunchAgent on macOS, or a per-user scheduled task on Windows. Uninstalling removes the service and its copied runtime while retaining authentication and transcript state.

Credentials are stored with user-only permissions in the operating system's normal application configuration directory. TRACIST_ORIGIN can point the CLI at another compatible deployment.

Reducer corpus backtests

Maintainers can archive every raw transcript segment and append-only live tape from the production R2 bucket, then replay the canonical Worker/browser reducers and invariants locally:

npm run trace:corpus -- all

The command uses the current Wrangler login through an ephemeral, token-protected remote-development Worker bound to localhost. It does not add a production export route. Data, the ETag manifest, and report.json are written to the gitignored .tracist-r2/ directory. Repeated downloads reuse unchanged objects; download, replay, --session <id>, --output <directory>, and --concurrency <n> can be used independently.