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

folio-reader

v1.0.0

Published

Desktop reader for AI-generated markdown. Built for Claude Code, Cursor, Windsurf, and Copilot output.

Readme

Why Folio?

AI coding tools generate a lot of markdown: CLAUDE.md, AGENTS.md, .cursorrules, planning docs, research notes, changelogs. You need to read these files constantly -- to review agent output, understand decisions, catch mistakes.

Your code editor treats them as just another file. Generic markdown apps miss the context entirely.

Folio is purpose-built for this workflow:

  • AI-aware sidebar -- CLAUDE.md, .cursorrules, .windsurfrules, AGENTS.md, and copilot-instructions.md get highlighted with badges so you find them instantly.
  • Directory watcher -- Point it at a project folder. New and changed files appear automatically with debounced updates.
  • Cross-file search -- Ctrl+Shift+F to search across every markdown file in the folder. Find that one decision buried three docs deep.
  • Tabs with session restore -- Open tabs persist across restarts. Pick up where you left off.

No editing. No bloat. Just reading AI output, done well.

Quick Start

npx folio-reader --folder ./my-project

That's it. Opens Folio with your project's markdown files in the sidebar.

# Open a specific file
npx folio-reader README.md

# Open a folder + a file
npx folio-reader --folder ./docs README.md

# Just launch the app
npx folio-reader

Features

AI file badges -- Recognizes CLAUDE.md, .cursorrules, .clinerules, .windsurfrules, AGENTS.md, and copilot-instructions.md. These files get a purple badge in the sidebar so they stand out from regular docs.

Directory watcher -- Watches your project folder for changes. When an agent writes a new markdown file or updates an existing one, Folio picks it up automatically.

Cross-file search -- Ctrl+Shift+F opens a project-wide search panel. Results show file name, line matches, and click-to-open.

Tabbed reading -- Open multiple files in tabs. Session is restored on restart. Ctrl+Tab to switch, Ctrl+W to close, Ctrl+Shift+T to reopen.

Outline panel -- Auto-generated from headings. Click to jump. Essential for long agent-generated docs.

Dark and light themes -- Toggle with one click. Follows your system preference by default.

Syntax highlighting -- Fenced code blocks with language-aware colors and a one-click copy button.

Zoom controls -- Scale content up or down. Saved across sessions.

Live reload -- Files auto-reload when changed on disk. Scroll position is preserved.

PDF export -- Ctrl+P to export any document as a styled PDF.

In-document search -- Ctrl+F for searching within the current file with match highlighting.

Status bar -- Word count and estimated reading time for every document.

| Light mode | Dark mode | |---|---| | Light | Dark |

| Outline panel | Code highlighting | |---|---| | Outline | Code |

Installation

npm (recommended)

npm install -g folio-reader
folio-reader --folder ./my-project

Download

Grab the latest build from Releases:

  • Windows -- .exe installer or portable
  • macOS -- .dmg (x64 and Apple Silicon)
  • Linux -- .AppImage or .deb

Keyboard Shortcuts

| Shortcut | Action | |---|---| | Ctrl+O / Ctrl+T | Open file | | Ctrl+W | Close tab | | Ctrl+Tab / Ctrl+Shift+Tab | Next / previous tab | | Ctrl+Shift+T | Reopen closed tab | | Ctrl+F | Search in document | | Ctrl+Shift+F | Search across all files | | Ctrl+P | Export to PDF |

Build from Source

git clone https://github.com/BharatBheesetti/Folio.git
cd Folio
npm install
npm start

Build a portable .exe:

npm run build

Build an installer:

npm run build:installer

Security

All rendered HTML is sanitized via sanitize-html. No script injection, no iframes, no event handlers. Content Security Policy blocks inline scripts and all outbound network requests. Fonts are bundled locally. DevTools are disabled in production builds. The IPC surface validates file extensions and prevents path traversal.

Architecture

main.js       -- Electron main process: window, IPC, markdown rendering, file watching
preload.js    -- Context bridge: exposes a safe API surface to the renderer
renderer.js   -- UI: tabs, themes, search, outline, sidebar, session persistence
cli.js        -- npx entry point: arg parsing, electron launch
index.html    -- Layout and styling
fonts/        -- Bundled Literata + IBM Plex Mono (WOFF2)

License

MIT