Skip to content

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.json plus template/microsoft-bot-framework.template.extend.json (botFrameworkOverrides for package identity). Treat dotnet new connectsoft-microsoft-bot-framework -h and 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

The fork repo should ship AGENTS.md at the repository root (Layer 1 / 2 / 3 boundaries), mirroring Identity.