Thank you for showing interest in improving the project! This guide is made to help new contributors set up the project and propose changes.
This project is a monorepo and uses the Nx monorepo tool to do a lot of cool things. If you are not familiar with Nx then please check out their documentation and understand the core concepts.
Use Visual Studio Code and the recommended extentions.
Install all dependencies using npm install.
Test if project is properly set up by attempting to build everything in the project using the following command: npx nx run-many --target=build --all. A graph of all applications and libraries, and their relations, can be seen using npx nx graph.
Use the command npx nx serve bot to run the bot application, and use npx nx run-many --target=serve --projects=bot,bot-manager to run both the bot and bot manager.
Nx automatically loads environment variables from different files. To configure an application, create a file called .env.local inside the application directory. Environment variable files are ignored using the .gitignore file, but please make sure you don't commit any secret values.
Commits need to follow the conventional commit format. Commit message linting has been set up to force you to follow the format. To ensure you follow the format, you can stage your changes and then use npm run commit to interactively create a commit message.
Use the following steps should be used to create changes to the project:
- Fork the repository
- Clone the fork to your computer
- Create a Branch from the
devbranch - Commit changes to your branch (using
npm run commit) - Push your work back to your fork
- Submit a Pull request to the
devbranch
Note: Be sure to keep your own fork up to date with the upstream repository.