/generator-teams

A Yeoman Generator for Microsoft Teams

Primary LanguageTypeScriptMIT LicenseMIT

topic products languages extensions
sample
office-365
typescript
contentType createdDate
tools
3/3/2017 2:24:18 AM

Microsoft Teams App Project Generator - #YoTeams

npm version npm MIT GitHub issues GitHub closed issues GitHub stars Gitter

@master @preview
npm (latest) npm (preview)
Travis (.org) branch Travis (.org) branch

A Yeoman Generator for Microsoft Teams Apps projects. This generator is for developers who prefers to use TypeScript, React and node as their primary technologies.

The generator allows you to simply create and scaffold projects that includes one or more Microsoft Teams features such as:

  • Bots
  • Messaging Extensions
  • Tabs
  • Connectors
  • Outgoing Webhooks

When scaffolding the project you will also have the option of adding additional features to your project such as:

  • Easy deploy to Microsoft Azure
  • Add unit testing framework and sample unit tests
  • Easily develop and debug using ngrok

Documentation

The documentation for the generator and the generated project can be found at the generator-teams Github Wiki.

The generated project

When the generator is done you can start working with your project. Make sure to read the generated README.md file for more instructions. The generated artefacts contains sample code as well as detailed documentation on the required steps that is required for you when registering Connectors and Bots.

The solution can be built using the Gulp task build and hosted on a local web server using the Gulp task serve. The Teams Application manifest is generated by executing the Gulp task manifest - that will validate and create the ZIP file that you upload to Microsoft Teams.

yo teams Demo

Demo

Install

Important: If this is the first time you're using Yeoman or installing a Yeoman generator, first install Node.js. For developers on Mac, we recommend using Node Version Manager to install Node.js with the right permissions. When the installation completes, restart your console (or if you are using Windows, restart your machine) to ensure you use the updated system environment variables.

Prerequisites

Install yo (Yeoman), gulp-cli (Gulp global command line interface) and typescript (Typescript compiler) globally using NPM.

npm install yo gulp-cli typescript --global

Released and stable version

Install generator-teams globally using NPM.

npm install generator-teams --global

Preview versions

Preview versions of the generator will be published with the preview tag and can be installed using the following command:

npm install generator-teams@preview --global

Usage

yo teams [arguments]

Note: Files are created in the directory that you run the command from hence make sure you are happy with the location before you hit enter.

Arguments

The following arguments can be used:

  • --skip-install - when used no packages will be installed at the end of the generator and you have to run npm install or similar manually.
  • --no-telemetry - opt out of sending telemetry data (NOTE: no personal data or names of artefacts are being sent, only information of successful executions and what options are being used).

Build the generator

If you are interested in contributing or modifying the generator itself, you clone this repository and then install all modules before building the solution.

npm install
npm run build

The bundled generator and the template files will end up in the ./generators/ folder.

Test the generator

If you want to run the generator tests, you can run the following command.

npm test

Yeoman-test packge is being used for the generator tests. (NOTE: Node JS version 8.10.0 is recommended for executing generator tests.)

Use it in dev mode

In the generator-teams directory use the following command, this will link the local copy of the folder as a global node module.

npm link

To revert the link operation:

npm unlink

More information

For more information on how Tabs and Bots can be used with Teams see the Teams Developer Documentation

Contributors

Be a part of the movement

If you want to be a part of the #YoTeams movement then head on over to the discussion at the generator-teams Gitter channel or follow us on Twitter using the hashtag #yoteams.

Contributing

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.