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

@glie/markmedown

v0.1.0

Published

Browse and edit all your markdown files in a beautiful browser UI

Readme

markmedown

Browse and edit all your markdown files in a single, beautiful browser UI.

One command. Zero config. Scans your entire home directory, finds every .md file, and presents them in a clean dark interface with WYSIWYG editing.

Why

Markdown files are everywhere — project docs, notes, specs, agent instructions, knowledge bases. But there's no simple way to browse them all in one place. Existing tools are either proprietary (Obsidian), tied to a single folder, read-only, or abandoned.

markmedown fills the gap.

Features

  • Filesystem-wide scan — finds every .md file in ~/, skipping noise (node_modules, .git, .cache)
  • WYSIWYG editor — Notion-like rich text editing powered by Milkdown
  • Raw mode toggle — switch to raw markdown with one click
  • Full-text search — search file names, folder paths, and file content
  • Git awareness — shows which files live in git repos
  • Auto-refresh — files updated externally (e.g., by your editor or AI) reload automatically
  • Daemon mode — runs in background, near-zero resource usage when idle
  • VS Code integration — open any file directly in VS Code
  • Zero dependencies — no React, no build step, no bundler. One optional dep (ws for WebSocket, or hand-rolled)

Install

npm install -g markmedown

Or run directly:

npx markmedown

Or clone and link:

git clone https://github.com/glieai/markmedown.git
cd markmedown
npm link

Requires Node.js 18+.

Usage

markmedown              # Start daemon + open browser
markmedown start        # Start daemon in background
markmedown stop         # Stop the daemon
markmedown status       # Show if running, port, file count
markmedown install      # Auto-start on boot (systemd/launchd)
markmedown uninstall    # Remove auto-start
markmedown --port 9999  # Custom port (default: 44444)

First run scans ~/ and builds a search index. Subsequent starts are instant (cached).

Architecture

Node.js process (single, ~30MB idle)
├── Scanner — async generator, walks ~/ with smart ignore rules
├── Indexer — in-memory inverted index for full-text search
├── Watcher — fs.watch for live file change detection
├── Cache — ~/.markmedown/cache.json for instant restarts
└── HTTP Server — native node:http on localhost:44444
    ├── Static files (vanilla HTML/CSS/JS)
    ├── REST API (tree, file CRUD, search, VS Code)
    └── WebSocket (live tree updates, file change notifications)

Frontend: Vanilla HTML/CSS/JS. No framework, no build step. Milkdown loaded from CDN for WYSIWYG editing.

Theme: Linear-inspired dark palette.

Keyboard Shortcuts

| Shortcut | Action | |----------|--------| | Ctrl+S / Cmd+S | Save current file | | Ctrl+B / Cmd+B | Toggle bold | | Ctrl+I / Cmd+I | Toggle italic |

Configuration

markmedown works with zero config. Optional customization:

Custom ignore patterns — create ~/.markmedownignore:

my-large-folder
another-folder-to-skip

Custom port — pass --port <n> or set MARKMEDOWN_PORT env var.

Roadmap

  • [ ] Dashboard with file stats and insights
  • [ ] Full git integration (history, diff, blame per file)
  • [ ] Claude CLI integration (select text → ask AI)
  • [ ] Tags and backlinks (#tags, [[wiki-links]])
  • [ ] Favourites / pinned files

License

MIT — see LICENSE.