Skip to content

Commit 82bbe7a

Browse files
committed
docs: enhance README and add foundational documentation for ShellDocs, including architecture, design, and roadmap details. Introduce comprehensive descriptions of features, usage, and package structure to support developers in utilizing the framework.
1 parent b14a736 commit 82bbe7a

4 files changed

Lines changed: 1308 additions & 2 deletions

File tree

README.md

Lines changed: 92 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,92 @@
1-
# shelldocs
2-
shelldocs framework for writing docs using shellui
1+
# ShellDocs
2+
3+
**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.
4+
5+
> Status: **`0.1.0-alpha` in progress.** Not yet published to NuGet. See [ROADMAP](docs/ROADMAP.md).
6+
7+
## Why ShellDocs
8+
9+
Every .NET UI library ends up hand-rolling their own docs site. MudBlazor, Radzen, AvaloniaUI — each spent months rebuilding a sidebar, a search box, a code block, a theme toggle, from scratch. None of it is reusable.
10+
11+
ShellDocs is the "just use this" answer. It's the docs framework for the whole .NET ecosystem.
12+
13+
- **Markdown authoring** with YAML frontmatter, inline Razor tags, and live component previews (`` ```razor:preview ``)
14+
- **File-based routing** — drop a `.md` in `content/` and it's a page
15+
- **Cmd+K search** with a build-time client-side index — no backend needed
16+
- **Blazor-native** — components render as real Razor, not iframes, not screenshots
17+
- **Composable with any Blazor component library** — ShellUI, MudBlazor, Radzen, your own
18+
- **Tailwind CSS v4** — same aesthetic as ShellUI + shadcn, same theme tokens for interop
19+
- **Animated** — page transitions, sidebar collapses, scroll-spy, `prefers-reduced-motion` aware
20+
- **Static site output** — deploy to GitHub Pages, Vercel, Netlify, Cloudflare, anywhere
21+
22+
## Quick start
23+
24+
```bash
25+
# Create a new Blazor WASM app
26+
dotnet new blazorwasm -n MyDocs
27+
cd MyDocs
28+
29+
# Install the ShellDocs CLI
30+
dotnet tool install -g ShellDocs.CLI
31+
32+
# Initialize the docs site
33+
shelldocs init
34+
35+
# Author content in Markdown
36+
shelldocs new page introduction
37+
38+
# Develop with hot-reload
39+
shelldocs dev
40+
41+
# Ship it
42+
shelldocs build
43+
```
44+
45+
## Coexists with ShellUI (and any Blazor UI library)
46+
47+
ShellDocs uses the same Tailwind v4 setup and CSS variable contract as ShellUI. Both libraries share the same theme tokens (`--background`, `--foreground`, `--primary`, `--border`, `--radius`, etc.), so you can drop them into the same page and they compose seamlessly — the fumadocs + shadcn pattern, ported to .NET.
48+
49+
```razor
50+
@* Your docs page — ShellUI components inline in Markdown *@
51+
<Button Variant="ButtonVariant.Default">A ShellUI button</Button>
52+
<Callout Type="Tip">A ShellDocs callout</Callout>
53+
```
54+
55+
Under the hood ShellDocs takes a hard dependency on `ShellUI.Components` for base primitives (`Button`, `Dialog`, `Command`, `Sidebar`, etc.). Zero style clash.
56+
57+
## Package family
58+
59+
| Package | Purpose |
60+
|---|---|
61+
| [`ShellDocs.CLI`](src/ShellDocs.CLI) | Global tool — `shelldocs init`, `shelldocs new`, `shelldocs dev`, `shelldocs build` |
62+
| [`ShellDocs.Components`](src/ShellDocs.Components) | RCL — `DocsLayout`, `DocsSidebar`, `CodeBlock`, `SearchDialog`, `TableOfContents`, etc. |
63+
| [`ShellDocs.Markdown`](src/ShellDocs.Markdown) | Markdig pipeline — frontmatter, `razor:preview` fences, inline Razor tags |
64+
| [`ShellDocs.Core`](src/ShellDocs.Core) | Navigation graph, search index model, routing helpers. Blazor-agnostic. |
65+
| [`ShellDocs.Templates`](src/ShellDocs.Templates) | Content used by `ShellDocs.CLI` scaffolding |
66+
67+
Optional / v2:
68+
69+
- **`ShellDocs.Xml`** — extract `<TypeTable>` from XML doc comments
70+
- **`ShellDocs.Themes.Fuma`**, **`ShellDocs.Themes.Nextra`** — theme presets
71+
- **`ShellDocs.OpenApi`** — OpenAPI spec → API reference pages
72+
73+
## Documentation
74+
75+
- [Design](docs/DESIGN.md) — what ShellDocs is, positioning, primitives, ecosystem story
76+
- [Roadmap](docs/ROADMAP.md) — branch-by-branch implementation plan
77+
- [Architecture](docs/ARCHITECTURE.md) — technical architecture: package boundaries, service registration, markdown pipeline, navigation graph, search index
78+
79+
Once we ship `0.2.0-alpha`, official docs will live at **[shelldocs.dev](https://shelldocs.dev)** (dogfooded on ShellDocs itself).
80+
81+
## Related projects
82+
83+
- [ShellUI](https://github.com/shellui-dev/shellui) — the Blazor component library ShellDocs is built with
84+
- [shellui.dev](https://github.com/shellui-dev/shellui.dev) *(coming soon)* — ShellUI's own docs site, built with ShellDocs
85+
86+
## Contributing
87+
88+
`0.1.0-alpha` is scaffolding-first — architecture and API surface are still moving. Once we hit `0.2.0-alpha`, we'll open up contributions with a proper `CONTRIBUTING.md`.
89+
90+
## License
91+
92+
[MIT](LICENSE) — do whatever you want, no warranty.

0 commit comments

Comments
 (0)