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

memarium

v0.15.0

Published

Cross-device sync + resume for AI coding sessions (Claude Code + Copilot Chat). Companion to the memarium Claude Code plugin which provides digest + recall.

Readme

memarium

Cross-device sync for your AI coding sessions.

memarium is the npm CLI half of a two-package system. It collects Claude Code + VS Code Copilot Chat sessions on every machine you use, pushes them to a private git repo, and lets you resume a session on a different laptop than where it started.

For digest + recall (typed memory — episodes, decisions, "what did past-me figure out" queries), install the Claude Code plugin:

/plugin marketplace add june9593/memarium-plugin
/plugin install memarium

The plugin is independent — install it without the npm CLI if you only work on one machine. Install both if you want sync + digest.

Install

npm install -g memarium
memarium init

The wizard walks you through:

  1. Sync to a remote git repo? (yes/no — local-only is also valid)
  2. Repo URL + local checkout path
  3. Stable device name for this machine's git branch (defaults to a cleaned hostname; pick a physical label like mini2 if it drifts)

CI cross-device aggregation is auto-enabled when you sync to a remote, and assistant reasoning is always included in synced markdown.

After init, push your sessions:

memarium sync

Cross-device resume (NEW in 0.5.0)

Once you've sync'd from machine A, machine B can resume a session that started on A:

# On machine B (after `memarium sync` pulls A's session-repo):
memarium list-sessions --since 7d           # Find sessions from this week
memarium resume <sessionId>                  # Copy jsonl + emit `claude --resume` hint

If A and B have different home dir layouts (e.g. /Users/yueA vs /Users/yueB), tell memarium how to translate paths once:

memarium config --map-path /Users/yueA=/Users/yueB

After that, memarium resume rewrites all absolute paths in the jsonl during copy, so claude --resume lands in the right local cwd.

Each resume is a fork — B gets a fresh sessionId so you can continue on B without colliding with A if A also keeps chatting on the same source session. The fork's origin is recorded in ~/.memarium/resume-forks.json and stamped onto the spool index entry on the next memarium sync (as originSessionId), so plugin-side digest tooling can later reason about same-source threads.

Commands

| Command | What it does | |---|---| | memarium init | Interactive wizard. One-time setup. | | memarium sync | Extract local sessions, push to your device branch. | | memarium list-sessions [--project --since --device] | List sessions in spool, sortable for resume. | | memarium resume <sessionId> | Copy jsonl into ~/.claude/projects/, print claude --resume hint. | | memarium config [--map-path FROM=TO] | Read or modify ~/.memarium/config.json. | | memarium upgrade | npm install -g memarium@latest. | | memarium doctor | Health check: CLI, config, spool state, plugin install status. | | memarium workflow <init\|...> | Install GitHub Actions for cross-device aggregation. | | memarium list | List sessions in spool (simple table). | | memarium show <ref> | Print one session's markdown to stdout. | | memarium cat <path> | Print one file from the spool to stdout. |

Files written

  • ~/.memarium/config.json — your settings (mode 0600)
  • ~/.memarium/session-repo/ — git working tree of your private memory repo
    • raw_sessions/<tool>/<project>/<date>/*.{md,raw.json,jsonl} — sync-rendered session copies plus the original jsonl (preserved for resume)
    • .memarium/index.json — spool index (co-owned with the plugin)
    • memory/ and .memarium/index.memory.json (+ index.entity.json / index.qa.json) — written by the plugin if you have it installed

The npm CLI does not touch memory/ or the plugin's memory indexes — those are the plugin's domain. The plugin in turn does not touch .git/ or config.json — those are sync's.

Migration from v0.4.x

If you upgraded from v0.4.x and miss memarium prepare / recall — digest + recall now run in-session via the Claude Code plugin's /memarium and /memarium-recall skills (the old publish / serve / build-site book commands were retired in the book→memory collapse). Install the plugin as shown at the top of this README. Your existing ~/.memarium/session-repo/ data is unchanged; the plugin reads it and writes its own additions there.

Note for v0.4.x upgraders: spool format is single-.md-per-session

Starting in 0.6.0, sync writes a single .md per session under raw_sessions/<tool>/<project>/<date>/ — no .raw.json or .jsonl sibling. The .md carries everything via YAML frontmatter (commits, files_touched, tools_used, candidate_decisions) plus a # Table of Contents block with →L<line> jump offsets and the body. memarium resume reads this .md directly; for sessions larger than ~200 KB it embeds only the manifest + TOC inline and points Claude at the on-disk file (chunked mode, 0.7.0+).

If you have a pre-0.6 spool with old .raw.json / .jsonl siblings sitting around, the cleanest path is to wipe and re-sync:

rm -rf ~/.memarium/session-repo/raw_sessions
memarium sync

If your repo also accumulated duplicate .md files or 1970-01-01/ empty-shell dirs from the 0.5–0.7.0 Copilot extractor bugs, run memarium prune (added 0.7.1) to clean orphans first.

See CHANGELOG for the full breaking-change list.

Repo layout (for contributors)

  • src/ — TypeScript source
    • commands/ — one file per CLI subcommand
    • commands/resume/ — list-sessions, resume, path-rewrite, config-pathmap
    • digest/{project-filter,session-signal}.ts — sync-side filtering helpers (the rest of the dir was moved to the plugin)
    • sources/ — Claude Code + Copilot adapters (sync uses both)
  • tests/ — vitest, parallel structure to src/
  • assets/{workflows,scripts} — GitHub Actions YAML + cross-device aggregate script
  • bin/memarium.ts — commander entry, built to dist/bin/memarium.js

License

MIT