Angular docs starter. Drop a markdown file, get a route.
Modern stack (Vite 8, Angular 22, Tailwind v4, Shiki), full docs-site frame (sidebar, command palette, TOC, prev/next, edit-on-github, sitemap, link guards), and a build-time pipeline that catches broken anchors before you ship.
pnpm create ngmd@latest my-docs
cd my-docs
pnpm install
pnpm run devnpm create ngmd@latest, yarn create ngmd, and bun create ngmd all work too.
Run the same command anywhere inside an Nx workspace. create-ngmd finds nx.json and adds the site as an Nx app in apps/<name>, with a project.json that uses the AnalogJS executors and its dependencies added to the root package.json:
pnpm create ngmd@latest docs # writes apps/docs
pnpm install
pnpm nx serve docsUse --directory <dir> for another folder and --no-nx for a standalone project. Details in Nx Monorepos.
Two patterns, pick per page. Prose pages are markdown files under src/content/. Drop theming.md under src/content/concepts/ and /concepts/theming resolves to it; one catch-all route handles every prose page. Sidebar, TOC, prev/next, and edit-on-github derive from ngmd.config.ts and git log. Component pages compose Angular components in .page.ts directly using NgMd's seventeen authoring components (callout, alert, card, card-grid, tabs, tab, pill-row, pill, workflow, step, hero, code-block, accordion, accordion-item, badge, video, image). Sixteen of them also render inline in markdown via Custom Elements; code-block uses fenced ``` blocks instead.
The fork: prose in markdown, authoring components in TypeScript. The dual-pipeline approach where you write <docs-callout> inside .md was explored and rejected (see PLAN.md).
Site frame, palette, prev/next footer, edit-on-github, heading anchors, shiki dual-theme, fuchsia accent. Build-time link guards, sitemap, page-meta plugin. Relative .md links ([Theming](./theming.md)) that work on GitHub and on the site. Page title, description and social tags filled from ngmd.config.ts. Authoring components and code-fence affordances (*Keyword auto-linking, ```ts file="..." imports, group tabs, line highlighting). Agent skills for Claude Code / Gemini CLI / Antigravity so coding agents already know the conventions.
Full feature list and live demos at ngmd.netlify.app.
| Tool | Role |
|---|---|
| Angular (v22) | Framework |
| AnalogJS | File-based routing, SSR/SSG, content collections |
| Tailwind v4 | Styling |
| Shiki | Code highlighting |
| Marked | Markdown parsing |
pnpm run build produces a static + SSR bundle under dist/. Deploy to Vercel, Netlify, or any node host. Sitemap and robots.txt land in dist/analog/public/ automatically. Update site.url in ngmd.config.ts to your live origin so the sitemap and the Open Graph tags reference the right URL.
v0. Core (markdown rendering, theming, navigation, site frame, authoring components, build pipeline), Cmd+K search with an opt-in Algolia adapter, a version switcher, and an API reference scaffold are in place. The path to 1.0 is in ROADMAP.md.
- Get help — issues, discussions, paid support
- Contribute — guidelines and where to start, full notes in CONTRIBUTING.md
- Sponsor — back the project on GitHub Sponsors
MIT © 2026, Kam (@erkamyaman)