How to build Bot Framework Composer from source

APPLIES TO: Composer v2.x

We recommend installing Bot Framework Composer as a desktop application. If the desktop app isn't suited to your needs, you can build Composer from source or host Composer in the cloud.

If you're on an internal network, you might need to Configure your proxy server before you can use Composer.

In this guide, you'll learn how to build Composer from source and run it locally as a web application using Yarn.

Prerequisites

Install the following software before building Composer:

Composer is built to run on x64 architectures. For a full list of supported operating systems, see Supported operating systems and architectures.

Build and run Composer

Follow these steps to build Composer from source and run it locally:

  1. Clone the Composer repository:

    git clone https://github.com/microsoft/BotFramework-Composer.git
    
  2. Switch to the Composer directory:

    cd BotFramework-Composer\Composer
    
  3. Install dependencies:

    yarn install
    
  4. Build Composer with extensions and libraries:

    yarn build
    
  5. To enable the use of QnA Maker, run this command every time before starting Composer:

    Note

    Azure QnA Maker will be retired on 31 March 2025. Beginning 1 October 2022, you won't be able to create new QnA Maker resources or knowledge bases. A newer version of the question and answering capability is now available as part of Azure AI Language.

    Custom question answering, a feature of Azure AI Language, is the updated version of the QnA Maker service. For more information about question-and-answer support in Composer, see Natural language processing.

    set QNA_SUBSCRIPTION_KEY=<Your_QnA_Subscription_Key>
    
  6. Start the client and server:

    yarn startall
    
  7. Open a browser and navigate to http://localhost:3000.

That's it, you're ready to use Composer.

Next steps

In this article, you learned how to build Composer from source. Next, learn how to build your first bot or how to configure a proxy server.

See also