Introduction

ShellDocs is the docs framework for .NET. Beautiful, animated, Cmd+K-searchable documentation sites, powered by Blazor and Tailwind. Compose with ShellUI (or any Blazor component library) : like fumadocs composes with shadcn/ui in the React world.

Alpha status

ShellDocs is at 0.1.1-alpha. The primitive surface is stable enough to build real docs sites : this site is built with ShellDocs itself. Expect small API polish through the 0.x.y-alpha window before 1.0.

Why ShellDocs exists

Every .NET UI library ends up hand-rolling its own docs site. MudBlazor, Radzen, AvaloniaUI : each spent months rebuilding a sidebar, a search box, a code block, a theme toggle. None of it was reusable.

ShellDocs is the "just use this" answer. Point it at a folder of markdown, get a working docs site : with the design polish React consumers have taken for granted since fumadocs shipped in 2023.

What you get

Markdown-first authoring
YAML frontmatter, fenced code blocks with Shiki highlighting, live-rendered `razor:preview` examples, and inline Razor component tags mid-prose.
Auto-wired navigation
File-based routing. Drop a .md into `content/`, it becomes a page. Sidebar, breadcrumb, prev/next, TOC : all derived from the tree.
Cmd+K search
Client-side substring scoring against title, description, section, and body. Snippet extraction for body-only matches. Zero backend.
Blazor-native
Components render as real Razor components : not iframes, not screenshots. Full JS interop, hot reload, all the tooling you already have.
Static site output
`shelldocs build` produces a static site ready for GitHub Pages, Vercel, Netlify, Cloudflare. Base-href rewrite + SPA 404 fallback included.

How it looks in practice

Author a page as plain markdown with frontmatter:

markdown
---
title: Button
description: A pressable UI element.
---

# Button

The `<Button>` component ships in three variants.

## Live example

```razor:preview
<Button Variant="primary">Click me</Button>
```

Drop inline components anywhere in prose:

markdown
<div data-shelldocs-slot="component" data-shelldocs-id="s782267e0b135"></div>

The whole thing renders : Callout with icon and variant styling, live Button component, syntax-highlighted code samples, working TOC : with zero JavaScript beyond what Blazor and Shiki need.

The three packages you'll touch most

Prop Type Default Description
ShellDocs.CLI global tool `shelldocs init`, `add`, `dev`, `build`. Installed once, works from any directory.
ShellDocs.Components Razor Class Library The chrome (layout, sidebar, search, header) and content primitives (Callout, Card, Steps, CodeGroup, TypeTable, more).
ShellDocs.Tokens Razor Class Library Shared CSS variables : palette + spacing scale. shadcn-compatible names for interop with ShellUI and other design systems.

Where to go next