/TeamsFx

Toolkit core for Teams developers

Primary LanguageTypeScriptOtherNOASSERTION

Microsoft Teams Framework (TeamsFx)

CI workflow E2E Test workflow SDK CI workflow SimpleAuth CI workflow Function Extension CI workflow

Please be advised that this project is currently in Public Preview, with a lot of bugs, and work left to do before it's ready for production. Please expect breaking changes as we continue to iterate. We really appreciate your feedback, and recordings, they really make the product better. Thank you!

Microsoft Teams Framework is a library encapsulating common functionality and integration patterns (like simplified access to Microsoft Identity) for developers building apps for Microsoft Teams.

The Teams Developer Platform offers a collection of solutions for Teams developers:

  • IDE extensions for Visual Studio and Visual Studio Code named "Teams Toolkit"
  • Docs, samples
  • Code libraries including Teams Framework teamsfx and the Teams Client Library teams-js
  • A command line tool teamsfx for terminal users, automation, and CI

This repository contains the following packages:

Package Description
Visual Studio Code Extension
packages/vscode-extension
The extension named "Teams Toolkit" enables you to scaffold, run, debug, and deploy custom Teams apps directly from Visual Studio Code. It provides all the features of the CLI tool teamsfx integrated into the IDE, as well as easy access to more samples, docs and tools.
TeamsFx CLI
packages/cli
Whether you prefer keyboard-centric developer operations, or you are automating your CI/CD pipeline, the teamsfx command line tool offers the same features as the IDE extensions.
SDK
packages/sdk
The main TeamsFx code library encapsulating simple authentication for both client and server-side code tailored for Teams developers.
API
packages/api
The TeamsFx API is a collection of contracts supported by the IDE Extensions and CLI. It enables developers to write plugins to extend TeamsFx with new capabilities.
Core
packages/fx-core
The Core package centralizes implementation of capabilities shared by the IDE Extensions and the CLI.
Azure Functions Support
packages/function-extension
TeamsFx helps developers include server-side code in their Teams application backed by Azure Functions. This plugin adds support to simplify the integration of an authentication-aware Azure Function into your Teams app.
Simple Auth
packages/simpleauth
This package adds support for server-side code necessary for client-side code to access services such as Microsoft Graph.

Getting Started

To start a Teams project with TeamsFx, see the Prerequisites section of the documentation.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

  • Download our latest daily Builds here
  • Check out the Contributing page to see the best places to log issues and start discussions.

Data/Telemetry

VS Code collects usage data and sends it to Microsoft to help improve our products and services. Read our Privacy Statement and Data Collection Notice to learn more. If you don't wish to send usage data to Microsoft, you can set the telemetry.enableTelemetry setting to false. Learn more in our FAQ.

Reporting security issues and bugs

Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) secure@microsoft.com. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the Security TechCenter.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.