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

@conare/pi

v0.1.0

Published

Persistent, cross-session memory for the Pi coding agent — powered by Conare.

Downloads

103

Readme

Conare for Pi

Persistent, cross-session memory for the Pi coding agent — powered by Conare.

Pi is deliberately minimal: four tools, a tiny system prompt, and no built-in MCP — you add capabilities as extensions. This is that extension. It gives Pi a memory that outlives any single session: past decisions, bug fixes, architecture, and your preferences, recalled automatically when you start work and on demand mid-task.

It's the same memory engine Conare already wires into Claude Code, Codex, Cursor, OpenCode, and Grok — so your history follows you across every agent, not just Pi.

What you get

  • recall — load relevant prior context for the task at hand.
  • search — look up a specific past decision, bug, or conversation.
  • save — persist a durable fact or preference for future sessions. All three are registered as native Pi tools (no MCP proxy, no per-tool token tax) that the model calls when memory is relevant. There's no automatic recall — so nothing Conare does is ever on Pi's startup or first-message critical path. (Auto-injecting pre-prepared context is on the roadmap, once it's fast enough to be invisible.)

Install

The easiest path is the Conare CLI, which sets up the extension (and indexes your existing Pi chats into memory) in one step:

bunx conare@latest

Pick Pi when it asks which agents to connect.

Manual install

This is a Pi package — install it with Pi's own package manager:

  1. Get an API key at conare.ai.

  2. Install the package:

    pi install npm:@conare/pi

    (pi install git:github.com/FutureExcited/conare-pi and pi install ./conare-pi work too; pi update --all keeps it fresh.)

  3. Make sure your key is available. The extension finds it automatically from ~/.conare/config.json (written by the Conare CLI), or from CONARE_API_KEY in your environment — no per-file config needed.

  4. Restart Pi (or run /reload).

How it works

The extension talks to Conare's memory engine over its MCP HTTP endpoint (https://conare.ai/mcp) using your API key — built-in fetch, JSON-RPC tools/call, handles both JSON and SSE responses.

The recall/search/save tools call the corresponding memory operations when the model invokes them. There is no background recall on a lifecycle hook: any automatic recall today would put a live synthesis round-trip on the critical path and slow your first message. Tools-only keeps Pi fast and lets the model decide when memory is worth fetching. (A future version may auto-inject a pre-prepared context blob — fast enough to be invisible — but live synth on every session is the wrong tradeoff.)

It's one small file (its only runtime dependency is TypeBox, Pi's own schema library) — read it, fork it, audit it.

Failure handling follows Pi's contract: a genuine failure (network/HTTP/RPC error) throws, so Pi marks the tool call isError and the model can retry or proceed without memory. A missing key isn't an error — it returns a short "not configured, proceed without memory" note instead. Output is capped at 50KB (matching Pi's built-in tools) so a large recall never floods the context window.

Configuration

| Env var | Default | Purpose | | --- | --- | --- | | CONARE_API_KEY | — | Your Conare key (required). | | CONARE_URL | https://conare.ai | Override for self-hosted / staging. |

License

MIT © Conare