NETrock is a free, MIT-licensed, full-stack boilerplate for building production-ready SaaS applications, pairing a .NET 10 Clean Architecture API with a SvelteKit frontend that ships with auth, admin, security, and infrastructure already built.
What is NETrock?
NETrock is a full-stack application starter that combines a .NET 10 Clean Architecture backend with a SvelteKit 5 frontend, targeting PostgreSQL 15 and Docker-based deployment. It takes your product idea as input and gives you a production-grade API with JWT auth, role management, rate limiting, OpenAPI docs, and a typed SvelteKit frontend as output. The project is created by fpindej and distributed on GitHub with an MIT license, and it includes an optional generator at netrock.dev for configuring a custom project without cloning.
What makes NETrock stand out?
NETrock goes beyond typical boilerplate by shipping OAuth/OIDC login for 10 providers—Google, GitHub, Discord, Apple, Microsoft, Facebook, LinkedIn, GitLab, Slack, and Twitch—all admin-configurable from the UI without redeploying. It also includes TOTP two-factor authentication with recovery codes, a permission system with role hierarchy, an admin panel for managing users, roles, background jobs, and OAuth provider credentials encrypted with AES-256-GCM, a full audit trail, PII compliance via server-side masking, and rate limiting.
- Backend stack — .NET 10 with C# 13, JWT auth with token rotation and reuse detection, Hangfire background jobs, HybridCache, PostgreSQL with soft delete, S3-compatible file storage, Result pattern with ProblemDetails.
- Frontend stack — Svelte 5 runes, Tailwind CSS 4, shadcn-svelte component library, Cmd+K command palette, i18n with Paraglide JS, dark mode, and a BFF proxy with CSRF protection.
- Admin panel — Manage users, roles, background jobs, and OAuth providers from a built-in UI; credential fields are encrypted at rest.
- Infrastructure — .NET Aspire AppHost starts PostgreSQL and MinIO containers locally with an OTEL dashboard and MailPit for email testing; production Dockerfiles and GitHub Actions CI with path filtering are included.
- Developer experience — 20-plus Claude Code skills (for example
/new-feature,/new-endpoint,/new-page), 12 specialized agents in.claude/agents/, and structured context files likeCLAUDE.mdandFILEMAP.md. - No template lock-in — the
init.sh/init.ps1script renames the project and leaves no dependency on the template; the result is your own codebase.
Who should use NETrock?
- Indie SaaS founders — launch a product with working login, 2FA, and role-based authorization instead of building them from scratch.
- Small development teams — standardize on a tested .NET 10 + SvelteKit architecture with admin tools and CI already configured.
- Backend-focused .NET developers — use only the API and swap the SvelteKit frontend for any other client, since the API is OpenAPI-first.
- Developers who value documentation — every convention, security decision, and architecture choice is documented in the
docs/folder.
What can you do with NETrock?
- SaaS founders — run the init script and start the Aspire AppHost, and you have PostgreSQL, MinIO, the API, and the frontend running locally; a Superuser is seeded with credentials you provide.
- Feature developers — scaffold a full-stack feature (entity, service, controller, page) with the
/new-featureClaude Code skill, or regenerate TypeScript types from OpenAPI with/gen-types. - Admins — enable and configure OAuth providers from the admin panel without redeploying, with credentials stored encrypted.
- Security-conscious teams — use the built-in PII masking and audit trail to satisfy compliance expectations; the docs explain how.
How does NETrock work?
Clone the repository, run init.sh (macOS/Linux) or init.ps1 (Windows) to set your project name and base port, then start the stack with dotnet run --project src/backend/MyProject.AppHost. Aspire launches PostgreSQL and MinIO as containers and runs the API and frontend development server; the Aspire Dashboard surfaces all service URLs including API docs and MailPit. The init script optionally creates the initial migration and seeds a Superuser.
Pros and cons
- Pros: free and MIT-licensed; includes 10 OAuth providers and TOTP 2FA out of the box; tested at the architecture layer; no template dependency after initialization; runs locally with one Docker/Aspire command.
- Cons: opinionated by design (PostgreSQL and JWT cookies are chosen for you); it is a monolith, not a microservices framework; you still need to understand .NET and, if you keep the frontend, SvelteKit.
Pricing
NETrock is free and open source under the MIT License. The project is available on GitHub, and the NETrock Generator at netrock.dev lets you pick features and download a ready-to-run project without cloning the whole repository.
FAQ
Is NETrock free?
Yes. NETrock is released under the MIT License, so you can use, modify, and fork it for commercial projects without paying a license fee. The repository has 230 stars on GitHub, and the project publishes a Discord community for discussion.
What OAuth providers does NETrock support?
NETrock supports Google, GitHub, Discord, Apple, Microsoft, Facebook, LinkedIn, GitLab, Slack, and Twitch. All external login providers are configured by admins from the UI, and the provider credentials are encrypted with AES-256-GCM before storage.
Does NETrock require Docker?
Docker is required for the default local setup because .NET Aspire starts PostgreSQL and MinIO as containers, and Docker Desktop is listed as a prerequisite. The production Dockerfiles also assume a containerized deployment workflow.
Can I use NETrock without the SvelteKit frontend?
Yes. The backend is API-first and exposes OpenAPI documentation, and the architecture is documented so you can build your own frontend or use any other client. The included SvelteKit frontend generates its type-safe API client from the OpenAPI spec.
What is the .NET version?
NETrock is built on .NET 10 with C# 13, and the frontend uses SvelteKit with Svelte 5. The repository pins these versions in its CI badge and prerequisites.








