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

@agentmemory/fs-watcher

v0.1.0

Published

Filesystem connector for agentmemory — emits observations on file changes.

Readme

@agentmemory/fs-watcher

Filesystem connector for agentmemory. Watches one or more directories and emits an observation to the running agentmemory server every time a file changes.

Part of the data-source-connectors effort tracked in issue #62.

Install

npm install -g @agentmemory/fs-watcher

Or run without installing:

npx @agentmemory/fs-watcher ~/work/my-repo

Usage

# CLI args win over env.
agentmemory-fs-watcher ~/work/my-repo ~/notes

# Or set env once in your shell.
export AGENTMEMORY_FS_WATCH_DIRS=~/work/my-repo,~/notes
export AGENTMEMORY_URL=http://localhost:3111
export AGENTMEMORY_SECRET=...   # only if the server requires auth
agentmemory-fs-watcher

Every file change inside the watched roots becomes a post_tool_use observation whose data.changeKind is file_change or file_delete. The first 4 KB of each text file is included as data.content so retrieval can match by substring; larger files are truncated with data.truncated: true. Binary files are not read (set AGENTMEMORY_FS_WATCH_ALLOW_BINARY=1 to override).

Session id and project are required by the observe endpoint — set them via env, or the watcher generates a per-process fs-watcher-<ts>-<rand> session id and uses the first root's directory name as the project.

Requires Node.js >=20 LTS. Recursive fs.watch needs Node 19.1.0+ on Linux; Node 20 is the minimum supported LTS line.

Configuration

| Variable | Default | Meaning | |---|---|---| | AGENTMEMORY_FS_WATCH_DIRS | — | Comma-separated list of directories to watch | | AGENTMEMORY_FS_WATCH_IGNORE | — | Comma-separated regex patterns to ignore (applied to relative paths) | | AGENTMEMORY_FS_WATCH_ALLOW_BINARY | 0 | 1 to include binary files in the preview read | | AGENTMEMORY_URL | http://localhost:3111 | agentmemory server URL | | AGENTMEMORY_SECRET | — | Bearer token, required if the server has AGENTMEMORY_SECRET set | | AGENTMEMORY_PROJECT | — | Optional project label attached to each observation | | AGENTMEMORY_SESSION_ID | — | Optional session id to attribute observations to |

Defaults

Ignored out of the box: .git/, node_modules/, dist/, build/, .next/, .turbo/, coverage/, .DS_Store, *.log, *.lock. Extend with AGENTMEMORY_FS_WATCH_IGNORE.

Text extensions read for preview: common source, config, and docs (.ts/.js/.py/.go/.rs/.md/.yaml/...). Unknown extensions are recorded as a path-only observation without content.

Writes are debounced 500 ms per path so a stream of saves from your editor becomes a single observation.

Notes

  • Uses Node's built-in fs.watch with { recursive: true }. Works natively on macOS, Linux, and Windows 10+. No native deps.
  • If fs.watch errors on a specific root (permission, platform quirk), the watcher logs and continues on the others.
  • The process must keep running. Use a process manager (launchd, systemd, pm2) to supervise it.
  • This connector is intentionally one-way: it writes observations and never reads the agentmemory store.