Installation

Add the packages you need, drop the aliases into your project, and point your assistant at the style. Every package is independent — take only what you use.

1 — Add the packages

All packages are 0.4.0, multi-targeting net8.0 / net9.0 / net10.0. The default set for an ASP.NET Core backend:

dotnet add package Smoower.Minified.Core
dotnet add package Smoower.Minified.AspNetCore
dotnet add package Smoower.Minified.EFCore
dotnet add package Smoower.Minified.Hosting
dotnet add package Smoower.Minified.Logging
dotnet add package Smoower.Minified.Validation

Or as PackageReference entries — take only what you use (see Libraries):

<PackageReference Include="Smoower.Minified.AspNetCore" Version="0.4.0" />
<PackageReference Include="Smoower.Minified.EFCore" Version="0.4.0" />

2 — Drop in the aliases

Add the imports and aliases to a GlobalUsings.cs in your project. Aliases are not transitive across assemblies, so they live in your code (copy from the samples/Smoower.Minified.SampleApi/GlobalUsings.cs):

global using Smoower.Minified.Core;
global using Smoower.Minified.AspNetCore;
global using Smoower.Minified.EFCore;
global using Smoower.Minified.Hosting;
global using Smoower.Minified.Logging;
global using Res = Microsoft.AspNetCore.Mvc.IActionResult;
global using AR  = Microsoft.AspNetCore.Mvc.ActionResult;
global using CT  = System.Threading.CancellationToken;
global using Cfg = Microsoft.Extensions.Configuration.IConfiguration;
global using Tr  = System.Threading.Tasks.Task<Microsoft.AspNetCore.Mvc.IActionResult>;

3 — Point your assistant at the style

Claude Code uses the bundled skill at .claude/skills/dotnet/ — just ask it to use Smoower.Minified. GPT / Copilot / Cursor take prompts/system-prompt.md as a system prompt or rules file. A short version to drop into any chat:

Generate ASP.NET Core / EF Core code using the Smoower.Minified compact
helpers ([API]/[HG]/[HPO], :Ctl, Tr, .w/.s/.nt/.lst/.one,
db.save/db.add, ok1/okl/okId/delById, nil()). Code only, no comments,
file-scoped namespaces, primary constructors, records for DTOs.
Never change route templates, status codes, or DTO/JSON names.

Keep the Cheat sheet handy — that is it.

Where to next