Development Setup

The development workflow is still being worked on, but this covers the current state of the world.

Backend Development

In order to start developing with LedFx’s core backend you should first enabled development mode to prevent having to constantly reinstall:

python develop

This will let you run LedFx directly from your Git repository via:

ledfx --open-ui

Frontend Development

Building LedFx frontend is different from how the core backend is built. The frontend is based on React.js and thus uses NPM as the core package management. To get started, first install npm and all the requirements:

pip install npm
npm install

The easiest way to test and validate your changes is to run a watcher that will automatically rebuild as you save and then just leave LedFx running in a separate command window. (Note: LedFx will need to be running in development mode for everything to work). To start the watcher run:

npm run watch

At that point any change you make to the frontend will be recompiled and after a browser refresh LedFx will pick up the new files. After development and testing you will need to run a full build to generate the appropriate distrobution files prior to submitting any changes:

npm run build

Document Development

To build the LedFx documentation simply enter the “docs” folder and run the following:

make html