Mitc.ProjectTemplates 1.4.0

Mitc.ProjectTemplates

A dotnet new template package containing project templates for internal use.

Installing

dotnet new install Mitc.ProjectTemplates

Uninstalling

dotnet new uninstall Mitc.ProjectTemplates

Documentation

API reference and conceptual docs are generated with DocFX.

View locally:

serve-docs.cmd

Or manually: dotnet docfx docs/docfx.json --serve — opens at http://localhost:8080

CI: Documentation is automatically published to GitHub Pages on push to master when docs or Core/Contracts source files change.


Templates

ASP.NET Core + TS + Vue (api-ts-vue)

A solution template with an ASP.NET Core Web API backend and a TypeScript + Vue SPA frontend.

Projects created:

  • <Name> — ASP.NET Core Web API server
  • <Name>.Client — TypeScript + Vue SPA
  • <Name>.Tests — xUnit integration tests

Usage:

dotnet new api-ts-vue -n MyApp

Parameters:

Parameter Description Default
--company Company name My Company
--app-name Application display name My Application

HTTPS ports for both the server and client are generated automatically.

Post-creation: The template automatically restores NuGet packages and runs npm install in the client project.


ASP.NET Core Razor Pages (razor-app)

A solution template with an ASP.NET Core Razor Pages web application using cookie authentication, HTMX for dynamic UI updates, and Bootstrap for styling.

Projects created:

  • <Name> — ASP.NET Core Razor Pages application
  • <Name>.Tests — xUnit integration tests

Usage:

dotnet new razor-app -n MyApp

Parameters:

Parameter Description Default
--company Company name My Company
--app-name Application display name My Application

An HTTPS port is generated automatically.

Post-creation: The template automatically restores NuGet packages.

Features

  • Authentication — Cookie-based authentication with ASP.NET Core Identity. Supports local password sign-in and external SSO providers (Google, Microsoft, Facebook, Yahoo, ORCID), each independently toggled via feature flags.
  • Authorization — Granular permission system using strongly-typed Permission and PermissionGroup enumerations. Permissions are assigned to roles and enforced via [RequirePermission] attributes and HasPermission() checks.
  • User management — CRUD operations with search, pagination, and role assignment. Supports bulk provisioning via CSV upload.
  • Role management — CRUD operations with permission assignment and user membership. Supports bulk provisioning via CSV upload. Role names are enforced as unique.
  • File management — Upload, download, edit, and delete files with blob storage. Ownership-based access control allows users to manage their own files; admin-level file permissions (ViewFiles, EditFiles, DeleteFiles) grant access to other users' files.
  • Profile — Self-service profile editing, password changes, and profile picture uploads.
  • Feature flags — Toggle capabilities at runtime via Microsoft.FeatureManagement. Controls user registration, password sign-in, third-party SSO (per-provider), soft deletes, update tracking, user provisioning, and audit logging.
  • Soft deletes — Optional soft delete support via an EF Core SaveChanges interceptor. When enabled, deleted entities are marked inactive rather than removed, and can be reactivated from the UI. Mutation queries filter to active entities only.
  • HTMX integration — Inline editing, modal forms, and auto-refreshing result lists using HTMX with server-rendered partials. Tag helpers provide hx-page, hx-page-handler, and hx-route-* support for Razor Pages routing.
  • Rate limiting — Authentication endpoints (login, register, forgot/reset password) are rate-limited.
  • Structured logging — Serilog with console and Application Insights sinks, configured via appsettings.json.
  • Health checks — Database connectivity health check at /health.
  • Pagination — Server-side pagination with sliding-window pagination controls via ToPaginationControls().
  • Result pattern — Service methods return Result or Result<T> for consistent error handling without exceptions.

Project structure

The application uses feature folders:

Features/
├── Analytics/        # Application Insights telemetry
├── Email/            # Email sending abstractions
├── EntityFramework/  # DbContext, interceptors, strongly-typed IDs
├── FeatureManagement/# Feature flags
├── FileStorage/      # File upload/download with blob storage
├── Identity/         # ASP.NET Core Identity stores and config
├── RateLimiting/     # Rate limiting policies
├── Results/          # Result<T> pattern
├── Roles/            # Role entity and service
├── Security/         # Auth config, permission authorization
├── Serilog/          # Logging configuration
├── StronglyTypedId/  # ID type generation
└── Users/            # User entity, service, permissions
Pages/
├── Account/          # Login, Register, Profile, Password reset
├── Files/            # File listing, upload, edit, delete
├── Roles/            # Role listing, create, edit, provision
├── Shared/           # Layout, partials, alerts
└── Users/            # User listing, create, edit, provision

This package has no dependencies.

Version Downloads Last updated
1.5.0 1 4/17/2026
1.4.1 1 4/15/2026
1.4.0 0 4/13/2026
1.3.6 0 3/12/2026
1.3.5 1 3/12/2026
1.3.4 0 3/12/2026
1.3.3 1 3/11/2026
1.3.2 2 3/11/2026
1.3.1 0 3/6/2026
1.2.2 1 2/27/2026
1.2.1 0 2/27/2026
1.2.0 0 2/27/2026
1.1.9 1 2/27/2026
1.1.8 0 2/27/2026
1.1.7 0 2/27/2026
1.1.6 1 2/26/2026
1.1.5 0 2/26/2026
1.1.4 0 2/26/2026
1.1.3 0 2/26/2026
1.1.2 1 8/28/2025