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

@obversa/memory-markdown

v0.1.2

Published

Deterministic lexical search over local Markdown files.

Readme

@obversa/memory-markdown

@obversa/memory-markdown finds matching passages in a local Markdown directory. It returns the file path and line range for each hit, so a caller can hand only the selected files to ground and then bound them with curate.

Install

pnpm add @obversa/memory-markdown @obversa/runtime

Requirements

  • Node.js 22.12 or later

Read-only corpus

openMarkdownCorpus exposes a memory property because ground reads sources through the public Memory contract. That view is read-only: view reads the corpus, while create, str_replace, insert, delete, and rename return an error. Search must not edit the source material it is selecting.

Search and the Memory view include only directories and .md files whose path segments start with a letter or number and then use letters, numbers, dots, underscores, or hyphens, up to 128 characters per segment. Dot-prefixed names, names outside that rule, non-Markdown files, and symbolic links inside the corpus are skipped without failing the search or a directory view.

One class is not skipped. A file whose full path passes 1024 bytes stops the search, which names the path it cannot use. A directory view still lists that file, and the over-long path it returns then makes ground refuse the whole directory. Keep the corpus shallow enough to stay below the limit.

The corpus root itself can be a symbolic link.

Runnable example

From the workspace root, run:

pnpm example:memory-markdown

The complete source is on the memory-markdown package page.

License

MIT