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

@crosmos/codex

v0.1.2

Published

automatic, invisible memory for the openai codex cli, powered by crosmos.

Downloads

56

Readme

@crosmos/codex

npm version

You don't manage memory. You use codex normally — relevant context is recalled before each prompt, and your sessions are saved automatically. Nothing to remember, nothing to type.

Requirements

  • Node 18+ (you already have it if you can run npx).
  • A crosmos api key (csk_…) from console.crosmos.dev.

Install

npx @crosmos/codex install

The installer asks for your api key (or reuses ~/.crosmos/credentials.json if you've set up crosmos before), registers the hooks, and installs the crosmos-save skill. Then run /hooks inside codex once to approve — and you're done.

Run it with npx, not a global install — the package's bin is named codex, and a global install would shadow the OpenAI Codex CLI.

What the installer writes

No magic. It's a plain script that writes a handful of files you can inspect — and npx @crosmos/codex uninstall reverts every one of them. Existing files are backed up before they're touched, and it never edits ~/.codex/config.toml.

| path | what it is | | --- | --- | | ~/.codex/hooks.json | registers three codex hooks (see below). Your other hooks are preserved. | | ~/.codex/crosmos/cli.mjs | the bundled plugin script the hooks run. | | ~/.codex/skills/crosmos-save/SKILL.md | the /crosmos-save skill — a readable markdown file. | | ~/.crosmos/credentials.json | your api key, saved locally (only if you enter one at install). |

The three hooks are the whole mechanism — each just runs the bundled script on a codex lifecycle event:

| hook | runs on | does | | --- | --- | --- | | UserPromptSubmit | before each prompt | recalls relevant memories | | Stop | end of a turn | captures the conversation | | PreCompact | before context is compacted | captures before anything is lost |

The skill file is just an instruction telling codex it can save a note when you ask — open it and read it. Secrets are redacted before anything leaves your machine, and the hooks fail open, so memory being unavailable never blocks your codex session.

How it works

  • Recall — before each prompt, the most relevant memories for your project are pulled in silently.
  • Capture — as a session progresses and when it ends or compacts, the conversation is saved to crosmos.
  • /crosmos-save — optional. Ask codex to save a specific note when you want to be explicit.

Everything runs in-process via the crosmos sdk and fails open: if memory is ever unavailable, your codex session is never blocked.

Commands

npx @crosmos/codex status      # show key, space, and hook registration
npx @crosmos/codex uninstall   # remove hooks + skill (memories are kept)

Configuration

Set via environment variables or the optional file ~/.codex/crosmos.json. Precedence is env > file > defaults.

| env | purpose | | --- | --- | | CROSMOS_API_KEY | api key (overrides the credentials file) | | CROSMOS_API_BASE_URL | api base url (default https://api.crosmos.dev) | | CROSMOS_SPACE_ID / CROSMOS_SPACE_NAME | pin a memory space | | CROSMOS_RECALL_LIMIT | max memories injected per prompt (default 5) | | CROSMOS_RECALL_MODE | auto (default), always, or off | | CROSMOS_CAPTURE_TURNS | meaningful turns to batch before capturing (default 3; 0 disables) | | CROSMOS_DEBUG | write a debug log to /tmp/crosmos-codex-<session>.log |

The ~/.codex/crosmos.json file accepts the same settings as keys:

{
  "spaceId": "…",
  "spaceName": "…",
  "baseUrl": "https://api.crosmos.dev",
  "recallLimit": 5,
  "recallMode": "auto",
  "captureTurns": 3,
  "debug": false
}

Development

npm install
npm run build      # esbuild → dist/cli.mjs (single node-runnable file)
npm test           # node --test
npm run lint       # biome

See ROADMAP.md for what's shipped in v0 and what's planned next.

Contributing

Contributions are welcome — see CONTRIBUTING.md to get started.

License

MIT.