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

codex-switcher

v1.2.0

Published

Codex Switcher wraps the official `codex` CLI so you can hop between multiple authenticated contexts without touching your real config files. It keeps a dedicated copy of each profile's `auth.json` under `~/.codex_accounts/<profile>.auth.json` and uses a

Readme

Codex Switcher

Codex Switcher wraps the official codex CLI so you can hop between multiple authenticated contexts without touching your real config files. It keeps a dedicated copy of each profile's auth.json under ~/.codex_accounts/<profile>.auth.json and uses a small TUI to keep track of what's active before delegating every command to the real Codex binary.

Features

  • Zero-config TUI (ccx) for adding, renaming, deleting, and activating Codex profiles.
  • Runs the upstream codex command with CODEX_HOME automatically set to the active profile.
  • Friendly status banners that show which account is live and whether it is authenticated.
  • Displays plan and rate-limit usage (when the stored auth.json includes access_token and account_id).
  • Caches usage data for 15 minutes across every profile, staggering API calls to stay polite, and offers a one-click cache invalidation in the TUI.
  • Safe defaults: stores its own state in ~/.codex_switcher/accounts.json, swaps auth.json snapshots in and out of ~/.codex_switcher/shared_codex_home, and never touches the original Codex files.

Installation

  1. Ensure Node.js 18+ and the official codex CLI are on your PATH.
  2. Install from npm (preferred):
    npm install -g codex-switcher
    or clone the repo and npm install && npm link if you want to hack on it locally.
  3. Run ccx to launch the switcher.

Usage

  • ccx with no arguments launches the interactive dashboard. Add a profile, activate it, and optionally rename/delete as needed.
  • ccx <anything> forwards the arguments straight to the real codex binary while keeping the currently active profile's CODEX_HOME.
  • The dashboard shows cached usage for every profile; pick “Invalidate usage cache & refresh” from the menu to clear and refetch immediately.
  • All profile data lives in ~/.codex_accounts as individual auth.json snapshots. Remove a profile in the UI and its saved auth file is deleted for you. The switcher's own metadata sits in ~/.codex_switcher/accounts.json.

Development

  • Install dependencies with npm install, then build the TypeScript sources with npm run build.
  • The CLI entry lives in src/index.ts; bundled output is written to dist/. Use npm link (after building) to test the compiled CLI locally.
  • npm run check runs a type-only compile (tsc --noEmit) and npm run build produces the release artifacts. Include at least npm run build in your manual test notes.
  • Publishing flow: bump the version, run npm run build, and publish with npm publish. The prepublishOnly hook rebuilds automatically before upload.

Contributing

We welcome issues, feature ideas, and pull requests. If you're unsure where to start:

  1. Open a GitHub issue describing the problem or idea.
  2. Fork the repo, create a feature branch, and keep the CLI behavior ergonomic (short prompts, clear messaging).
  3. Add small notes in the PR about manual testing and any new environment variables or files created.

License

Released under the Creative Commons Attribution-NonCommercial 4.0 International license. You may adapt and share the project as long as you credit jason301c and do not use it for commercial purposes.