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

greprag

v5.41.0

Published

GrepRAG — agent memory for Claude Code, Codex, and OpenCode.

Readme

GrepRAG

Agent memory as a service. Episodic project memory for Claude Code, Codex, and OpenCode — captures supported agent turns, compacts into hourly/daily/weekly summaries, and exposes two access patterns: lexical search by topic (greprag memory search "<query>") or a session recap (greprag memory recap). The memory product line is marketed as Odyssey. Also handles cross-project async messaging via inbox.

Quick Start

npm i -g greprag

Then either run /greprag inside a supported agent, or run greprag init in a terminal. Bare greprag init detects Claude Code, Codex, and OpenCode; if more than one is present in a non-interactive shell, it prints the explicit command to use.

Claude Code

Run /greprag in any Claude Code session, or:

greprag init --claude

Codex

Run /greprag in Codex after install, or:

greprag init --codex --tenant-id <your-handle> --install-watcher

Example: greprag init --codex --tenant-id tanya --install-watcher. The handle becomes your public GrepRAG address, such as [email protected].

Codex requires one extra trust step: after init/update, open Codex Desktop Settings -> Settings -> Hooks, trust the 6 GrepRAG hooks, then start a fresh session.

If you did not pass --install-watcher, install the login watcher later:

greprag codex startup install

Run greprag codex doctor to verify the hook file, current Codex thread, and startup watcher. For foreground testing, run:

greprag codex watch --session <8hex-or-full-codex-session-id>

If --session is omitted, GrepRAG uses the latest Codex session. The watcher wakes Codex with codex exec resume when messages arrive.

OpenCode

greprag init --opencode

This installs the memory plugin at ~/.config/opencode/plugins/greprag-memory.js.

All platforms share project identity through .greprag/project.json when a file anchor is needed, or git-derived identity when available. Legacy .claude/project.json anchors still read and migrate on init.

Status check:

greprag status --all-platforms

What's active

  • Memory (episodic project memory, marketed as Odyssey): supported agent turns captured via platform hooks/plugin, compacted into hourly/daily/weekly summaries. Query via greprag memory search "<query>" (lexical retrieval, v5 RRF+adjacency pipeline) or recap / daily / weekly / hourly / turns / ships (by time window). (greprag memory briefing and greprag odyssey ... are silent back-compat aliases.)
  • Memory recap: surfaces recent memory rows through platform hooks or /greprag
  • Inbox: cross-project async messaging between your projects or other GrepRAG users

Commands

| Command | Description | |---------|-------------| | greprag status --all-platforms | Check auth, hooks/plugins, skills, and project anchor | | greprag init | Detect/ask which agent to configure | | greprag init --claude | Configure Claude Code hooks + skill | | greprag init --codex --tenant-id <handle> --install-watcher | Configure Codex hooks + skill + live watcher | | greprag codex watch --session <id> | Live-push inbox messages into Codex | | greprag codex doctor | Diagnose Codex hooks, session id, trust path, and watcher state | | greprag codex startup install | Start the Codex live watcher at login | | greprag init --opencode | Configure OpenCode plugin | | greprag init --global | Global anchor for ephemeral sessions | | greprag doctor | Diagnose project_id drift and orphan consolidation | | greprag memory search "<query>" | Lexical search over the project's memory (v5 RRF+adjacency pipeline) | | greprag memory recap | Weekly + recent daily summaries (SessionStart shape; alias: briefing) | | greprag memory daily --last N | Newest N daily summaries (also: weekly / hourly / turns / ships) | | greprag inbox | List unread messages (auto-marks read) | | greprag inbox --all | Full message history | | greprag send "msg" --to <addr> | Send markdown message across tenants | | greprag project-id | Print current project's UUID |

Requirements

  • Node.js 18+
  • Claude Code, Codex, or OpenCode
  • A GrepRAG handle or API key. --tenant-id <handle> provisions the key.

How it works

The CLI is a thin HTTP client. All intelligence — scoring, compaction, and retrieval — lives server-side. Platform hooks/plugins call the API; the server handles everything else.

Links