finds.dev← search

// the find

fullstackhero/dotnet-starter-kit

★ 6,546 · C# · MIT · updated Jun 2026

Production Grade Cloud-Ready .NET 10 Starter Kit (Web API + React Client) with Multitenancy Support, and Clean/Modular Architecture that saves roughly 200+ Development Hours! All Batteries Included.

A .NET 10 + React 19 scaffolding kit for multi-tenant SaaS — auth, billing, multitenancy, real-time, file storage, webhooks, and background jobs wired up before you write your first line of business logic. You run `fsh new MyApp` and get detached source with real project references, not a NuGet black box. Aimed at solo devs or small teams who want to skip the plumbing and ship a product.

- The one-shot DbMigrator pattern is the right call — migrations never run at API startup, which prevents the class of production incidents where a multi-instance deploy races on schema changes.

- Module boundaries enforced by NetArchTest architecture tests, not just folder convention. If you accidentally reach across a module boundary, CI breaks. That discipline is rare in starter kits.

- Source-generated CQRS via Martinothamar's Mediator instead of MediatR — no reflection overhead at runtime, and the source generator surfaces wiring errors at compile time rather than startup.

- The `.agents/` directory ships with rules, skills, and workflows for AI coding agents (separate files for CLAUDE.md, AGENTS.md, GEMINI.md). First starter kit I've seen that treats AI pair programming as a first-class workflow.

- The 'it's all yours' pitch cuts both ways: once you scaffold, upstream fixes don't merge back. You own the Chat module, the Billing module, and the Webhooks module forever — including security patches in code you didn't write and probably don't fully understand yet.

- Admin and dashboard are two entirely separate React apps with duplicated shadcn components. When Tailwind v4 or Radix ships a breaking change, you fix it twice, in two different package-lock files, hoping you didn't miss anything.

- Finbuckle multitenancy adds non-obvious complexity that the README treats as a solved problem. Per-tenant migrations, tenant resolution middleware, and isolated DbContexts interact in ways that will surprise you the first time a tenant provisioning step partially fails.

- The breadth is also the adoption risk: you inherit Hangfire, SignalR, a Billing module, a Chat module, and a Tickets module on day one. If your MVP needs none of those, you're now maintaining dead code and explaining to new contributors why it's there.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →