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

bravogram

v0.1.1

Published

Local memory shared by all your AI agents: CLI, MCP server and a graph view

Readme

Bravogram

Local memory shared by all your AI agents. Claude, Hermes, or anything that speaks MCP or can run a shell command reads and writes the same memory on your machine. A built-in graph view lets you see how it all connects.

  • One file: everything lives in ~/.bravogram/memory.db (SQLite).
  • Fast, lean recall: full-text search returns short snippets, not whole notes, so agents spend fewer tokens.
  • Safe for many agents at once: concurrent writes don't clobber each other.
  • Links: [[wikilinks]] like Obsidian, plus a record of which agent wrote what.
  • Zero dependencies. Needs Node 24 or newer.

Install

npm install -g bravogram

Use

bravogram remember "Bravogram stores memory for agents" --type fact --project bravogram
bravogram recall "agents memory"
bravogram show bravogram
bravogram append bravogram "- shipped 0.1.1" --section State --top
bravogram link "plan" "roadmap" --kind part_of
bravogram forget 12
bravogram history bravogram        # every saved version
bravogram restore bravogram        # undo the last change (or --rev N)
bravogram doctor                   # duplicates, broken links, glued headings, huge notes
bravogram graph                        # opens the graph in your browser
bravogram import ~/path/to/obsidian    # bring in an existing vault
bravogram export ./backup              # write everything back out as markdown

To replace a memory, pass its title explicitly (--title). Text alone never overwrites an existing memory; use append to add to one. Every change and every forget is kept, and bravogram restore brings any version back. Add --json to any command for machine-readable output.

Connect your agents (MCP)

Claude Code:

claude mcp add bravogram -- bravogram mcp

Any other MCP client uses the same command (bravogram mcp) in its config. Agents get five tools: recall, remember, append, show and link. Deleting and restoring are left to you on purpose: agents can't call forget or restore.

Agents without MCP can call the CLI directly, for example bravogram recall "query" --json.

Graph

bravogram graph serves a page on 127.0.0.1 only. Dots are memories, colored by type and sized by how many links they have. Hollow dots are notes that something links to but nobody has written yet. You can search, filter by project or by agent, and click a dot to read the memory.

Safety

  • Text that looks like an API key or private key is refused, unless you pass --force.
  • The graph server only listens on localhost, and memory text is escaped before it is shown.

Develop

Written in TypeScript. Node 24+ runs the .ts files directly, so there is no build step while developing.

npm install
npm test            # runs test/*.test.ts
npm run typecheck
npm run build       # compiles to dist/, which is what npm ships

Pushing to main type-checks and runs the tests. If the version in package.json isn't on npm yet, CI builds and publishes it. To release, bump the version and push.

MIT license.