Vertical slice structure
Feature work is organized by business capability so handlers, routes, validation, and contracts stay easier to trace as the system expands.
Krafter combines Vertical Slice Architecture, Hybrid Blazor, Aspire orchestration, permission-based auth, and agent-friendly project structure so you can spend time on product features instead of startup plumbing.
Instead of asking teams to assemble architecture, auth, tenancy, and developer workflow from scratch, it gives them a credible baseline that behaves like a real product.
Feature work is organized by business capability so handlers, routes, validation, and contracts stay easier to trace as the system expands.
Start from a multi-tenant baseline with room to support single-tenant products, isolated behavior, and tenant-aware APIs.
JWT auth, refresh tokens, Google login, and permission-aware authorization are part of the starter instead of postponed into riskier later work.
Scoped guidance and explicit project boundaries reduce ambiguity for teams using AI-assisted workflows alongside conventional engineering.
Krafter combines structured backend slices, authentication, and dependable local orchestration so new features land on a foundation that stays understandable as the codebase expands.
Routes, handlers, validation, and contracts follow a consistent VSA flow that keeps review and extension work predictable.
JWT, refresh tokens, Google OAuth, and permission-aware checks are built in instead of pushed into a risky later phase.
AppHost boots the migrator before the API so schema changes and startup sequencing are part of the normal developer path.
dotnet run --project aspire/AditiKraft.Krafter.Aspire.AppHost/AditiKraft.Krafter.Aspire.AppHost.csprojchecked-in migrations applied cleanly
auth, endpoints, and contracts available
serving on https://localhost:7291
Krafter is opinionated enough to accelerate delivery, but explicit enough that teams can still reason about structure, trace behavior, and extend the system without losing confidence.
Blazor UI modes, Refit clients, and shared contracts create a strongly typed path from browser interaction to API behavior.
Aspire and OpenTelemetry are part of the architecture from the start, reducing the need for a later operations rewrite.
Scoped guidance, explicit feature boundaries, and predictable project structure make AI-assisted work more dependable instead of more chaotic.
Hybrid rendering with typed shared contracts.
Strongly typed boundaries between UI and backend slices.
Operational defaults that scale past localhost.
ASP.NET Core Minimal APIs, EF Core, validation, realtime capabilities, and explicit feature boundaries form the default delivery model.
Blazor render modes, Radzen components, local state, and typed shared contracts keep the UI strongly connected to backend behavior.
Aspire orchestration, OpenTelemetry, container support, and build automation are part of the default path rather than optional cleanup work.
JWT auth, refresh tokens, Google OAuth, and permission-based authorization give teams a baseline they can extend with less rework.
Start from the GitHub repo or scaffold a renamed solution with the published dotnet new krafter template.
One command brings up the dashboard, database dependencies, migrator, API, and Blazor UI in the expected order.
Checked-in migrations are applied automatically before the main API starts, so local setup stays aligned with the repo.
Use the seeded admin account or Google login, then inspect the existing flows before shaping the product around your own domain.
Follow the scoped Agents.md instructions to extend contracts, backend slices, UI features, and infrastructure with minimal drift.
Use the AppHost when you want the repo as-is, or start from the template when you want the same baseline under your own product name.
dotnet run --project aspire/AditiKraft.Krafter.Aspire.AppHost/AditiKraft.Krafter.Aspire.AppHost.csprojdotnet new krafter -n MyCompanyAppNeed to evaluate Krafter for a new SaaS product, internal platform baseline, or team adoption path? Reach out and we can help frame the fit.