Profile
Back to NewsBack
GitHub Trending 6 min
Reader Mode
docmd-io/docmd: Documentation compiler for humans and machines. One Markdown source to website, search, AI context, and knowledge formats together.

docmd-io/docmd: Documentation compiler for humans and machines. One Markdown source to website, search, AI context, and knowledge formats together.

9 hours ago

EN  |  DE  |  中文  |  ES  |  日本語  |  FR  |  RU

docmd


Documentation for humans and machines.
One Markdown source → website, search, AI context, and agent protocols. All generated together.

npm version monthly downloads GitHub stars license

Website  ·  Documentation  ·  AI Cloud Relay  ·  Live Editor  ·  Agent Skills  ·  Report a Bug


docmd default theme — light and dark mode preview



## ✦ 0.9 Series — Documentation for Humans and Machines
> docmd compiles your Markdown into everything the modern stack needs —
a fast static website for human readers, search indexes, AI context
files (llms.txt), MCP server endpoints for coding agents, and
structured knowledge bundles (OKF) for RAG pipelines.
> One source. One build. Every output.
> Follow the 0.9 roadmap →

Quick Start

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

npx @docmd/core dev

Opens at http://localhost:3000

_                 _ 
  _| |___ ___ _____ _| |
 | . | . |  _|     | . |
 |___|___|___|_|_|_|___|

v0.9.0

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 search index & RAG embeddings (multi-version) [ DONE ] Generating AI Assistant RAG context

PUBLISHING [ DONE ] Generated robots.txt [ DONE ] Generated .nojekyll (disables Jekyll on GitHub Pages) [ DONE ] Generated sitemap [ DONE ] Generating LLMs context files (llms.txt) [ DONE ] Generating OKF bundles

⬢ 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+

Or install globally / via Docker

# 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.9.0
Pin a version for reproducible builds.

Why docmd?

Other documentation tools build a website. docmd builds an entire knowledge ecosystem:

Markdown source
     │
     ▼  docmd
     │
     ├──→  Static website       (for browsers and readers)
     ├──→  Search index         (offline full-text, no cloud needed)
     ├──→  llms.txt             (for LLMs and chatbots)
     ├──→  OKF bundles          (for RAG pipelines and knowledge systems)
     ├──→  Sitemap + SEO meta   (for search engines)
     ├──→  robots.txt + OG tags (for crawlers and social cards)
     ├──→  MCP server           (for IDE agents like Cursor, Claude Code)
     └──→  Cloud Relay          (hosted AI search for static sites)

One source, one command. No other documentation tool generates all of these together.

image

**See Complete Comparison with Docusaurus, Mintlify and others →"

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.

Lightweight by default, fast everywhere

No framework runtime — the output is static HTML and minimal vanilla JavaScript. Pages navigate as an instant SPA. 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 treats AI as a first-class way to consume documentation — without replacing the documentation itself.
  • AI Assistant (@docmd/plugin-ai) — RAG-powered chat grounded in your documentation. Use your own API key or connect a local AI provider, with support for a wide range of 100+ providers through AIPlug.
  • Cloud Relay — enable the AI Assistant on static documentation without running your own AI backend. Try it →
  • 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.
  • Agent Skills — modular instruction sets for LLMs and IDE agents.
  • Open Knowledge Format (OKF) — structured, multi-locale knowledge bundles for AI systems.
  • Copy as Markdown / Copy Context — one-click context extraction directly from the browser.

Built to scale

  • Internationalisation with multi-locale builds (per-locale search index, llms, okf, hreflang)
  • Versioning for multiple doc releases (with auto-detection of the current version)
  • Workspaces for monorepos and multi-project setups
  • Plugin system for extending core behaviour (per-hook return-type validation, async-friendly)
  • 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 init           # scaffold a new docmd.config.json in the current folder
docmd stop           # stop any running docmd dev / docmd live servers
docmd doctor         # pre-flight check: config + plugin install status
docmd migrate        # migrate to docmd 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 | | :--- | :---: | :--- | | ai | Core | RAG-powered AI Assistant with BYOK, local providers, and Cloud Relay | | search | Core | Offline full-text search (keyword + optional semantic via docmd-search) | | 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) | | okf | Core | Open Knowledge Format bundles for AI agents (per-locale) | | 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.

Chat with me