dotnet add package Constellation.Foundation.Mvc.Patterns --version                
NuGet\Install-Package Constellation.Foundation.Mvc.Patterns -Version                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Constellation.Foundation.Mvc.Patterns" Version="" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Constellation.Foundation.Mvc.Patterns --version                
#r "nuget: Constellation.Foundation.Mvc.Patterns,"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Constellation.Foundation.Mvc.Patterns as a Cake Addin
#addin nuget:?package=Constellation.Foundation.Mvc.Patterns&version=

// Install Constellation.Foundation.Mvc.Patterns as a Cake Tool
#tool nuget:?package=Constellation.Foundation.Mvc.Patterns&version=                

Requires Sitecore 10.3
Requires .NET Framework 4.8

Constellation is a collection of utilities for .NET CMS implementers.

The Foundation.Mvc.Patterns library is an opinionated library that provides some base Controller and Repository classes for jumpstarting
a Sitecore project. The purpose is to get developers to better separate data access logic from controllers and also to hide some uninteresting concerns.

Repositories: Classes which accept a context to specify the conditions for accessing data in Sitecore along with facts for use in the query. The Repository
is responsible for getting the results of a query, any caching, and any transformation into ViewModel output.

Base Repositories:
Repository - Just the basics of setting up the relationship between the repository and the controller.
CachingRepository - Adds caching of the repository's output to the mix.
SingleItemRepository - Includes both of above and is centered around queries that will retrieve a single Item.
ItemListRepository - Includes the first two and is centered around queries taht will retrieve multiple Items.

Controllers: Classes which are responsible for handling the transition from Sitecore to the View, including setting up a Repository Context, and getting the
results from the Repository for sending to the View.

Base Controllers:
DatasourceRenderingController - Use when a Rendering has a Datasource Item and that Item is what's being rendered.
ItemListController - Use when a Rendering will present a number of Items that have to be looked up in some fashion.

On Sitecore startup, this package will scan all assemblies for IController and IRepository implementations and automatically add them to Dependency Injection.
This feature can be disabled/changed via the config file for this package.

Product Compatible and additional computed target framework versions.
.NET Framework net48 is compatible.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated 1,271 6/16/2023 2,410 11/15/2021 1,622 3/4/2021 1,899 11/20/2020 967 8/18/2020 1,017 8/5/2020 928 8/4/2020 1,042 7/27/2020 1,148 7/27/2020 1,353 12/20/2019 1,098 12/10/2019 1,073 10/26/2019 1,022 10/8/2019 1,118 6/4/2019 1,021 5/30/2019 1,082 5/29/2019 1,036 4/29/2019 1,077 4/11/2019 1,086 3/6/2019 1,128 2/1/2019 1,111 2/1/2019 1,234 12/10/2018 1,142 12/7/2018 1,137 11/7/2018 1,162 11/5/2018
9.0.1 1,187 10/29/2018
9.0.0 1,185 10/29/2018

Updated Sitecore minimum reference to 10.3