Skip to content

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 --Framework is passed (TargetFrameworkOverride).
  • Template type is project (not solution), though a .slnx with 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.

See also