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

@cairnkeep/cli

v2.27.0

Published

A durable, harness-agnostic memory + context layer for coding agents and MCP clients.

Readme

Cairnkeep

CI npm license

Durable, local-first memory and context for coding agents.

Cairnkeep helps coding agents carry project context across sessions and harnesses. It stores decisions, constraints, patterns, and lessons in project-scoped memory, then gives agents a bounded protocol for finding and verifying that context without turning memory into an authority or an autonomous agent runtime.

Why Cairnkeep?

  • Continuity across sessions. Recall project decisions and recurring failures instead of rediscovering them from scratch.
  • Harness independence. Use the same memory through Claude Code, OpenCode, Codex CLI, Kimi Code, Qwen Code, Pi, or another MCP client.
  • Local by default. The default stdio server stores data on your computer; remote access, embeddings, capture, and external context are explicit opt-ins.
  • Bounded agent guidance. Managed AGENTS.md instructions and project playbooks tell compatible agents when to retrieve context and which checks apply, but never execute work or grant approval.
  • Least authority. Complete MCP annotations, read-only/custom tool profiles, capability gates, and immutable context packs keep observation separate from action.

Quick start

Cairnkeep requires Node.js 22 or newer. In an interactive terminal, guided setup presents selectable Git and memory choices plus checkboxes for every supported coding harness:

npm install --global @cairnkeep/cli
cairn setup /path/to/project
cd /path/to/project
cairn doctor
./.ai/start-codex.sh                 # Windows: .\.ai\start-codex.cmd

Select Codex CLI in the harness checklist for this route. Review .codex/config.toml and accept Codex's project-trust prompt on first use. Automation can supply every choice explicitly; the quickstart documents that deterministic form.

See the quickstart for Claude Code, the first remember/recall cycle, recovery, and setup ownership. See harness compatibility for the exact surface supported by each client.

The core loop is intentionally small: store a concise, verified project fact, close the session, and retrieve it when a later task needs it. Claude Code and OpenCode expose /remember and /recall; any compatible MCP client can use memory_write and memory_search directly.

For coding agents

Setup installs a managed project instruction block with a deliberately small protocol:

  1. For a nontrivial task that may depend on prior project knowledge, make one task-derived, project-scoped memory_search the first tool or command.
  2. Treat results as locators, not truth; verify the maintained repository sources they reference.
  3. Continue with normal repository inspection if memory is unavailable or has no relevant result.
  4. Never write, supersede, or approve durable memory unless the user or a reviewed workflow explicitly requests it.

Cairnkeep playbooks can recommend or require existing review, verification, security, documentation, and learning steps. They do not run those steps, activate skills, enable capabilities, or authorize destructive work.

Read Cairnkeep for coding agents for the full contract, authority model, harness behavior, and graceful fallback.

Trust boundary

Cairnkeep is not a hosted agent, telemetry service, or automatic remote knowledge collector. Memory is durable context, not source-of-truth documentation. Configured Claude Code and OpenCode hooks can derive local memory candidates; durable promotion and every networked or sensitive capture path remain separately controlled. Ordinary uninstall retains durable data unless an explicit purge is requested.

Start with Privacy and data flow, Memory storage and deployment, and Security assurance and threat model before enabling remote HTTP, embeddings, trajectories, artifacts, work evidence, or context packs.

Documentation

The documentation hub is the index for setup, agents, operations, optional features, deployment, learning paths, and contributor guides. In particular:

The repository supports Linux, macOS, native Windows x64, WSL, Node.js 22/24/26, and real Bash 3.2 within the boundaries documented in the compatibility guides.

Contributing and support

See CONTRIBUTING.md for development and pull-request guidelines, SUPPORT.md for help, and SECURITY.md for private vulnerability reporting.

License

Apache-2.0 © 2026 Stefano Tondo