Skip to content
Shiny.NET

Getting Started

Shiny.AspNet is a set of independent libraries for ASP.NET Core. Each one is a single package you add to an existing app, registered the ASP.NET way — builder.Services.Add…(), app.Map…() or app.Use…() — and every Map… returns an IEndpointConventionBuilder, so RequireAuthorization, RequireCors, RequireRateLimiting and the rest of ASP.NET’s own conventions apply to everything a library maps.

They are ports of the Shiny HTTP Server add-ons, re-hosted on Kestrel. All of them are trim and Native AOT clean.

GitHub GitHub stars for shinyorg/aspnet
Frameworks
ASP.NET
Package Description
NuGet package Shiny.AspNet.WebHosting Modular startup with IWebModule
NuGet package Shiny.AspNet.WebDav WebDAV class 1 & 2 — mount a directory in Finder, Explorer or any WebDAV client
NuGet package Shiny.AspNet.CalDav CalDAV & CardDAV — serve calendars and contacts to Apple, Thunderbird and DAVx⁵
NuGet package Shiny.AspNet.Tus Resumable uploads over tus 1.0.0
NuGet package Shiny.AspNet.FileSync Dropbox-style file sync with content-defined chunking
NuGet package Shiny.AspNet.NuGet A private NuGet feed — the V3 protocol, push, unlist and search
NuGet package Shiny.AspNet.Npm A private npm registry for npm, pnpm and Yarn
NuGet package Shiny.AspNet.DocumentDb REST + live SSE endpoints for a Shiny.DocumentDb document type
NuGet package Shiny.AspNet.JsonPatch RFC 6902 JSON Patch on System.Text.Json, with minimal-API binding
NuGet package Shiny.AspNet.Webhooks Webhook verification and signing — GitHub, Stripe, Slack, Standard Webhooks
NuGet package Shiny.AspNet.Idempotency Idempotency-Key middleware — replay the original response to a retried POST
NuGet package Shiny.AspNet.ContentDigest RFC 9530 Content-Digest verification and emission
NuGet package Shiny.AspNet.Acme Automatic TLS from Let’s Encrypt or any ACME CA, hot-swapped into Kestrel
NuGet package Shiny.AspNet.Discovery mDNS / DNS-SD advertising of the app on the local network
NuGet package Shiny.AspNet.Ssh SSH remote forwarding, including zero-account quick tunnels
NuGet package Shiny.AspNet.Tunnels cloudflared, ngrok and Tailscale agents, supervised

The protocol code, stores and options are the same; what changes is how a library attaches to the server:

  • server.MapX(...) becomes app.MapX(...) on any IEndpointRouteBuilder, including route groups, and returns an ASP.NET convention builder. The httpserver-only wrappers (RequireIpFilter, AllowAnyIp) are gone — use ASP.NET’s middleware for those.
  • Request handlers take Microsoft.AspNetCore.Http.HttpContext; store and hook delegates keep their shapes.
  • Anything that followed the HttpServer lifecycle follows the ASP.NET host instead — tunnels, discovery and certificate renewal start once Kestrel is listening.
claude plugin marketplace add shinyorg/skills
claude plugin install shiny@shiny

One plugin installs all 48 Shiny skills. Your agent loads only the skill relevant to what you're building, so there's no cost to having them all available.

copilot plugin marketplace add https://github.com/shinyorg/skills
copilot plugin install shiny@shiny

One plugin installs all 48 Shiny skills. Your agent loads only the skill relevant to what you're building, so there's no cost to having them all available.

View shiny-aspnet Skill