Getting started
The RATH stack for .NET — Razor, Alpine.js, Tailwind, HTMX. Editable components, server-rendered, hot reload under 500ms. No Node toolchain.
Noundry Studio is built around the RATH stack: Razor for the views, Alpine.js for client state, Tailwind for styling, HTMX for server roundtrips. Together they give you React-Vite-class iteration speed and a shadcn-quality component story, all server-rendered.
Three pieces ship together:
ndui— adotnetglobal tool that installs editable Razor source into your project from the Noundry registry and tracks what's there.- The Studio Starter — an opinionated .NET 10 Razor Pages app, pre-wired with HTMX (server roundtrips), Alpine (client state), Tailbreeze (Tailwind without Node), and a working products feature. The same template scaffolded by
ndui init. - The registry at registry.noundry.com — 53 component manifests, each with the right install side-effects (
PackageReference,@addTagHelperdirective, optional Razor partials).
Used in production at remotedevelopers.com, leadkumo.com, yieldhq.com, burnnote.org, nugx.org, insurancera.com, tryengrave.com, pryvc.com, slimwin.com, and pdffrom.com.
#The 60-second path
dotnet tool install -g Noundry.Studio.CLI
ndui init my-app
cd my-app
ndui add button card datatable dialog toast
dotnet run
Open https://localhost:5001 — you get a working dashboard, product catalog (), create/edit flow ( + form components, submitting via HTMX), and a global toast surface () that picks up server-side AddToast() calls automatically.
#Why this stack
| Property | RATH (Studio) |
|---|---|
| Iteration speed | dotnet watch recompiles a Razor view in ~300ms; HTMX swap in <100ms |
| Build steps | One: dotnet build. No Node, no bundler, no WASM, no SignalR circuit |
| Server roundtrips | HTMX (hx-get, hx-post, hx-target, hx-swap, hx-trigger) |
| Client state | Alpine (x-data, x-show, x-on:click, x-persist) |
| Styling | Tailwind v4 compiled by an MSBuild task (Tailbreeze) |
| Components | Razor TagHelpers from Noundry.UI — installed as editable source via ndui add |
#What ndui add actually does
ndui add is a facade for most components — it ships zero files to your project:
- Adds
to your.csproj(idempotent). - Adds
@addTagHelper *, Noundry.UItoPages/_ViewImports.cshtml(idempotent). - Records the component in
ndstudio.json. - Prints the tag usage shape so you can drop it into your page.
$ ndui add datatable
✓ datatable@2.0.0 added (1 NuGet, 1 _ViewImports directive)
Usage: <noundry-data-table items="@Model.Products" per-page="10" show-search="true">
<noundry-data-table-column key="Name" sortable="true" />
</noundry-data-table>
For the 9 components with no Noundry.UI equivalent (avatar, empty-state, sidebar, topbar, theme-toggle, user-nav, notifications-popover, data-list, icon), Studio ships a small Razor partial you can edit — documented per-component at /docs/components.
#The starter, in one paragraph
ndui init my-app extracts a .NET 10 Razor Pages project that boots with: HTMX 2 + Alpine 3 + Tailwind v4 (via Tailbreeze, no Node), Tuxedo over SQLite for data, a working /products feature with create/edit/delete (form submits via hx-post, table refreshes via hx-target swap, toasts surface via hx-swap-oob from _ToastContainer), a TempData-buffered toast bridge (AddToast() server-side → window.toast.* client-side, automatically), Engine-ready Dockerfile for one-command ndng up deploys.
#Part of the broader Noundry toolset
Studio composes naturally with other Noundry libraries:
- Noundry.UI — 73 Razor TagHelpers (the components Studio installs)
- Noundry.TagHelpers —
asp-if, validation, form-group, display, editor - Noundry.RazorHelpers —
RenderFragment,HtmlBuilder,TableBuilder - Noundry.Tailbreeze — Tailwind v4 without Node
- Noundry.Tuxedo — Dapper-style data access (SQL Server, PostgreSQL, MySQL, SQLite)
- Noundry.Sod — Zero-dep schema validation
- Engine (
ndng) — Docker-first deploy, ~50 MB chiseled .NET 10 images - Spinup — Multi-cloud Terraform CLI (AWS, Azure, GCP, DigitalOcean)
#Learn more
- Install
- CLI reference
- Component catalog
- Reactivity patterns — 15 HTMX patterns for live search, optimistic delete, infinite scroll, modal forms, and more
- llms.txt — single-file reference designed for AI coding agents