Base Template — Features¶
Features are compile-time conditional unless always-on. Exact flags live in MSBuild props and project Condition attributes.
Capability matrix (conceptual)¶
| Area | Enabled via | Runtime notes |
|---|---|---|
| REST / OpenAPI | UseRestApi (template) |
ServiceModel.RestApi, Swagger/Scalar optional |
| gRPC | UseGrpc |
ServiceModel.Grpc, proto projects |
| Persistence | PersistenceModelType |
NHibernate / Mongo / none; migrations optional |
| Messaging | UseMassTransit, transport symbols |
Outbox, consumers—see generated solution |
| Scheduling | UseHangFire |
Dashboard, auth, storage keys per alignment doc |
| Actors | ActorModelType |
Orleans / Dapr / Akka subgraphs |
| Caching | DistributedCache |
Redis, memory, or none |
| AI / vectors | UseOpenAI, UseVectorStore, … |
AIModel projects, ingestion pipeline |
| Observability | Logging, OpenTelemetry, … |
Serilog, exporters, collectors |
| Health | HealthCheck, publishers, UI |
K8s-friendly endpoints |
Exact symbol names and defaults: .template.config/template.json. Conditional MSBuild inclusion: build/*.props and project Condition.
Packages¶
ConnectSoft.Extensions.* versions are pinned in CPM; see ConnectSoft.Extensions catalog.