Welcome
We’re glad you’re interested in contributing to BuilderBot! You can contribute in various ways - the main one is by sharing your knowledge and skills to improve the repository, whether by updating documentation, improving code, or reviewing pending issues. We also appreciate financial contributions, which we’ll use for various purposes related to the development and maintenance of the project. Learn moreRequirements
To contribute to the project, you’ll need:- Node v20 or higher - Download Node
- pnpm as package manager
- VSCode - recommended code editor with useful plugins
- Conventional Commits - VSCode plugin to help create semantic commits following best practices
Getting Started
Fork the Project
Before you begin, fork the project to your own GitHub account. This allows you to work on your own copy of the repository. Fork BuilderBotClone Your Fork
Install Dependencies
Navigate to the project folder and install the necessary dependencies:Build the Project
Compile the application. This will generate alib directory within the monorepo packages:
Create Example App
Run the CLI (Command Line Interface) to create an example bot:base-bailey-mysql
Configure Example App
Within that directory, edit thepackage.json file and remove the following lines:
Run Example App
Navigate to the newly created directory:Database Configuration
For MySQL and MongoDB, you’ll need to specify connection data in theapp.js file. For example, for MySQL:
Running Tests
All changes must pass end-to-end tests:Code of Conduct
We are committed to providing a welcoming and inclusive environment. By participating in this project, you agree to abide by our Code of Conduct:- Demonstrate empathy and kindness toward other people
- Be respectful of differing opinions, viewpoints, and experiences
- Give and gracefully accept constructive feedback
- Accept responsibility and apologize for mistakes
- Focus on what is best for the overall community
Need Help?
If you find information that could be improved in this guide or any spelling errors, feel free to edit it directly.