Skip to content

Extensions ecosystem inspired by Jason Taylor's Clean Architecture template, shipped as opt-in NuGet packages so you can keep the upstream template pristine.

License

Notifications You must be signed in to change notification settings

CleanArchitecture-Extensions/CleanArchitecture.Extensions

Repository files navigation

CleanArchitecture.Extensions

Docs CI Release CodeQL NuGet Packages .NET 10.0 License: MIT

CleanArchitecture.Extensions is a small set of opt-in NuGet packages that plug into Jason Taylor's Clean Architecture template without forking it. The goal is to stay aligned with the template's layering and conventions while adding focused capabilities.

Quick links:

Status

  • Shipped: CleanArchitecture.Extensions.Caching (net10.0)
  • Shipped: CleanArchitecture.Extensions.Multitenancy (core, host-agnostic, net10.0)
  • Shipped: CleanArchitecture.Extensions.Multitenancy.AspNetCore (ASP.NET Core adapters, net10.0)
  • Shipped: CleanArchitecture.Extensions.Multitenancy.EFCore (EF Core adapters, net10.0)
  • Planned: Multitenancy adapters (Identity, Provisioning, Redis, Sharding, Storage)

Getting started

Caching

  1. Install:
    dotnet add package CleanArchitecture.Extensions.Caching
  2. Register:
    services.AddCleanArchitectureCaching();
    services.AddMediatR(cfg => cfg.AddCleanArchitectureCachingPipeline());
  3. Configure caching options as needed.
  4. No other template changes required.

Multitenancy core

  1. Install:
    dotnet add src/Application/Application.csproj package CleanArchitecture.Extensions.Multitenancy
    dotnet add src/Infrastructure/Infrastructure.csproj package CleanArchitecture.Extensions.Multitenancy
  2. Register:
    services.AddCleanArchitectureMultitenancy();
    services.AddMediatR(cfg => cfg.AddCleanArchitectureMultitenancyPipeline());
  3. Resolve tenants in your host and set the current context.

Multitenancy.AspNetCore

  1. Install:
    dotnet add src/Web/Web.csproj package CleanArchitecture.Extensions.Multitenancy.AspNetCore
  2. Register:
    services.AddCleanArchitectureMultitenancyAspNetCore(autoUseMiddleware: true);
  3. If you prefer manual wiring, add middleware:
    app.UseCleanArchitectureMultitenancy();

Docs to read next:

Repo layout

  • src/ packages
  • tests/ test projects
  • docs/ documentation site source
  • samples/ sample projects (empty today)

Contributing

Start with the roadmap and the docs. Keep changes aligned with the Jason Taylor template conventions and layering.

About

Extensions ecosystem inspired by Jason Taylor's Clean Architecture template, shipped as opt-in NuGet packages so you can keep the upstream template pristine.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages