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

@docmd/core

v0.8.12

Published

Build production-ready documentation from Markdown in seconds. No React, no bloat, just content.

Readme

Quick Start

Run docmd in any folder with Markdown files — no install needed:

npx @docmd/core dev
    _                 _ 
  _| |___ ___ _____ _| |
 | . | . |  _|     | . |
 |___|___|___|_|_|_|___|

 v1.x.x

┌─ Build
│  Engine          JS
│  Source          docs/
│  Output          site/
│  Versions        2 (06, 05)
│  Locales         7 (en, hi, zh, es, de, ja, fr)
└──────────────────────────────────────────────────────────
┌─ Data Indexing
│  [ DONE ] Syncing git metadata
│  [ DONE ] Building semantic search index (multi-version)
└──────────────────────────────────────────────────────────
┌─ Publishing
│  [ DONE ] Generated robots.txt
│  [ DONE ] Generated .nojekyll (disables Jekyll on GitHub Pages)
│  [ DONE ] Generated sitemap
│  [ DONE ] Generating LLMs context files
└──────────────────────────────────────────────────────────

⬢ Initial build completed in 1.2s.

┌─ Watching
│  Source          ./docs
│  Config          ./docmd.config.json
│  Assets          ./assets
└──────────────────────────────────────────────────────────
┌─ Development Server Running
│  Local Access    http://127.0.0.1:3000
│  Network Access  http://192.168.1.6:3000
│  Serving from    ./site
└──────────────────────────────────────────────────────────

Navigation is generated from your file structure. No config file, no frontmatter required, no framework to learn.

When you're ready to ship:

npx @docmd/core build

This outputs a highly optimized static site (SPA) ready for deployment to Vercel, Cloudflare Pages, Netlify, GitHub Pages, or any static host.

Requirements: Node.js 18+

# Install globally via npm
npm install -g @docmd/core

# Or via pnpm
pnpm add -g @docmd/core

# Run it
docmd dev    # start dev server
docmd build  # build for deployment

Or run via Docker:

docker run -p 3000:3000 ghcr.io/docmd-io/docmd:0.8.7

Pin a version for reproducible builds.

Why docmd?

| Feature | docmd | Docusaurus | MkDocs | VitePress | Mintlify | | :--- | :---: | :---: | :---: | :---: | :---: | | Config required | None | docusaurus.config.js | mkdocs.yml | config.mts | docs.json | | JS payload | ~18 kb | ~250 kb | ~40 kb | ~50 kb | ~120 kb | | Navigation | Instant SPA | React SPA | Full reload | Vue SPA | Hosted SPA | | Versioning | Native | Native (complex) | mike plugin | Manual | Native | | i18n | Native | Native (complex) | Plugin-based | Native | Native | | Multi-project | Native | Plugin | Plugin | - | - | | Search | Built-in | Algolia (cloud) | Built-in | MiniSearch | Cloud | | AI context (llms.txt) | Built-in | - | - | - | Built-in | | MCP server | Built-in | - | - | - | Built-in | | Agent skills | Built-in | - | - | - | - | | Docker image | Official | - | Official | - | - | | Self-hosted | Yes | Yes | Yes | Yes | - | | Cost | Free (OSS) | Free (OSS) | Free (OSS) | Free (OSS) | Freemium |

Features

Zero config, instant start

Point docmd at any Markdown folder and it runs. Navigation is built automatically from your file structure. You can write your first doc and have it live in under a minute — no boilerplate, no build pipeline to configure, no decisions to make upfront.

Tiny by default, fast everywhere

The default JavaScript payload is ~18 kb. Pages navigate as an instant SPA. The output is static HTML — SEO-optimised, with sitemap, canonical URLs, and Open Graph metadata included. Offline full-text search is built in, no cloud service required.

AI-native

docmd is built for the way documentation is read and used today:

  • MCP Serverdocmd mcp exposes your docs to AI agents over stdio, letting them search, read, and validate content directly.
  • Context (llms.txt / llms-full.txt) — complete documentation context generated at build time, ready for any LLM.
  • Agent Skills — modular instruction sets for LLMs and IDE agents (docmd-skills).
  • Copy as Markdown / Copy Context — one-click buttons in the browser, optimised for pasting into AI chat.

Built to scale

  • Internationalisation with multi-locale builds
  • Versioning for multiple doc releases
  • Workspaces for monorepos and multi-project setups
  • Plugin system for extending core behaviour
  • Full theming support, built-in templates, custom CSS/JS, light/dark mode

CLI

docmd dev            # local development server
docmd build          # build for deployment
docmd live           # browser-based Live Editor
docmd migrate        # import from Docusaurus, VitePress, MkDocs, or Starlight
docmd deploy         # generate config for Docker, NGINX, Caddy, Vercel, Netlify
docmd validate       # check all internal links
docmd mcp            # run as an MCP server over stdio
docmd add <name>     # install a plugin or template

Plugins

Core functionality is powered by a robust plugin system. The essentials are included by default, while optional plugins can be added for specific needs.

| Plugin | Status | Description | | :--- | :---: | :--- | | search | ✅ Core | Offline full-text search with fuzzy matching | | seo | ✅ Core | SEO tags and Open Graph metadata | | sitemap | ✅ Core | Generates sitemap.xml | | git | ✅ Core | Git commit history and last-updated dates | | analytics | ✅ Core | Lightweight analytics integration | | llms | ✅ Core | AI context generation (llms.txt / llms-full.txt) | | mermaid | ✅ Core | Mermaid diagram support | | openapi | ✅ Core | Build-time OpenAPI 3.x spec renderer | | pwa | ➕ Optional | Progressive Web App — offline navigation | | threads | ➕ Optional | Inline discussion threads (by @svallory) | | math | ➕ Optional | KaTeX / LaTeX math rendering |

Install optional plugins:

docmd add <plugin-name>

Build your own: Plugin Development Guide

Configuration

No configuration is required to get started. Add a docmd.config.json (or .ts / .js) in your project root only when you need more control:

{
  "title": "My Project",
  "url": "https://docs.myproject.com",
  "src": "./docs",
  "out": "./dist"
}

TypeScript and JavaScript config files are supported for dynamic values.

Full reference: Configuration Overview

Project Structure

my-docs/
├── docs/                ← Your markdown files
├── assets/              ← Images and static files
├── docmd.config.json    ← Optional configuration
└── package.json

Live Editor

A browser-based editor for writing and previewing docs — no local setup required.

Try it at live.docmd.io

Programmatic API

Use docmd in Node.js scripts, CI pipelines, or custom build steps. (Supports both CommonJS and ESM).

import { build } from '@docmd/core';

await build('./docmd.config.json', { isDev: false });

Full reference: Node API

Community

Support

  • Getting the word out is the most direct way to support docmd's development. Share it on X with friends or give it a star.
  • If docmd saves you time, a GitHub sponsorship goes a long way.
  • Got ideas or bugs? Open an issue or PR, feel free to contribute your own plugins.

License

MIT License. See LICENSE for details.