mirror of
https://github.com/Koenkk/zigbee2mqtt.git
synced 2026-06-20 04:01:45 +00:00
1.6 KiB
1.6 KiB
Contributing to Zigbee2MQTT
Warning
Any AI-driven pull request with more than 500 lines of code will not be considered. If wanting to submit something that requires more, split the work into easily review-able pull requests that can be introduced in increments (e.g. pre-refactor, base feature, additional features).
Everybody is invited and welcomed to contribute to Zigbee2MQTT. Zigbee2MQTT is written in TypeScript. It uses zigbee-herdsman for communication with the adapter/coordinator and zigbee-herdsman-converters to provide device-specific definitions.
- Pull requests are always created against the dev branch.
- Easiest way to start developing Zigbee2MQTT is by setting up a development environment (a.k.a. bare-metal installation). You can follow this guide to do this.
- You can run the tests locally by executing
pnpm test. Zigbee2MQTT enforces 100% code coverage, in case you add new code check if your code is covered by runningpnpm run test:coverage. The coverage report can be found undercoverage/lcov-report/index.html. - Linting & formatting is also enforced and can be run with
pnpm run check(can usepnpm run check:wto fix small issues automatically). - If you want to add support for a new device no change to Zigbee2MQTT has to be made, only to zigbee-herdsman-converters. You can find a guide for it here.