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

@wienerberliner/pi-markdown-reader

v0.3.0

Published

Pi extension tools for deterministic, structure-aware Markdown outline and section reading.

Readme

pi-markdown-reader

Pi extension tools for deterministic, structure-aware Markdown reading.

Instead of sampling long Markdown files with brittle line ranges, agents can inspect a compact outline first, then read complete sections by exact pathSlug.

Install

Install the published npm package:

pi install npm:@wienerberliner/pi-markdown-reader

Package: @wienerberliner/pi-markdown-reader

Then restart Pi or run /reload.

Tools

markdown_outline

Returns a flat, source-ordered table of contents for a Markdown file.

By default the output is intentionally compact:

  • heading level
  • hierarchical pathSlug
  • optional frontmatter entry as { "level": 0, "pathSlug": "frontmatter" }

Example:

{
  "path": "report.md"
}

Use verbose mode when the agent needs line numbers for other tools:

{
  "path": "report.md",
  "verbose": true
}

Verbose mode adds titles, frontmatter keys, startLine, endLine, lineCount, and totalLines.

markdown_read

Reads one or more complete Markdown sections by exact pathSlug.

If a request includes both a heading and one of its descendant subheadings, markdown_read returns the ancestor content once and omits the redundant descendant selection.

The LLM-facing result is plain Markdown text. Metadata stays in tool details.

Example:

{
  "path": "report.md",
  "sections": [
    { "pathSlug": "abstract" },
    { "pathSlug": "results/evidence" }
  ]
}

If a document has YAML frontmatter, it can be read with:

{ "pathSlug": "frontmatter" }

Development

npm install
npm test
npm run typecheck

For local Pi development in this repository, trust the project and reload Pi. The project .pi/settings.json shadows the published npm package and loads the local checkout.

Publishing

Pushing a commit to main with a new package.json version automatically publishes that version to npm. If the version is already published, the workflow skips npm publish.

The workflow uses npm Trusted Publishing, so npm package settings must allow GitHub Actions for dasomji/pi-markdown-reader and workflow publish.yml.

License

MIT