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

memnant

v1.14.0

Published

It just remembers.

Readme

memnant

It just remembers.

The problem

Context windows die. Conversations end. Three weeks later you're re-explaining the same decisions to the same agent. The framework fix you solved in week two? Gone. The product decision from last month? Not in the context window.

You forget. Your agent forgets faster.

memnant is the remnant that survives. A small persistent thing that crawls across your projects and carries what you decided from one place to the next.

Install

curl -fsSL memnant.com/install.sh | sh

Windows:

irm memnant.com/install.ps1 | iex

Or via npm: npx memnant

First run creates your config, ledger, and auto-registers the MCP server for your agent. After that, memnant starts a session with compiled context.

That's it. The agent logs decisions silently as you work. Start your next session with full context.

Manual MCP config

If auto-registration doesn't work for your setup, add memnant to your agent's MCP config:

{
  "mcpServers": {
    "memnant": {
      "command": "memnant",
      "args": ["serve"]
    }
  }
}

What a session looks like

$ memnant

▪ memnant · session start
21 days since last session.

── Briefing ──
You shipped the analytics pipeline three weeks ago. The analytics
schema decision is stale — analytics.ts changed since. Dashboard
filters are still on the TODO.

── Relevant Decisions (3) ──
[a3f2] Chose snapshot-first analytics — live adds 200ms
[b7e1] Dashboard uses server components, no client state
[c4d9] [stale 0.72] Analytics schema — analytics.ts changed

── Framework Fixes ──
[d2a8] Next.js 15: useSearchParams needs Suspense boundary
[colony] React setState batching in concurrent mode

Session e8f3 started. Good building.

Three weeks away from a project. One command. Full context. Colony fixes from your other projects included.

How it works

It remembers. The agent logs silently as you work. Decisions, framework fixes, rejections, product calls. Every record gets a vector embedding for semantic search. You don't do anything.

It compiles. Next session starts with what matters. Last session's summary, open TODOs, relevant decisions, staleness warnings. Not a raw dump — the relevant subset, with what's changed since you were last here.

It knows. It knows when knowledge goes stale. When a file changes, memnant scores whether the change actually affects related decisions. Semantic confidence, not a binary flag. A renamed variable doesn't invalidate an architecture decision.

It travels. Knowledge crosses projects automatically. Framework fixes and rejected approaches promote themselves to a machine-local colony at ~/.memnant/colony.db. The gotcha you solved in one codebase is already waiting in the next — no export needed.

The colony

Framework fixes aren't project-specific. When you solve a Next.js gotcha in one project, memnant auto-promotes it to your colony. Next time you start a session in any project, colony results appear marked [colony] — ranked below project results at the same similarity.

── Framework Fixes ──
[d2a8] Next.js 15: useSearchParams needs Suspense boundary
[colony] React setState batching in concurrent mode

Rejected approaches promote too — so you never retry something that already failed.

Deduplication by embedding similarity (>0.92). Manual promotion for anything else: memnant promote <record-id>.

Narrative briefings

Session context rendered as a story, not a database dump. Delta-focused — only what changed since you were last here. Empty sections omitted. The briefing shrinks when things are quiet.

When an API key is available, memnant composes a conversational narrative. Offline, it falls back to a smart template. Either way, you get caught up in seconds.

Teams

Multiple builders, one shared understanding. memnant init --team sets your builder identity from git config. Decisions sync through .memnant/shared/ — git-native, no extra service.

When records from different builders contradict each other (embedding similarity > 0.85), memnant flags the contradiction automatically. memnant team status shows active builders, record counts, and unresolved conflicts.

$ memnant team status

Active builders (last 30 days):
  alice  47 records
  bob    31 records

Contradictions: 2 unresolved
Last import: 2026-03-04T14:22:00Z

Cross-builder recall. recall --builder alice or recall --mine filters by builder. Records confirmed by multiple builders get a diversity boost in relevance scoring.

Onboarding brief. memnant brief --onboarding compiles a structured package for new team members: key decisions, architecture patterns, known gotchas, team conventions, current work state. 8K tokens by default, --full removes the cap.

Team patterns. synthesise --team-patterns finds consensus (where builders agree) and divergence (where they don't). Coverage indicator shows which builders' knowledge is represented.

More than memory

Connection graph. Records link themselves by semantic similarity. Supersession chains track when new decisions replace old ones. Contradictions are flagged automatically.

Relevance decay. Old knowledge fades. Frequently accessed records stay prominent. The ledger self-organises around what's actually useful.

Synthesis. Ask questions that span multiple records. "How did our auth approach evolve?" returns a composed answer with citations back to source.

Governance. Spec enforcement in pre-commit hooks. Override tracking — when overrides pile up, memnant suggests the spec might need updating.

Predictive context. File-aware. Branch-aware. Working patterns from past sessions boost future relevance. Surfaces the right records before you ask.

Colony. Machine-local cross-project ledger. Framework fixes and rejected approaches auto-promote. Search across all your projects at once.

Team layer. Shared understanding across builders. Git-native sync, contradiction detection, builder-filtered recall, onboarding briefs, and team pattern analysis.

Under the hood

Storage. Single SQLite file at .memnant/ledger.db. Copy it to another machine and everything comes with you.

Search. Local vector embeddings via all-MiniLM-L6-v2. Semantic search on CPU. No API calls. Works on a plane.

Integration. MCP server over stdio. Plugs into Claude Code, Cursor, or any MCP-compatible agent. Auto-registers during init.

Config. memnant.yaml at your project root. Version-controlled. No dashboard, no account, no login.

Export. Markdown or JSON. Every record, every decision, every session log. Your history is never locked in.

Runtime. Standalone binary — no Node.js required. curl memnant.com/install.sh | sh and you're done. ONNX WASM and model files download automatically on first use (~30MB). Also available via npx memnant if you prefer npm. Optional ANTHROPIC_API_KEY for synthesis — core functionality works fully offline.

Who it's for

You work in sessions. Days or weeks apart. You juggle multiple projects that share patterns. You want what you learned yesterday to be there tomorrow — across every tool, every codebase, every session. Solo or on a team.

License

MIT