StrawhatsCompany.SHFramework.Templates 3.15.0

The owner has unlisted this package. This could mean that the package is deprecated, has security vulnerabilities or shouldn't be used anymore.
dotnet new install StrawhatsCompany.SHFramework.Templates@3.15.0
                    
This package contains a .NET Template Package you can call from the shell/command line.

Strawhats Framework Templates

ci release NuGet

A dotnet new template (shf) that scaffolds a Clean Architecture .NET 10 service: CQRS, minimal API, vertical-slice features, provider pattern, OpenAPI metadata, health checks, exception handling, rate limiting, and a secrets convention built around user-secrets.

Install

dotnet new install StrawhatsCompany.SHFramework.Templates

Scaffold a service

dotnet new shf -n Strawhats.YourService -o ./your-service
cd ./your-service/src
dotnet build
dotnet run --project WebApi

The scaffolded service boots on https://localhost:7257. Hit https://localhost:7257/health/live to see it's alive. The Weather example endpoint is at /api/v1/weather/forecasts/{city} (alpha characters only).

Companion CLI

For day-to-day work, install shf-cli and use it to scaffold features, endpoints, entities, providers, persistence projects, and migrations:

dotnet tool install -g StrawhatsCompany.SHFramework.Cli

shf make:feature Weather/GetWeeklyForecast
shf make:endpoint Weather/GetWeeklyForecast
shf make:entity   Orders/Order --properties "CustomerName:string?,Amount:decimal"
shf make:provider Sms --first-driver Twilio
shf make:persistence postgres --connection-string "Host=localhost;Database=AppDb;Username=postgres;"
shf make:migration AddForecastTable

Configuration

Non-secret defaults live in appsettings.json. Secrets — provider credentials, API keys, encryption keys, connection-string passwords — live in user-secrets (dev) or environment variables / a secret store (prod). See docs/SECRETS.md.

cd src/WebApi
dotnet user-secrets set "Mail:Password" "your-smtp-password"

What's in the box

Project Role
Domain Entities only — no dependencies
Business CQRS handlers, contracts, OpenAPI registration, authentication contracts
Business.Services Service implementations
Providers.Mail Mail provider (Smtp), scaffold others with shf make:provider
WebApi ASP.NET Core minimal API host
tests/*.Tests xUnit + NSubstitute, one per source project

Target framework: net10.0. See CLAUDE.md for the full conventions.

Supported matrix

This template is a bill of materials for the SH Framework family — each release pins a vetted set of sibling library versions. Pin the template version in your service, and you get a tested combination. The actual versions live in src/Directory.Build.props (MSBuild properties), referenced from the consuming csprojs via Version="$(SHxxxVersion)". The table below is the human-readable changelog.

Template version SH.Framework.Library.Cqrs SH.Framework.Library.Cqrs.Implementation SH.Framework.Library.Cqrs.Implementation.EntityFrameworkCore SH.Framework.Library.AspNetCore StrawhatsCompany.SHFramework.Cli (recommended)
3.15.0 (current) 3.0.1 3.0.8 10.0.3 1.0.0 0.4.1
3.14.0 3.0.1 3.0.8 10.0.3 1.0.0 0.4.1
3.13.0 3.0.1 3.0.8 10.0.3 1.0.0 0.4.1
3.12.0 3.0.1 3.0.8 10.0.3 1.0.0 0.4.1
3.11.0 3.0.1 3.0.8 10.0.3 1.0.0 0.4.1
3.10.0 3.0.1 3.0.8 10.0.3 1.0.0 0.4.1
3.9.0 3.0.1 3.0.8 10.0.3 1.0.0 0.4.1
3.8.0 3.0.1 3.0.8 10.0.3 1.0.0 0.4.1
3.7.0 3.0.1 3.0.8 10.0.3 1.0.0 0.4.1
3.6.0 3.0.1 3.0.8 10.0.3 1.0.0 0.4.1
3.5.0 3.0.1 3.0.8 10.0.3 1.0.0 0.4.1
3.4.0 3.0.1 3.0.8 10.0.3 1.0.0 0.4.1

The first four columns are package references resolved at restore time. The CLI is a dotnet tool — install separately with dotnet tool install -g StrawhatsCompany.SHFramework.Cli. The matrix lists the CLI version this template release was tested against; newer minor/patch CLI versions are expected to remain compatible.

Rule of thumb: when a sibling library bumps and we want to adopt it, bump SHxxxVersion in src/Directory.Build.props AND bump this template's <PackageVersion> (patch for a lib fix, minor for a lib feature). Add a new row to this table.

Audit + skills

The repo ships two project-scoped Claude Code skills under .claude/skills/:

  • feature-audit — bugs / security / performance lens.
  • framework-compliance — CLAUDE.md rule compliance.

Both audit docs in docs/ record the findings that produced the current state.

Build from source

git clone git@github.com:StrawhatsCompany/sh-framework-template.git
cd sh-framework-template/src
dotnet build
dotnet test
dotnet pack StrawhatsCompany.SHFramework.Templates.csproj -c Release -o ../artifacts

License

MIT — see LICENSE.

  • net10.0

    • No dependencies.

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