Introduction

null docs is a documentation template that gets out of your way. Write your docs in Markdown or MDX, configure everything from a single YAML file, and deploy anywhere that runs Bun.

Why null docs?

  • Fast — Bun runtime + ElysiaJS means sub-millisecond response times. Pages are server-rendered with zero client-side JavaScript by default.
  • Simple — One site.yaml file controls your site name, theme, colors, fonts, navigation, and landing page layout.
  • MDX support — Write standard Markdown with optional React components. Syntax highlighting is handled server-side with Shiki.
  • Built-in search — FlexSearch indexes all your pages at build time. No external services required.
  • Type-safe — All configuration is validated with Zod schemas. Errors are caught before they reach production.

Quick start

git clone https://github.com/Nu11ified/docs-template my-docs
cd my-docs
bun install
bun run dev

Your docs site is running at http://localhost:3000.

Project structure

my-docs/
├── content/
│   └── v1/
│       └── docs/
│           ├── meta.json          # Page ordering
│           ├── index.mdx          # Docs homepage
│           └── getting-started/
│               ├── meta.json
│               └── installation.mdx
├── site.yaml                      # Site configuration
├── src/
│   ├── server/                    # ElysiaJS server + routes
│   ├── shared/                    # React components (SSR)
│   ├── client/                    # Client-side islands
│   └── styles/                    # Tailwind CSS
└── public/                        # Static assets

Next steps