Full-stack .NET 10 + SvelteKit foundation. Auth, permissions, background jobs, admin panel — production-ready out of the box.
Clean Architecture. Fully tested. Fully dockerized. API-first — use the included frontend or bring your own.
Every project starts the same way: authentication, role management, rate limiting, validation, API documentation, Docker setup... You spend weeks on infrastructure before writing a single line of business logic.
NETrock skips all of that. It ships a production-hardened .NET 10 API with a complete SvelteKit frontend — real security, real patterns, and real conventions that scale. Login works. Token rotation works. The permission system enforces role hierarchy. The admin panel manages users, roles, and background jobs. The Docker stack spins up with health checks. CI runs your tests.
Fork it, init it, own it. After initialization, there is no dependency on "the template." It's your code, your architecture, your product. Every decision is documented so you can understand it, change it, or throw it away.
Backend — JWT auth with token rotation and reuse detection, permission-based authorization with role hierarchy, rate limiting, Redis caching with auto-invalidation, PostgreSQL with soft delete and audit trails, Hangfire background jobs, OpenAPI docs, health checks, Result pattern with ProblemDetails everywhere. See full details →
Frontend — Svelte 5 runes, type-safe API client generated from OpenAPI, automatic token refresh, Tailwind CSS 4 with shadcn-svelte, BFF proxy with CSRF protection, i18n, security headers, permission guards, dark mode, admin panel with user/role/job management. See full details →
Infrastructure — Single docker compose up for 5 services, init script for project bootstrapping, deploy script with multi-registry support, GitHub Actions CI with smart path filtering, Dependabot. See full details →
Security — Security-first design with HttpOnly JWT cookies, refresh token rotation with reuse detection, security stamp propagation, CSP with nonces, CORS startup guard, rate limiting, and input validation everywhere. See full details →
Want to see it first? Check out the live demo.
git clone https://github.com/fpindej/netrock.git my-saas
cd my-saas
macOS / Linux:
chmod +x init.sh
./init.sh
Windows (PowerShell):
.\init.ps1
The init script will ask for your project name and base port, then rename everything, generate a JWT secret, and optionally create the initial migration and start Docker.
docker compose -f docker-compose.local.yml up -d --build
That's it. Your entire stack is running:
| Service | URL |
|---|---|
| Frontend | http://localhost:<BASE_PORT> |
| API Docs (Scalar) | http://localhost:<BASE_PORT + 2>/scalar/v1 |
| Hangfire Dashboard | http://localhost:<BASE_PORT + 2>/hangfire |
| Seq (Structured Logs) | http://localhost:<BASE_PORT + 8> |
Three test users are seeded in development:
| Role | Password | |
|---|---|---|
| SuperAdmin | [email protected] |
SuperAdmin123 |
| Admin | [email protected] |
Admin123 |
| User | [email protected] |
User123 |
Add your domain entities, services, and pages — the architecture guides you. See SKILLS.md for step-by-step recipes.
| File | Purpose |
|---|---|
CLAUDE.md |
Hard rules, pre-commit checks, architecture overview |
AGENTS.md |
Full developer guide — security, git discipline, error handling, local dev |
src/backend/AGENTS.md |
Backend conventions — entities, Result pattern, EF Core, controllers, testing |
src/frontend/AGENTS.md |
Frontend conventions — routing, API client, components, styling, i18n |
SKILLS.md |
Step-by-step recipes for 25+ common operations |
FILEMAP.md |
Change impact tables — "when you change X, also update Y" |
Deep dives: Features · Security · Architecture · Development · Before You Ship
Production-ready i18n with Paraglide JS — type-safe keys, SSR-compatible, auto-detection via Accept-Language. Ships with English and Czech. Adding a language is a single JSON file.
NETrock is opinionated by design. It's not:
Contributions are welcome! See CONTRIBUTING.md for guidelines.
NETrock is free and open source under the MIT License. If it saves you time, consider supporting its development:
Star the repo on GitHub · Join the Discord · Need custom development, consulting, or training? Get in touch
This project is licensed under the MIT License.