Developers
We welcome all community developers who would like to help with Firebot. If you'd like to participate we recommend starting with some "Entry Level" bugs or feature requests on the issues page. After a commit or two you'll be invited to the Firebot developer channel where we discuss everything.
IDE
We highly recommend you use Visual Studio Code, but you are welcome to use whatever IDE you prefer.
Installation
1. Prerequisites
- Git
- Nodejs
- Volta (Dynamically sets your node/npm version when working in Firebot)
- Python (3.7, 3.8, or 3.9)
Windows
OR
- Install Visual Studio Community with C++ package
Linux
You will need libx11-dev libxtst-dev libpng-dev installed
For Debian distros use:
apt install libx11-dev libxtst-dev libpng-dev
macOS
- Xcode
- You also need to install the
XCode Command Line Tools
by runningxcode-select --install
. Alternatively, if you already have the full Xcode installed, you can find them under the menuXcode -> Open Developer Tool -> More Developer Tools...
.
- You also need to install the
2. Install Global Packages
Run from a console/terminal with admin privileges:
npm install --global --production node-gyp grunt-cli
3. Clone Repo
Create a new directory/folder
Open the folder/directory in a console/terminal and run:
git clone https://github.com/crowbartools/Firebot.git .
4. Install Dependencies
Open the folder/directory of Firebot's repo in a console/terminal with admin privileges and run:
npm run setup
5. Create secrets.json
Before Firebot will start, a secrets.json
file will need to be setup.
- At the root level of the project, you will find a
secrets.template.json
file. Duplicate it and rename the copy tosecrets.json
. - In this file are empty strings for OAuth client and secret keys for Twitch and various 3rd party integrations. The only needed keys for development are the Twitch ones (unless you plan to dev features for any of the integrations)
- To create your own OAuth client for Twitch, you can register a Twitch "application" at: https://dev.twitch.tv/console/apps/create
- Name can be anything, ie
FirebotDev
- Set the callback URL to
http://localhost:7472/api/v1/auth/callback
- Name can be anything, ie
- Input your Client ID and Client Secret into the
secrets.json
file.
6. Run Firebot from Dev Environment
Open the folder/directory of Firebot's repo in a console/terminal and run:
npm start