Skip to content

botpress/botpress

Repository files navigation

Botpress Cloud

Discord YouTube Subscribe Documentation @botpress/sdk @botpress/cli

Botpress is the ultimate platform for building next-generation chatbots and assistants powered by OpenAI. Start building incredible assistants for your projects or businesses at lightning speed.

Getting startedCloudDocumentationIntegrationsAgents

This Repository

This repository contains:

  • Integrations – all public integrations on the Botpress Hub maintained by Botpress
  • Devtools – all Botpress Cloud dev tools (CLI, SDK, API Client)
  • Bots - some example of bots "as code" made only using the SDK and the CLI
  • Agents – all public agents on the Botpress Studio (coming soon)

Contributing

We love contributions from the community!

We welcome pull requests and issues relevant for any code contained in this repository. See the This Repository section for more details.

For bugs or features related to the API, Botpress Dashboard or the Botpress Studio, please talk to us on Discord instead!

For any problem related to on-premise Botpress v12, please see the Botpress v12 repository.

Integrations

The /integrations folder contains all our public and open-source integrations. We invite the community to contribute their own integrations to Botpress Cloud.

Integration Development

To develop an integration, start by installing the Botpress CLI:

npm install -g @botpress/cli # for npm
yarn global add @botpress/cli # for yarn
pnpm install -g @botpress/cli # for pnpm

Then, in the directory of your choice, create a new integration:

bp init

This command will generate a integration from one of the proposed templates.

This step can be executed in any directory and git repository of your choice. You don't have to fork this repository to create an integration.

You can then modify both the definition and implementation of your integration respectively located in the integration.definition.ts and src/index.ts files.

For more information on how to develop an integration, please refer to the Documentation.

Once your integration is ready, you can deploy it to your workspace using the following command:

bp deploy

This will deploy your integration to your workspace and make it available to all your bots.

Making your Integration Public

By default, all integrations are private to the workspace they have been deployed in.

To submit your integration to the Botpress Hub and make it publicly available to the community, please make a pull request to this repository by following these Integration Contribution guidelines.

Bots

The /bots folder contains examples of bots "as code" made only using the client, the SDK and the CLI.

This is not the recommended way to build bots and is in no way a replacement for the Botpress Studio.

However it can be useful for experienced developers who want to build bots in a more programmatic way.

It is also used internally by the Botress team since the Studio and CLI both use the same underlying primitives.

Devtools

Package Description Docs Code
@botpress/cli Build and deploy private or public integrations Docs Code
@botpress/client Type-safe client to consume the Botpress APIs Docs Code
@botpress/sdk Internal package used by to build integrations Docs Code

Agents

Coming soon.

Local Development

Prerequisites

The development environment requires the following tools to be installed:

  • git: Git is a free and open source distributed version control system.
  • node: Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
  • pnpm: PNPM is a fast, disk space efficient package manager.
  • tilt: Tilt is a toolkit for fixing the pains of microservice development.

Building from sources

# Clone the repository
git clone https://github.com/botpress/botpress.git
cd botpress

# Build Sources
tilt ci

# Run Checks
pnpm run check

Licensing

All packages in this repository are open-source software and licensed under the MIT License. By contributing in this repository, you agree to release your code under this license as well.

Let's build the future of chatbot development together! 🤖🚀