Microsoft Bot Framework Template¶
Repository: ConnectSoft.MicrosoftBotFrameworkTemplate
Short name: connectsoft-microsoft-bot-framework
Layer: 3 (extends ConnectSoft.BaseTemplate via base-template/ submodule)
Purpose¶
The template scaffolds an ASP.NET Core host that integrates Microsoft Bot Framework (controllers, dialogs, middleware) with the ConnectSoft microservice kernel: Clean Architecture overlays, optional Orleans, messaging, and observability—without folding bot code into ConnectSoft.MicroserviceTemplate or the generic base. The overlay pattern matches ConnectSoft.IdentityTemplate: forked Application and ApplicationModel, BotModel for bot-specific code, and unforked libraries from base-template/.
It is not a generic REST-only API service: for that use Microservice Template. For edge routing and BFF patterns, pair with API Gateway Template when needed.
Composition with Base Template¶
base-template/— git submodule; canonical Layer 2 (no bot features in base).ConnectSoft.MicrosoftBotFrameworkTemplate.ApplicationModel— forked ApplicationModel (bot registration, Web API application parts, Application Insights bot telemetry).ConnectSoft.MicrosoftBotFrameworkTemplate.Application— forked host referencing overlay libraries and submodule projects.ConnectSoft.MicrosoftBotFrameworkTemplate.BotModel— bot controllers, dialogs, middleware.- Metadata — composed at pack time from base
template.jsonplustemplate/microsoft-bot-framework.template.extend.json(botFrameworkOverridesfor package identity). Treatdotnet new connectsoft-microsoft-bot-framework -hand CI outputs as authoritative for released installers.
Template packaging note¶
Listed in Templates registry. The checked-in .template.config/template.json may be a stub; full installer metadata is produced when Base and extend files are merged in CI—see Template metadata composition if your pipeline differs.
Documentation map¶
| Section | Purpose |
|---|---|
| Getting Started | Install template, run locally, Docker |
| Parameters | Scaffold flags and conditional symbols |
| Solution structure | Projects and submodule layout |
| Architecture | Bot adapter, HTTP pipeline, DI |
| Features | Bot-specific capabilities |
| Configuration | appsettings, environment, secrets |
| Authentication | Bot and Azure Bot Service endpoints |
| Resiliency | Health, timeouts |
| Testing | Unit, architecture, acceptance |
| Development | Extending forked ApplicationModel |
| Use cases | When to choose this template |
| Runbook | CI/CD and deployment pointers |
Related documents¶
- Templates registry
- Extended templates: full multi-layer alignment playbook
- Extended template configuration alignment — product DB catalogs and tokens such as
BOTFRAMEWORK_ORLEANS_DATABASEfor Orleans - Microsoft Bot Framework (cross-cutting)
- Repository ConnectSoft.MicrosoftBotFrameworkTemplate
The fork repo should ship AGENTS.md at the repository root (Layer 1 / 2 / 3 boundaries), mirroring Identity.