You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MinimalLambda currently has examples and docs, but no dotnet new templates. New users must copy project structure, package references, launch settings, serializer/bootstrap wiring, and handler patterns by hand. This slows first-run success and makes it easier to miss Lambda/AOT/trimming conventions.
Official .NET template guidance supports both project templates and item templates via .template.config/template.json, installable from folder, .nupkg, or NuGet feed using dotnet new install. AWS Lambda's own .NET experience also relies on installable template packages (Amazon.Lambda.Templates) plus Amazon.Lambda.Tools, so MinimalLambda should meet users where they already expect Lambda project scaffolding.
Proposed solution
Add a dedicated template package, likely MinimalLambda.Templates, that ships:
Project templates
minimal-lambda / mlambda: basic Lambda app using MinimalLambda with DI, MapHandler, RunAsync, appsettings, and local launch settings.
minimal-lambda-aot / mlambda-aot: Native AOT-ready variant with PublishAot, trimming/AOT analyzer settings, Lambda-compatible serialization/runtime choices, and documented constraints.
Optional event-focused variants or switches:
SQS (MinimalLambda.Envelopes.Sqs)
SNS
API Gateway / ALB
Kinesis / Firehose / Kafka / CloudWatch Logs
Optional observability switch or variant using MinimalLambda.OpenTelemetry.
Optional test project generation using MinimalLambda.Testing.
Item/code templates
Provide dotnet new item templates for common MinimalLambda code snippets:
Handler file/class/function pattern.
Middleware class.
Lifecycle hook registration/sample.
Envelope handler samples for common event sources.
Service + DI registration sample.
OpenTelemetry instrumentation sample.
Test fixture/sample invocation.
Packaging and integration
Use standard .template.config/template.json metadata (identity, name, shortName, author, classifications, tags, sourceName, symbols/options).
Package templates as a NuGet package users can install with:
dotnet new install MinimalLambda.Templates
Include template package metadata/tags so dotnet new search MinimalLambda works well.
Keep generated projects runnable and aligned with existing examples/ projects.
Add template verification in CI:
pack template package
install package from local .nupkg
instantiate each template with representative options
dotnet restore
dotnet build
run tests for generated test templates
run AOT publish/check for AOT template if feasible
Document install/update/uninstall and common commands in README/docs.
Acceptance criteria
Users can install templates from produced NuGet package with dotnet new install MinimalLambda.Templates.
dotnet new list minimal-lambda shows project and item templates with clear names, short names, language, and tags.
Generated basic project builds without manual edits.
Generated AOT project passes repo AOT verification expectations or has documented prerequisites/limitations.
Generated templates use current package versions and repo conventions.
Item templates can be added to an existing project without breaking build.
CI validates template package packing, install, instantiation, restore, and build.
Docs include quickstart:
install templates
create basic project
create AOT project
add common item template
uninstall/update templates
Research notes
.NET custom templates are folder/file based and configured through .template.config/template.json.
dotnet new supports project templates and item templates; item templates can output one or more files into an existing project.
Template packages can be installed from NuGet, local .nupkg, or folder via dotnet new install.
AWS Lambda .NET docs recommend Amazon.Lambda.Templates for creating Lambda projects, making a template package familiar for target users.
AWS Lambda Native AOT docs call out special build/deploy requirements; AOT template should encode safe defaults and document constraints.
Motivation
MinimalLambda currently has examples and docs, but no
dotnet newtemplates. New users must copy project structure, package references, launch settings, serializer/bootstrap wiring, and handler patterns by hand. This slows first-run success and makes it easier to miss Lambda/AOT/trimming conventions.Official .NET template guidance supports both project templates and item templates via
.template.config/template.json, installable from folder,.nupkg, or NuGet feed usingdotnet new install. AWS Lambda's own .NET experience also relies on installable template packages (Amazon.Lambda.Templates) plusAmazon.Lambda.Tools, so MinimalLambda should meet users where they already expect Lambda project scaffolding.Proposed solution
Add a dedicated template package, likely
MinimalLambda.Templates, that ships:Project templates
minimal-lambda/mlambda: basic Lambda app usingMinimalLambdawith DI,MapHandler,RunAsync, appsettings, and local launch settings.minimal-lambda-aot/mlambda-aot: Native AOT-ready variant withPublishAot, trimming/AOT analyzer settings, Lambda-compatible serialization/runtime choices, and documented constraints.MinimalLambda.Envelopes.Sqs)MinimalLambda.OpenTelemetry.MinimalLambda.Testing.Item/code templates
Provide
dotnet newitem templates for common MinimalLambda code snippets:Packaging and integration
Use standard
.template.config/template.jsonmetadata (identity,name,shortName,author,classifications,tags,sourceName, symbols/options).Package templates as a NuGet package users can install with:
Include template package metadata/tags so
dotnet new search MinimalLambdaworks well.Keep generated projects runnable and aligned with existing
examples/projects.Add template verification in CI:
.nupkgdotnet restoredotnet buildDocument install/update/uninstall and common commands in README/docs.
Acceptance criteria
dotnet new install MinimalLambda.Templates.dotnet new list minimal-lambdashows project and item templates with clear names, short names, language, and tags.Research notes
.template.config/template.json.dotnet newsupports project templates and item templates; item templates can output one or more files into an existing project..nupkg, or folder viadotnet new install.Amazon.Lambda.Templatesfor creating Lambda projects, making a template package familiar for target users.References: