This is a cross-platform software development kit (SDK) for rendering Adaptive Cardsβa JSON-based card format used by Microsoft products like Teams, Outlook, and Cortana. The repository provides a shared C++ object model for parsing and serializing card definitions, along with platform-specific renderers for Android, iOS, UWP (WinUI), .NET (WPF), and Node.js. It also includes a templating engine for dynamic data binding, a visual designer tool, and multiple test applications. The architecture is a library/framework model: each platform has its own rendering layer that converts the parsed card model into native UI components. The codebase is large and well-organized, with clear separation between the shared model and platform implementations. However, feature parity across platforms is incomplete (e.g., v1.5 features are missing in .NET renderer), and there is significant duplication of logic across platforms, which introduces maintenance risk.
This repository is a large collection of sample applications for the Microsoft 365 Agents Toolkit (formerly Teams Toolkit). It contains dozens of independent projects demonstrating how to build Microsoft Teams tabs, bots, message extensions, notification bots, Office Add-ins, SharePoint Framework web parts, and Copilot extensions (agents). Each sample is self-contained with its own infrastructure-as-code (Bicep), app manifest, environment configuration, and source code in TypeScript, JavaScript, Python, or C#. The samples range from simple hello-world tabs to complex AI-powered agents that integrate with Azure OpenAI, Microsoft Graph, and Azure AI Foundry. While primarily an application repository, a few samples include small datasets (e.g., AdventureWorks SQLite database for a data-analyst agent, CSV files for a Copilot connector) used for demonstration purposes. The codebase is heavily boilerplate-driven, with many files (like Privacy components, auth-end.html, TeamsUserCredential wrappers) duplicated across projects. This duplication creates maintenance overhead but also makes each sample independently usable. The most well-crafted components are the notification infrastructure (NotificationBot with configurable storage backends) and the proxy agent patterns that bridge M365 Copilot with external AI services. The repository includes a validation tool to enforce sample structure and metadata, CI/CD workflows, and dependabot configuration. However, many samples are archived (under /archive), and there is version inconsistency across samples (Node 16 vs 22, old botbuilder vs new agents-hosting SDK). Overall, it serves as a practical reference for developers building on the Microsoft 365 extensibility platform, but individual samples should be vetted for currency before reuse.