Markdown browser for humans and agents.
Browse docs from local directories, GitHub repos, and remote websites β all from your terminal.
Built with md4x, mdream, giget and speed-highlight, nitro, h3, srvx and vite.
Supports any website with /llms.txt or markdown content negotiation.
Works best with Docus/Undocs docs sources.
npx mdzilla <dir> # Browse local docs directory
npx mdzilla <file.md> # Render a single markdown file
npx mdzilla gh:owner/repo # Browse GitHub repo docs
npx mdzilla npm:package-name # Browse npm package docs
npx mdzilla https://example.com # Browse remote docs via HTTPInstall the mdzilla skill for AI agents using:
npx skills install pi0/mdzilla| Source | Syntax | Description |
|---|---|---|
| Local | mdzilla ./docs |
Scan a local docs directory |
| Single file | mdzilla README.md |
Render a single markdown file |
| GitHub | mdzilla gh:unjs/h3 |
Download and browse a GitHub repo |
| npm | mdzilla npm:h3 |
Browse an npm package's docs |
| HTTP | mdzilla https://h3.unjs.io |
Browse remote docs via HTTP |
Flatten any docs source into plain .md files:
npx mdzilla <source> --export <outdir>Print a specific page by path and exit:
npx mdzilla gh:nuxt/nuxt --page /getting-started/seo-meta
npx mdzilla gh:nuxt/nuxt --plain --page /getting-started/seo-metaUse --plain (or --headless) for non-interactive output β works like cat but for rendered markdown. Auto-enabled when piping output or when called by AI agents.
npx mdzilla README.md --plain # Pretty-print a markdown file
npx mdzilla README.md | head # Auto-plain when piped (no TTY)
npx mdzilla gh:unjs/h3 --plain # List all pages in plain textBrowse mode
| Key | Action |
|---|---|
β β / j k |
Navigate entries |
Enter / Tab / β |
Focus content |
Space / PgDn |
Page down |
b / PgUp |
Page up |
g / G |
Jump to first / last |
/ |
Search |
t |
Toggle sidebar |
q |
Quit |
Content mode
| Key | Action |
|---|---|
β β / j k |
Scroll |
Space / PgDn |
Page down |
b / PgUp |
Page up |
g / G |
Jump to top / bottom |
/ |
Search in page |
n / N |
Next / previous match |
Tab / Shift+Tab |
Cycle links |
Enter |
Open link |
Backspace / Esc |
Back to nav |
q |
Quit |
Search mode
| Key | Action |
|---|---|
| Type | Filter results |
β β |
Navigate results |
Enter |
Confirm |
Esc |
Cancel |
import { DocsManager, DocsSourceFS } from "mdzilla";
const docs = new DocsManager(new DocsSourceFS("./docs"));
await docs.load();
// Browse the navigation tree
console.log(docs.tree);
// Get page content
const content = await docs.getContent(docs.flat[0]);Local development
Published under the MIT license.