Skip to content

Base Template — Agent handbook (ConnectSoft.BaseTemplate)

Factory scope: Tell agents what to do and what never to do when generating or patching the kernel.
Canonical spec: deep architecture, symbol tables, and prose → ConnectSoft.Documentation — Base Template

Purpose for agents

Do Do not
Patch MicroserviceRegistrationBase / kernel middleware in the Base repo Land product domain code only inside a Layer 3 checkout’s base-template/ submodule
Bump ConnectSoft.Extensions / CPM in line with platform Invent new ConnectSoft.BaseTemplate.* project names without following existing patterns
Mirror blueprint flags to existing dotnet new symbols Guess symbol names—run dotnet new connectsoft-base -h

Layering (reminder)

flowchart LR
  A[ApplicationModelRegistrationBase] --> B[MicroserviceRegistrationBase]
  B --> C[Template-specific registration]
Hold "Alt" / "Option" to enable pan & zoom

Layer 3 hosts compose C on top of B. Agents editing Identity/Gateway/etc. must not fork B into a product-only copy.

Typical upstream agents

Agent / workflow How Base fits
Microservice Generator Inherited kernel; symbols flow from Base + extend JSON
Backend Developer Reads AGENTS.md in Base before changing registration
DevOps Kernel publishes ConnectSoft.BaseTemplate.Installer

Blueprint → template hints

# Example: align blueprint keys with Base template symbols (illustrative only)
persistence: NHibernate        # maps to PersistenceModelType / UseNHibernate chain
messaging: MassTransit         # UseMassTransit + transport flags
observability: OpenTelemetry   # OpenTelemetry, ObservabilityStack, ObservabilityBackend

Always verify the mapping against -h for the installed package version.

Topic index (agents — short form)

Page Use when
Getting Started Clone / build / install
Parameters Symbol discovery
Architecture DI + project boundaries
Solution structure Where files belong
Features Optional stacks
Configuration appsettings alignment
Authentication Kernel security surface
Resiliency HTTP / Polly
Testing Test project layout
Development Submodule workflow
Use cases Base vs Layer 3 choice
Runbook CI / publishing kernel

Repositories