Skip to content

Latest commit

 

History

History
11 lines (8 loc) · 1.61 KB

File metadata and controls

11 lines (8 loc) · 1.61 KB

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 welcome to contribute to Zigbee2MQTT. Zigbee2MQTT is written in JavaScript and is based upon zigbee-herdsman and zigbee-herdsman-converters. Zigbee-herdsman-converters contains all device definitions, zigbee-herdsman is responsible for handling all communication with the adapter.

  • Pull requests are always created against the dev branch.
  • Easiest way to start developing Zigbee2MQTT is by setting up a development environment (aka 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 running pnpm run test:coverage. The coverage report can be found under coverage/lcov-report/index.html. Linting is also enforced and can be run with pnpm run eslint.
  • When you want to add support for a new device no changes to Zigbee2MQTT have to be made, only to zigbee-herdsman-converters. You can find a guide for it here.