Skip to content

Commit 380df21

Browse files
Restructured the agents and skills so that there is a single source of truth.
Updated all test projects to use MTP v2. Added a build and release yaml pipeline to replace the legacy pipelines. Fixed issues with the AI tool.
1 parent c36df80 commit 380df21

80 files changed

Lines changed: 6988 additions & 571 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
name: nuget-safe-upgrade
3+
description: Use this agent to safely analyze and upgrade NuGet packages while respecting exclusions, target-framework rules, and transitive dependency graph constraints.
4+
---
5+
6+
# NuGet Safe Upgrade
7+
8+
Read `.claude\skills\nuget-safe-upgrade\SKILL.md` for full instructions, inputs, and safety rules, then use `.claude\skills\nuget-safe-upgrade\scripts\Invoke-NuGetSafeUpgrade.ps1` to perform the upgrade.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
description: 'Safely analyze and upgrade NuGet packages while respecting exclusions, target frameworks, and transitive dependency graph constraints.'
3+
name: 'NuGet Safe Upgrade'
4+
tools: ["changes", "codebase", "editFiles", "runCommands", "search", "terminalLastCommand"]
5+
---
6+
7+
# NuGet Safe Upgrade
8+
9+
Read `.github\skills\nuget-safe-upgrade\SKILL.md` for full instructions, inputs, and safety rules, then use `.github\skills\nuget-safe-upgrade\scripts\Invoke-NuGetSafeUpgrade.ps1` to perform the upgrade.
Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,25 @@
11
## Umbrella Skills
22

3-
The following skills are available in `.github\skills\`. Read a skill's `SKILL.md` for full instructions before using it.
3+
The following skills are available in `.github\skills`. Read a skill's `SKILL.md` for full instructions before using it.
44

5-
- `nuget-safe-upgrade` -- upgrade NuGet packages safely across multiple TFMs; use the `nuget-safe-upgrade` agent
6-
- `dotnet-add-ef-migration` -- add a new EF Core migration
7-
- `dotnet-scaffold-ef-entity` -- add a new EF Core entity class and register it in DbContext
8-
- `dotnet-scaffold-ef-repository` -- add a repository interface and implementation for an existing EF Core entity
9-
- `dotnet-scaffold-service` -- add a logic service to the Core.Logic project
10-
- `dotnet-scaffold-file-handler` -- add a file handler to the Core.Logic FileSystem project
11-
- `dotnet-scaffold-file-authorization-handler` -- add a file authorization handler to the Core.Logic FileSystem project
12-
- `dotnet-scaffold-api-server-models` -- add API model records (request/response types) for a feature
13-
- `dotnet-scaffold-mapperly-factories` -- add Mapperly mapper classes that map between entities and API models
14-
- `dotnet-scaffold-api-repo-controller` -- add an API controller that communicates directly with a repository (GenericRepositoryApiController pattern)
15-
- `dotnet-scaffold-api-data-service-controller` -- add a thin API controller backed by a controller service, with a shared service interface that supports Blazor SSR pre-rendering (GenericRepositoryDataServiceApiController pattern)
16-
- `dotnet-scaffold-client-data` -- add a client-side HTTP data service implementing an existing IManage<Name>Service interface (GenericHttpDataService pattern); updates server DI to ReplaceScoped
17-
- `dotnet-rename-client-repository-to-service` -- rename a client data type from the legacy ...Repository convention to ...Service, moving files, updating namespaces, DI, and all Blazor component references
18-
- `dotnet-migrate-repo-controller-to-data-service` -- migrate an existing GenericRepositoryApiController (Pattern 1) to GenericRepositoryDataServiceApiController (Pattern 2), creating the backing controller service and rewiring DI
19-
- `blazor-scaffold-index-page` -- add a Blazor index/listing page with UmbrellaGrid, breadcrumb, auth policy, and action column
20-
- `blazor-scaffold-manage-page` -- add a Blazor create/edit manage page with EditForm, UmbrellaModelLayoutStateView, auth policy, and concurrency handling
21-
- `blazor-register-nav-item` -- add a nav item to NavMenu.razor inside the correct AuthorizeView policy block
22-
- `dotnet-scaffold-auth-policy` -- add a named authorization policy constant and register it in the shared AuthorizationOptions extension method
23-
- `dotnet-scaffold-resource-auth-handler` -- add a resource-based IAuthorizationHandler for row-level access control on a specific entity type
24-
- `dotnet-migrate-automapper-to-mapperly` -- migrate AutoMapper Profile classes to Mapperly source-generated mappers, rewiring DI and removing all AutoMapper artefacts
5+
- `blazor-register-nav-item` -- Add a nav item to the Blazor NavMenu.razor for a new feature, inside the correct AuthorizeView policy block and section, following the existing nav structure.
6+
- `blazor-scaffold-index-page` -- Scaffold a Blazor index/listing page (.razor + .razor.cs) for a feature, following the Umbrella UmbrellaGrid pattern with breadcrumb, auth policy, and action column.
7+
- `blazor-scaffold-manage-page` -- Scaffold a Blazor manage page (.razor + .razor.cs) for create/edit operations, following the Umbrella EditForm pattern with UmbrellaModelLayoutStateView, breadcrumb, auth policy, and concurrency handling.
8+
- `dotnet-add-ef-migration` -- Add an EF Core database migration with auto-detection of the migrations project, startup project, and DbContext. Reports generated and modified files and warns on empty migrations.
9+
- `dotnet-migrate-automapper-to-mapperly` -- Migrate AutoMapper Profile classes to Mapperly source-generated mappers, following the Umbrella catalog pattern. Covers ForMember translation, AfterMap, Ignore, flattening detection, DI rewiring, and AutoMapper removal.
10+
- `dotnet-migrate-repo-controller-to-data-service` -- Migrate an existing GenericRepositoryApiController (Pattern 1, direct repository) to GenericRepositoryDataServiceApiController (Pattern 2, backing controller service). Creates the controller service, updates the controller, and rewires DI. Run dotnet-rename-client-repository-to-service first if the client interface still uses the ...Repository naming convention.
11+
- `dotnet-rename-client-repository-to-service` -- Rename a client data type from the old ...Repository convention to ...Service, moving files from Repositories/ to Services/, updating namespaces, DI registration, and all Blazor component references.
12+
- `dotnet-scaffold-api-data-service-controller` -- Scaffold a thin API controller backed by a controller service (GenericRepositoryDataServiceApiController pattern). Supports Blazor SSR pre-rendering when the service interface lives in the client data project. Produces 4 artifacts: service interface, server controller service, controller, and DI registration.
13+
- `dotnet-scaffold-api-repo-controller` -- Scaffold an ASP.NET Core API controller that inherits GenericRepositoryApiController, communicating directly with a repository. Supports selective endpoint disabling via NoOp types and object placeholders.
14+
- `dotnet-scaffold-api-server-models` -- Scaffold API model records (request/response types) for a new feature, following the Umbrella shared models pattern with optional base class hierarchies.
15+
- `dotnet-scaffold-architecture-tests` -- Add a layer-dependency and implementation-visibility architecture test project to a repo using the Umbrella.Testing.Architecture NuGet package and xunit.v3.
16+
- `dotnet-scaffold-auth-policy` -- Scaffold a new ASP.NET Core authorization policy — adds a name constant to the shared policy names class and registers the policy in the shared AuthorizationOptions extension method. Used by both controllers ([Authorize]) and Blazor pages/nav (<AuthorizeView>).
17+
- `dotnet-scaffold-client-data` -- Scaffold a client-side HTTP data service implementing an existing IManage<Name>Service interface, following the Umbrella GenericHttpDataService pattern. Registers the service in the client project and updates the server DI from AddScoped to ReplaceScoped.
18+
- `dotnet-scaffold-ef-entity` -- Scaffold a new EF Core entity: entity class in Core.Domain, configuration method in DbContext. Follows Umbrella patterns and is front-end agnostic.
19+
- `dotnet-scaffold-ef-repository` -- Scaffold a repository interface, implementation, IncludeMap, and DI registration for an existing EF Core entity, following Umbrella GenericDbRepository patterns.
20+
- `dotnet-scaffold-file-authorization-handler` -- Scaffold a file authorization handler in the Core.Logic project, following the Umbrella UmbrellaFileAuthorizationHandler pattern. Authorization is decoupled from the file handler — use this skill alongside dotnet-scaffold-file-handler when access control is needed.
21+
- `dotnet-scaffold-file-handler` -- Scaffold a file handler (interface, implementation, DirectoryNames constant, DI registration) in the Core.Logic project, following the Umbrella UmbrellaFileHandler pattern. Authorization is separate — see dotnet-scaffold-file-authorization-handler.
22+
- `dotnet-scaffold-mapperly-factories` -- Scaffold Mapperly mapper classes that map between EF Core entities and API model records, or between client-side model types, following the Umbrella source-generated catalog pattern.
23+
- `dotnet-scaffold-resource-auth-handler` -- Scaffold a resource-based ASP.NET Core IAuthorizationHandler for an entity, handling row-level access control (ownership, role, operation-specific checks). Used when AuthorizationXxxChecksEnabled is not suppressed on a controller or controller service.
24+
- `dotnet-scaffold-service` -- Scaffold a logic service (interface, implementation, models) in the Core.Logic project, following the Umbrella ServiceBase pattern with Lazy<T> repo injection.
25+
- `nuget-safe-upgrade` -- Safely analyze and apply NuGet package upgrades in multi-targeted .NET repositories using exclusions, framework-aware version selection, restore checks, and transitive dependency graph validation.
Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,25 @@
11
## Umbrella Skills
22

3-
The following skills are available in `.claude\skills\`. Read a skill's `SKILL.md` for full instructions before using it.
3+
The following skills are available in `.claude\skills`. Read a skill's `SKILL.md` for full instructions before using it.
44

5-
- `nuget-safe-upgrade` -- upgrade NuGet packages safely across multiple TFMs; use the `nuget-safe-upgrade` agent
6-
- `dotnet-add-ef-migration` -- add a new EF Core migration
7-
- `dotnet-scaffold-ef-entity` -- add a new EF Core entity class and register it in DbContext
8-
- `dotnet-scaffold-ef-repository` -- add a repository interface and implementation for an existing EF Core entity
9-
- `dotnet-scaffold-service` -- add a logic service to the Core.Logic project
10-
- `dotnet-scaffold-file-handler` -- add a file handler to the Core.Logic FileSystem project
11-
- `dotnet-scaffold-file-authorization-handler` -- add a file authorization handler to the Core.Logic FileSystem project
12-
- `dotnet-scaffold-api-server-models` -- add API model records (request/response types) for a feature
13-
- `dotnet-scaffold-mapperly-factories` -- add Mapperly mapper classes that map between entities and API models
14-
- `dotnet-scaffold-api-repo-controller` -- add an API controller that communicates directly with a repository (GenericRepositoryApiController pattern)
15-
- `dotnet-scaffold-api-data-service-controller` -- add a thin API controller backed by a controller service, with a shared service interface that supports Blazor SSR pre-rendering (GenericRepositoryDataServiceApiController pattern)
16-
- `dotnet-scaffold-client-data` -- add a client-side HTTP data service implementing an existing IManage<Name>Service interface (GenericHttpDataService pattern); updates server DI to ReplaceScoped
17-
- `dotnet-rename-client-repository-to-service` -- rename a client data type from the legacy ...Repository convention to ...Service, moving files, updating namespaces, DI, and all Blazor component references
18-
- `dotnet-migrate-repo-controller-to-data-service` -- migrate an existing GenericRepositoryApiController (Pattern 1) to GenericRepositoryDataServiceApiController (Pattern 2), creating the backing controller service and rewiring DI
19-
- `blazor-scaffold-index-page` -- add a Blazor index/listing page with UmbrellaGrid, breadcrumb, auth policy, and action column
20-
- `blazor-scaffold-manage-page` -- add a Blazor create/edit manage page with EditForm, UmbrellaModelLayoutStateView, auth policy, and concurrency handling
21-
- `blazor-register-nav-item` -- add a nav item to NavMenu.razor inside the correct AuthorizeView policy block
22-
- `dotnet-scaffold-auth-policy` -- add a named authorization policy constant and register it in the shared AuthorizationOptions extension method
23-
- `dotnet-scaffold-resource-auth-handler` -- add a resource-based IAuthorizationHandler for row-level access control on a specific entity type
24-
- `dotnet-migrate-automapper-to-mapperly` -- migrate AutoMapper Profile classes to Mapperly source-generated mappers, rewiring DI and removing all AutoMapper artefacts
5+
- `blazor-register-nav-item` -- Add a nav item to the Blazor NavMenu.razor for a new feature, inside the correct AuthorizeView policy block and section, following the existing nav structure.
6+
- `blazor-scaffold-index-page` -- Scaffold a Blazor index/listing page (.razor + .razor.cs) for a feature, following the Umbrella UmbrellaGrid pattern with breadcrumb, auth policy, and action column.
7+
- `blazor-scaffold-manage-page` -- Scaffold a Blazor manage page (.razor + .razor.cs) for create/edit operations, following the Umbrella EditForm pattern with UmbrellaModelLayoutStateView, breadcrumb, auth policy, and concurrency handling.
8+
- `dotnet-add-ef-migration` -- Add an EF Core database migration with auto-detection of the migrations project, startup project, and DbContext. Reports generated and modified files and warns on empty migrations.
9+
- `dotnet-migrate-automapper-to-mapperly` -- Migrate AutoMapper Profile classes to Mapperly source-generated mappers, following the Umbrella catalog pattern. Covers ForMember translation, AfterMap, Ignore, flattening detection, DI rewiring, and AutoMapper removal.
10+
- `dotnet-migrate-repo-controller-to-data-service` -- Migrate an existing GenericRepositoryApiController (Pattern 1, direct repository) to GenericRepositoryDataServiceApiController (Pattern 2, backing controller service). Creates the controller service, updates the controller, and rewires DI. Run dotnet-rename-client-repository-to-service first if the client interface still uses the ...Repository naming convention.
11+
- `dotnet-rename-client-repository-to-service` -- Rename a client data type from the old ...Repository convention to ...Service, moving files from Repositories/ to Services/, updating namespaces, DI registration, and all Blazor component references.
12+
- `dotnet-scaffold-api-data-service-controller` -- Scaffold a thin API controller backed by a controller service (GenericRepositoryDataServiceApiController pattern). Supports Blazor SSR pre-rendering when the service interface lives in the client data project. Produces 4 artifacts: service interface, server controller service, controller, and DI registration.
13+
- `dotnet-scaffold-api-repo-controller` -- Scaffold an ASP.NET Core API controller that inherits GenericRepositoryApiController, communicating directly with a repository. Supports selective endpoint disabling via NoOp types and object placeholders.
14+
- `dotnet-scaffold-api-server-models` -- Scaffold API model records (request/response types) for a new feature, following the Umbrella shared models pattern with optional base class hierarchies.
15+
- `dotnet-scaffold-architecture-tests` -- Add a layer-dependency and implementation-visibility architecture test project to a repo using the Umbrella.Testing.Architecture NuGet package and xunit.v3.
16+
- `dotnet-scaffold-auth-policy` -- Scaffold a new ASP.NET Core authorization policy — adds a name constant to the shared policy names class and registers the policy in the shared AuthorizationOptions extension method. Used by both controllers ([Authorize]) and Blazor pages/nav (<AuthorizeView>).
17+
- `dotnet-scaffold-client-data` -- Scaffold a client-side HTTP data service implementing an existing IManage<Name>Service interface, following the Umbrella GenericHttpDataService pattern. Registers the service in the client project and updates the server DI from AddScoped to ReplaceScoped.
18+
- `dotnet-scaffold-ef-entity` -- Scaffold a new EF Core entity: entity class in Core.Domain, configuration method in DbContext. Follows Umbrella patterns and is front-end agnostic.
19+
- `dotnet-scaffold-ef-repository` -- Scaffold a repository interface, implementation, IncludeMap, and DI registration for an existing EF Core entity, following Umbrella GenericDbRepository patterns.
20+
- `dotnet-scaffold-file-authorization-handler` -- Scaffold a file authorization handler in the Core.Logic project, following the Umbrella UmbrellaFileAuthorizationHandler pattern. Authorization is decoupled from the file handler — use this skill alongside dotnet-scaffold-file-handler when access control is needed.
21+
- `dotnet-scaffold-file-handler` -- Scaffold a file handler (interface, implementation, DirectoryNames constant, DI registration) in the Core.Logic project, following the Umbrella UmbrellaFileHandler pattern. Authorization is separate — see dotnet-scaffold-file-authorization-handler.
22+
- `dotnet-scaffold-mapperly-factories` -- Scaffold Mapperly mapper classes that map between EF Core entities and API model records, or between client-side model types, following the Umbrella source-generated catalog pattern.
23+
- `dotnet-scaffold-resource-auth-handler` -- Scaffold a resource-based ASP.NET Core IAuthorizationHandler for an entity, handling row-level access control (ownership, role, operation-specific checks). Used when AuthorizationXxxChecksEnabled is not suppressed on a controller or controller service.
24+
- `dotnet-scaffold-service` -- Scaffold a logic service (interface, implementation, models) in the Core.Logic project, following the Umbrella ServiceBase pattern with Lazy<T> repo injection.
25+
- `nuget-safe-upgrade` -- Safely analyze and apply NuGet package upgrades in multi-targeted .NET repositories using exclusions, framework-aware version selection, restore checks, and transitive dependency graph validation.

0 commit comments

Comments
 (0)