gomddoc
Search and read a Markdown documentation directory: pages, sections, table of contents.
ماذا يمكنك أن تفعل مع gomddoc؟
- Universal Content Serving: Renders Markdown to HTML inside a theme; serves HTML, CSS, JS, images and every
- Content Negotiation:
Acceptheader support;Accept: text/markdownreturns the raw Markdown source, an - Clean URLs:
.mdis stripped from URLs by default (/guideserves the page forguide.md); links between - Markdown URLs: every page's
.mdURL (/guide.md) serves its Markdown with generated frontmatter, inserve - llms.txt:
/llms.txtindexes the site for AI agents from the navigation, each page linked by its Markdown URL - Git-Native Content: Serve a local directory or a
git+https:///git+ssh://repository URL (in-memory or - Static Site Generation:
gomddoc buildwrites a static site with clean-URL directories,404.html, sitemap, - Full-Text Search: TF-IDF inverted index built at startup,
tag:filter syntax,GET /api/search, and a
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
ghcr.io/monolithiclab/gomddoc:0.5.0claude mcp add gomddoc -- docker run -i --rm ghcr.io/monolithiclab/gomddoc:0.5.0 mcp /docs
{
"mcpServers": {
"gomddoc": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/monolithiclab/gomddoc:0.5.0",
"mcp",
"/docs"
]
}
}
}
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
Gomddoc
A production-ready HTTP server and static site generator for Markdown documentation, with content negotiation, full-text search, SEO output and a built-in MCP server.
Status
Released and in use: v0.5.0 (2026-11-02) is on GitHub Releases, the Homebrew tap (monolithiclab/tap) and
ghcr.io/monolithiclab/gomddoc, and it publishes Monolithic Lab's own sites. Pre-1.0: configuration keys can still
change between minor versions (since v0.1.2 an unknown key in .gomddoc/config.yml is a load error, so check a site
with gomddoc doctor before bumping a pinned version). Open bugs and the ranked backlog are in ROADMAP.md.
Features
- Universal Content Serving: Renders Markdown to HTML inside a theme; serves HTML, CSS, JS, images and every other file type with its detected MIME type
- Content Negotiation:
Acceptheader support;Accept: text/markdownreturns the raw Markdown source, an unsatisfiableAcceptgets406 - Clean URLs:
.mdis stripped from URLs by default (/guideserves the page forguide.md); links between pages written asguide.mdpoint at the clean URL - Markdown URLs: every page's
.mdURL (/guide.md) serves its Markdown with generated frontmatter, inserveand in static builds, and each HTML page links it asrel="alternate" - llms.txt:
/llms.txtindexes the site for AI agents from the navigation, each page linked by its Markdown URL - Git-Native Content: Serve a local directory or a
git+https:///git+ssh://repository URL (in-memory or on-disk clone) - Static Site Generation:
gomddoc buildwrites a static site with clean-URL directories,404.html, sitemap, feed and redirect stubs - Full-Text Search: TF-IDF inverted index built at startup,
tag:filter syntax,GET /api/search, and a Ctrl+K search dialog in every theme - SEO: Canonical URLs,
sitemap.xml,robots.txt, Atomfeed.xml, Open Graph and Twitter tags, JSON-LD, per-pagerobots,redirect_fromandrel="prev/next", enabled by setting a domain - Tags: Frontmatter tags rendered as chips,
/tags/and/tags/{tag}pages, a see-also section and/api/tags - Internationalization: BCP 47 language directories (
fr-FR/) served under/{lang}/, translated UI strings, a language switcher andhreflangtags - MCP Server:
gomddoc mcp(stdio) and/_mcp/(Streamable HTTP) expose read-only search, page, section and navigation tools to AI agents; every stable release is listed in the MCP Registry asio.github.monolithiclab/gomddoc, running the container image - Themes: One bundled theme (
default) plus seven more in gomddoc-themes; feature toggles and CSS variables in config - Review Annotations: Select text on a rendered page, attach a note, and copy every note of the page as Markdown
naming the source file, ready to paste into an LLM harness; notes stay in the browser's
localStorage - Self-Documenting:
gomddoc help,gomddoc info,gomddoc schemaandgomddoc doctorread the embedded guide, list every setting, print the config JSON Schema and check a site for problems - Secure Defaults: Path jail, hidden-file and
excludeblocking (404), GET/HEAD-only content routes, security headers, optional htpasswd Basic Auth - Operations: Graceful shutdown, configurable timeouts, gzip, ETags, Prometheus metrics, health endpoints, optional pprof, and a separate admin listener
Install
# Install script (Linux / macOS, amd64 / arm64): checksum-verified, cosign-verified when cosign is installed
curl -fsSL https://raw.githubusercontent.com/monolithiclab/gomddoc/main/scripts/install.sh | sh
# Homebrew (macOS / Linux)
brew install monolithiclab/tap/gomddoc
# Go toolchain
go install github.com/monolithiclab/gomddoc/cmd/gomddoc@latest
# Docker (multi-arch image on GitHub Container Registry)
docker run --rm -p 8080:8080 -v "$PWD:/site" ghcr.io/monolithiclab/gomddoc serve /site
Release archives carry an SPDX SBOM each and a Sigstore-signed SHA256SUMS; the
Quick Start explains the install script's options and how to verify a release by hand.
gomddoc is free for noncommercial use under the PolyForm Noncommercial License 1.0.0, which covers open-source projects, personal sites, non-profits and education; any for-profit use, internal documentation included, needs a commercial license. Request a free license through the issue form.
Use
gomddoc serve ./docs # production server on :8080 (also git+https:// and git+ssh:// URLs)
gomddoc preview ./docs # dev mode, first free port from 8080, opens the browser
gomddoc build ./docs -d docs.example.com # static site into build/site
gomddoc doctor ./docs # every configuration and content problem, with fixes
gomddoc help # the user guide, embedded in the binary
Documentation
The user guide is docs/guide/, the same pages gomddoc help and the gomddoc mcp server
serve:
| Topic | Page |
|---|---|
| Install, first site, verifying a release | Quick Start |
| Every flag, environment variable and config key | Configuration |
| Local directories and Git sources | Content Sources |
| AI agents over MCP | MCP Server |
| Themes, templates, web components | Theming & Assets |
| Authentication, path jail, headers | Security |
| Health, metrics, pprof | Observability |
| Docker, Kubernetes, static hosting | Deployment |
| Search, SEO, i18n | Search, SEO, Internationalization |
| HTTP endpoints and headers, custom renderers | Advanced Topics |
| Problems and fixes | Doctor, Troubleshooting |
For contributors: docs/architecture.md (how the pieces fit),
docs/decisions.md (why, D-numbered), docs/specs/ and plans/ (feature designs and
their execution notes), docs/reviews/ (review rounds) and ROADMAP.md.
Development
Requirements: Go (the exact toolchain is pinned by go.mod's toolchain line and fetched automatically) and Make.
Lint and benchmark tools are pinned in tools/go.mod; nothing needs installing globally.
make help # every command
make ci # the gate CI runs: golangci-lint, govulncheck, go mod tidy -diff, action/image pin checks,
# then tests with -race and 87% minimum coverage (needs network for govulncheck)
make run # serve ./testsite locally
Contributions: branch, make lint-fix, make ci, then a pull request. Coverage stays at 87% or above.
License
gomddoc is dual-licensed:
- Noncommercial use (personal projects, hobby use, education, research, and other noncommercial purposes) is free under the PolyForm Noncommercial License 1.0.0.
- Commercial use — any use that is not a noncommercial purpose, including use in or for a for-profit business, product, or service — requires a separate commercial license. See LICENSE-COMMERCIAL.md.
Release notes for each version are on GitHub Releases, generated by GoReleaser from conventional commit messages.
الأسئلة الشائعة
ما هو gomddoc؟
Search and read a Markdown documentation directory: pages, sections, table of contents.
كيف أثبّت gomddoc؟
يعمل على جهازك. في Claude Code: claude mcp add gomddoc -- docker run -i --rm ghcr.io/monolithiclab/gomddoc:0.5.0 mcp /docs. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج gomddoc إلى مفتاح API؟
لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.
هل gomddoc مفتوح المصدر؟
شيفرته علنية على GitHub، لكن المستودع لا يعلن ترخيصًا قياسيًا.
من يصون gomddoc؟
ينشره monolithiclab. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.