netcorepal/netcorepal-cloud-template
45.3
Weak · 21 September 2026
62.8k
lines of production code
TypeScript
with C#, JavaScript
3
measurements over time
What this system is
This system is a .NET cloud application template that provides a complete backend infrastructure for an admin management system, handling users, roles, and departments. It supports a wide range of database providers, including SQL Server, PostgreSQL, MySQL, MongoDB, and several specialized databases, alongside multiple message queue brokers. The template includes comprehensive tooling for local development, automated testing, and IDE integration, enabling developers to quickly generate and run distributed applications with built-in OpenTelemetry tracing.
How it got here
2022 — Initial template release and database expansion
5 changes.
This period marks the initial release of the NetCorePal cloud template, providing a complete, installable project structure with IDE integration and standardized build configurations. The work significantly expanded database support to include GaussDB, KingbaseES, DMDB, and MongoDB, while also introducing admin management commands and a permission system for users and roles.
2023–2026 — Admin system and infrastructure expansion
12 changes.
This period focused on implementing the admin backend domain, including entities for users, roles, and departments, alongside their corresponding database migrations and repository implementations. The work also expanded infrastructure support for diverse databases and message brokers, while establishing comprehensive integration tests and automation scripts to validate the template's compatibility across multiple .NET versions and configurations.
Features
Add backend entity configurations and repositories for the admin system
The template now includes the backend infrastructure for the admin system, adding entity type configurations for the Department, Role, and User aggregates, along with their corresponding repository implementations. This includes database mapping for user roles, user departments, and refresh tokens, as well as conditional support for MongoDB via EF Core.
(repo-wide) · high confidence
Added OpenTelemetry tracing for multiple databases and MongoDB
The template now includes OpenTelemetry tracing for MySQL, SQL Server, PostgreSQL, and MongoDB. This is achieved by adding the NetCorePal OpenTelemetry package and the DotNetCore.CAP.OpenTelemetry package, which enable automatic instrumentation for these databases. The implementation uses conditional compilation (\#if/\#elif) to add the appropriate tracing sources based on the selected database provider.
template/src/ABC.Template.ServiceDefaults · medium confidence
Added domain models for user, role, and department management
Introduced new domain aggregates for the Admin backend: a \Dept\ aggregate for managing hierarchical department structures, a \Role\ aggregate for managing roles and their associated permissions, and a \User\ aggregate for managing user profiles, login credentials, and assigned roles. The update also includes supporting entities for user-department and user-role relationships, along with domain events to track information changes.
template/src/ABC.Template.Domain · high confidence
Added infrastructure initialization and cleanup scripts for local development
Developers can now use new shell and PowerShell scripts in the template/scripts directory to quickly start and stop local infrastructure services (Redis, MySQL, PostgreSQL, SQL Server, RabbitMQ, and Kafka) via Docker Compose or individual scripts. The changes include init-infrastructure.sh/ps1 and clean-infrastructure.sh/ps1 for managing containers, along with SQL initialization scripts for MySQL and PostgreSQL, and comprehensive usage examples and troubleshooting guides in the new example and README files.
template/scripts · high confidence
Added initial database migrations for the admin backend and CAP message queues
New migration files have been added to the template infrastructure for both .NET 8 and .NET 10 targets, supporting both the standard application database and the admin backend. The migrations define the initial schema for the admin system, including tables for users, roles, departments, and role-permission mappings. Additionally, the migrations include the initial schema for CAP (Common Application Platform) message queues, creating tables for published and received messages and locks to support distributed transaction messaging.
template/src/ABC.Template.Infrastructure/MigrationsAll · high confidence
Added scripts to generate and test all template combinations
New PowerShell and Bash scripts have been added to the repository to automate the generation of database migrations and the execution of integration tests across all supported combinations. The \gen-all-migrations\ script iterates through every supported database (MySql, SqlServer, PostgreSQL, Sqlite, GaussDB, DMDB, and MongoDB) and .NET framework versions (net8.0, net9.0, net10.0) to produce migration scripts. Additionally, the \test-all-template-combinations\ script automates the creation, build, and test execution for all database, message queue, and Aspire configuration permutations, ensuring compatibility across the entire template matrix.
scripts · high confidence
Adds admin management commands for users, roles, and departments
The template now includes a comprehensive set of commands for managing users, roles, and departments. This includes creating, updating, deleting, and activating/deactivating roles and users, as well as creating, updating, and deleting departments. The changes also introduce a permission system with \AppPermission\ and \PermissionCodes\ to define and map permissions for these entities, and domain event handlers to propagate department and role name changes to associated users.
template/src/ABC.Template.Web · high confidence
Expanded database and messaging infrastructure support in AppHost
The AppHost template now supports a wider variety of backend services, including GaussDB, KingbaseES, DMDB, MongoDB, and SQLite, alongside existing MySQL, SQL Server, and PostgreSQL options. It also adds support for NATS, Kafka, and RabbitMQ message brokers. Users can now choose from these additional database and messaging infrastructure components when generating their application template.
template/src/ABC.Template.AppHost · high confidence
Initial release of the NetCorePal cloud template
The repository now contains the complete source for the NetCorePal cloud template, including the solution file, project configuration, and comprehensive documentation. Users can now install the template via \dotnet new install\ and generate new projects targeting .NET 8.0, 9.0, or 10.0 with various database and message queue providers. The release also includes a standard MIT license and a \.gitattributes\ file to ensure consistent line endings and diff behavior across platforms.
(repo-wide) · high confidence
Template now includes comprehensive IDE code snippets and solution configuration
The template now ships with pre-configured code snippets for Visual Studio, VS Code, and JetBrains Rider, enabling developers to quickly generate common code structures like NetCorePal commands, endpoints, and test classes using shortcuts (e.g., \ncpcmd\, \epreq\). Additionally, the template now includes a \.slnx\ solution file for modern IDE integration, a \.DotSettings\ file for Rider live templates, and updated \Directory.Build.props\ that centralize package management and enable C\# 12 preview features. These changes streamline the initial development experience by providing ready-to-use templates and standardized build configurations.
template · high confidence
Behavioural changes
Added support for GaussDB, KingbaseES, DMDB, and MongoDB databases
The template now supports a wider range of database providers, including GaussDB, KingbaseES, DMDB, and MongoDB, alongside existing options like MySQL, SQL Server, PostgreSQL, and SQLite. This is achieved by adding specific interface implementations for CAP (e.g., IGaussDBCapDataStorage, IDMDBCapDataStorage) in the ApplicationDbContext, configuring the corresponding EF Core providers in the DesignTimeApplicationDbContextFactory, and adding custom type mappings for DMDB (MyDmTypeMappingSource). Users can now select these databases via template parameters, enabling them to generate projects that connect to these specific database systems.
template/src/ABC.Template.Infrastructure · high confidence
Test coverage
Add authenticated test base class for integration tests; Added AppHost integration tests for Aspire; Added global usings for test frameworks; Added integration tests for Admin module endpoints; Added test infrastructure for Aspire AppHost.
Dependencies
Update .NET and frontend dependencies to latest versions
The template's .NET project files and \Directory.Packages.props\ have been updated to use .NET 8.0, 9.0, and 10.0 with corresponding EF Core, CAP, and Aspire package versions. The frontend \package.json\ files have been updated to version 5.5.9, aligning with the latest Vben Admin dependencies. These changes ensure compatibility with the latest .NET runtime versions and associated libraries.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 47 → 45 (-2.1)
- Rubric changed (rubric-2026.08.18 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 65 → 65 (+0.7)
- Architecture 55 → 57 (+2.0)
- Maturity 76 → 54 (-21.5)
- Readiness 48 → 43 (-4.9)
- Security 65 → 70 (+4.8)
- Accessibility 37 → 39 (+1.3)
Resolved (98)
- Critical CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- Dependency hygiene not measured — no packages were read
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- …and 78 more
New (105)
- Critical CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- Documentation: no installation or build instructions (README.md)
- Documentation: no project overview (README.md)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- High CVE: [GHSA redacted] (template/src/frontend/pnpm-lock.yaml)
- …and 85 more
API surface
- Unchanged — 1 HTTP endpoints
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
netcorepal/netcorepal-cloud-template was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit aa8dcf9874de06064bdadcdad8ab6bc88139feb3 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-28e75b8e3254.