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

atheist

v0.0.10

Published

Ports your Agent sessions between harnesses.

Downloads

1,178

Readme

Atheist

TUI for humans, and CLI is for agents.

Ports your sessions between Claude Code, Codex, and OpenCode. I can port for more harnesses if anyone cares...

Why

Vendor lock-in; your work shouldn't be hostage.

Atheist ports in any direction between harnesses. It discovers every session on your machine, previews them, lets you pick, and re-runs are idempotent - nothing ever duplicates.

AutoSync - every harness current, all the time could be a goal.

Install

npm i -g atheist         # CLI (or one-off: npx atheist)
bunx --bun atheist tui   # the TUI needs the Bun runtime

Use

atheist       # cli for agents
atheist tui   # tui for humans

The CLI is built for agents and scripts: stdout is exactly one JSON document (result or structured error), progress streams to stderr as JSONL, exit codes are a contract (0 success, 1 operation failed, 2 usage error). atheist --help is the full self-describing manual, honest v1 fidelity limits included.

atheist detect                                 # which harnesses exist here?
atheist list --from claude-code                # ids, titles, sizes, ported-status
atheist port --from claude-code --to codex --id <sid>
atheist port --from claude-code --to opencode --all
atheist audit                                  # validate old ledger claims, read-only
atheist update                                 # check npm and update this installation

Fidelity

The vocabulary used throughout the product is:

  • project — one canonical working directory (cwd)
  • session — one harness session and the unit Atheist ports
  • message — one retained text unit authored by the user or agent
  • turn — one explicitly bounded interaction episode containing any number of messages; a full turn includes both user and agent participation, while open, closed, interrupted, and failed describe lifecycle independently

v1 carries text session messages only. Every successful port preserves the exact ordered (role, text) sequence, including whitespace and newlines, and is read back from the destination's native durable store before the central ledger records success. Tool calls, tool results, thinking, files, and attachments are excluded and counted rather than silently represented as text.

Codex-native turn membership and lifecycle are preserved. Claude Code and OpenCode currently expose no verified turn boundary in their supported durable formats, so Atheist records their turn structure as unknown instead of deriving boundaries from message roles or adjacency.

cwd is preserved. OpenCode preserves native titles; Claude Code and Codex derive their displayed title because their durable session formats do not provide a portable exact-title field. Destination timestamps may be derived to preserve message order, while original OpenCode-bound timestamps are retained in provenance.

Ledger entries created before native validation are not trusted automatically. atheist audit checks them without writing either store or the ledger and reports an explicit port --force command for any record the user chooses to repair.

Telemetry

Your sessions never leave your machine — imports and exports are pure local file I/O. Atheist sends anonymous usage counters (command run, harness pair and outcome counts, wizard step reached, message totals, version, OS/arch, runtime, which harnesses are installed, coarse project/session totals, a random machine id). IP geolocation is disabled. Never sent: session content, file paths, project names, usernames, session ids.

Opt out with either:

export ATHEIST_TELEMETRY=0   # or the ecosystem-wide DO_NOT_TRACK=1

Payloads are whitelisted in src/core/telemetry.ts — that file is the complete list of what can ever be sent.

Updates

The TUI checks npm at most once every 24 hours for the latest published version and displays an update action beside its current version when one is available. The request contains no session data. Disable automatic checks with:

export ATHEIST_UPDATE_CHECK=0   # DO_NOT_TRACK=1 also disables them

Run atheist update at any time to check explicitly. Source checkouts and global npm installations update automatically; other installation channels return the exact command to run.