Skip to content

Contributing

Technical documentation for anyone working on the code: how the device is built internally, how to set up a host-side dev environment, and how to add new control methods or lighting modes. If you only want to use the device, the rest of the docs (Home, Setup, Channels, Animations) is written for that.

  • Development guide — how it works, the architecture, the config file, and the full list of config keys.
  • Channel internals — how the Wi-Fi, button and MQTT channels work under the hood, and how to add a new channel.
  • Animation internals — the animation interface, the render loop, and how to add a new lighting mode.

Mirrors .github/workflows/ci.yml (lint → build → test → installer → docs), all on CPython:

python -m ruff check src main.py
python -m compileall -q src main.py
python -m pytest

See the Development guide for the full setup.