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

agents-memo

v2.2.0

Published

Obsidian wiki plugin for pi coding agent — personal knowledge vault with LLM-assisted ingestion, research, and retrieval.

Readme

agents-memo

pi extension — personal knowledge vault with LLM-assisted ingestion, research, and retrieval. Built on Obsidian.

Install

Prerequisites: Obsidian 1.12.7+ with the CLI binary on your PATH.

pi install npm:agents-memo

Configure vault path in ~/.pi/agent/settings.json:

{
  "agentsMemo": {
    "vaultPath": "/absolute/path/to/vault"
  }
}

Or set it in .pi/settings.json for per-project overrides.

Register the vault with Obsidian:

obsidian register vault=/absolute/path/to/vault
obsidian list vaults

See _shared/setup.md for troubleshooting and Flatpak setup.

Skills

  • wiki — bootstrap / health-check the vault
  • ingest — parallel batch ingestion of sources
  • query — answer questions from vault content
  • lint — find orphan pages, dead links, stale claims
  • save — save the current conversation or insight into the vault
  • notes — quick inbox capture (/note, /dump); list and process flows for triage
  • daily — append-only chronological log (/daily); timestamped bullets in daily/YYYY-MM-DD.md
  • daily-close — end-of-day synthesis (/daily-close, "close today", "wrap up today"); appends a polished ## Summary to today's daily file, idempotent on re-run
  • braindump — split long-form text into atomic notes (/braindump, "brain dump this", "split this into notes"); each chunk filed via the full capture pipeline
  • autoresearch — autonomous iterative research loop
  • canvas — create / update Obsidian canvas files
  • defuddle — strip clutter from web pages before ingestion
  • obsidian-markdown — correct Obsidian-flavored Markdown (wikilinks, embeds, callouts)
  • obsidian-bases — create / edit .base files

Vault structure

<vault_path>/
  wiki/          agent-generated knowledge (hot.md, index.md, concepts/, entities/, sources/)
  notes/         inbox: verbatim quick-capture notes (owned by `notes` skill)
  daily/         chronological daily log — one file per day (owned by `daily` skill)
  .raw/          immutable source documents + .manifest.json
  _templates/    Obsidian Templater templates
  _attachments/  images + PDFs referenced by wiki pages
  .obsidian/     (user-owned) Obsidian app config

Extension

Registers lifecycle handlers and tools for pi sessions:

  • Session start / compact — injects _shared/INIT.md, hot cache, index, and project memory digest
  • Tool call — rewrites obsidian calls through scripts/obsidian-cli.sh, blocks direct vault I/O, guards daily overwrites
  • Tool execution end — guards wiki/hot.md against 0-byte corruption
  • Agent settled — auto-commits vault git changes
  • Agent end — distills the run into project + global core learnings (reflection)
  • Session shutdown — cross-project promotion sweep into wiki/global-core.md

Also registers the memo_dispatch tool for delegating work to vault sub-agents (single, parallel, chain modes).

Scheduled Maintenance

Lint is opt-in via OS scheduler (cron, systemd timers, launchd). Use bin/wiki-lint-cron.sh to run the lint skill with auto-fix and commit.

Example crontab (weekly, Sunday 03:00):

0 3 * * 0 /absolute/path/to/agents-memo/bin/wiki-lint-cron.sh

systemd user timer: Create ~/.config/systemd/user/wiki-lint.service and ~/.config/systemd/user/wiki-lint.timer, then systemctl --user enable --now wiki-lint.timer.

Contributing

Prerequisites: Node.js ≥ 22 and npm.

npm install          # Install dependencies + husky pre-commit hook
npm run build        # Compile extensions (tsup)
npm run check        # Full validation: lint + format + typecheck + test
npm run fix          # Auto-fix lint and formatting

|Command|Purpose| |-|-| |npm run build|Compile TypeScript extensions to dist/| |npm run test|Run smoke + regression tests| |npm run lint|ESLint check| |npm run format|Prettier check| |npm run typecheck|TypeScript type-check| |npm run check|All gates (lint + format + typecheck + test)| |npm run fix|Auto-fix lint + format|

Pre-commit hook runs lint-staged: ESLint + Prettier on staged TS/JS/JSON, minify-md on staged MD.

More