Solution structure¶
src/
└── <Name>/ # AI skills class library (Microsoft.NET.Sdk)
├── Agents/ # LibraryTemplateAgent, AgentHelper
├── Tools/ # LibraryTemplateAITools (AIFunctions), MCP tools
├── Embeddings/ # IEmbeddingPipeline, LibraryTemplateEmbeddingPipeline
├── Mcp/ # MicrosoftLearnMcpClient
├── Extensions/ # AISkillsLibraryTemplateExtensions (DI) - excluded if --useDI false
├── Options/ # *Options - excluded if --useOptions false
├── Diagnostics/ # telemetry, metrics - excluded if --useMetrics false
└── Models/ # Requests/, Results/, ErrorCodes, AgentException
tests/
├── <Name>.UnitTests/ # MSTest (multi-TFM)
└── <Name>.AcceptanceTests/ # MSTest + Reqnroll (Gherkin features)
docs/ # GettingStarted.md, Features.md, ...
Frameworks¶
- Library:
<TargetFrameworks>net8.0;net9.0;net10.0</TargetFrameworks>by default; collapses to a single TFM when--Frameworkis passed (TargetFrameworkOverride). - Template type is
project(notsolution), though a.slnxwith tests is included.
No runtime config / UI¶
There is no appsettings.json anywhere - configuration is supplied via IOptions<T> and DI in the consuming host. No Blazor, npm, or CSS assets.