Skip to content

Scoped Plugins

Ben edited this page Dec 30, 2024 · 10 revisions

Current Situation

Homebridge allows anyone to create plugins by publishing an NPM package with the prefix homebridge-* and including the homebridge-plugin keyword. This open system has led to a diverse and creative ecosystem of plugins, but it has also introduced some challenges. To address these, the Homebridge team launched the "Verified by Homebridge" program. Plugins with this designation are reviewed by the Homebridge team to ensure they adhere to best practices, maintain high-quality standards, and provide a reliable user experience.

Despite these efforts, there have been instances where plugin maintainers became unresponsive or disappeared entirely. This has left some plugins abandoned, leading to multiple forks of the same plugin by other developers. Such forks often create confusion for users who may be unsure which version to use.

Scoped Plugins

To improve plugin management and streamline the user experience, the Homebridge team is introducing scoped plugins with the NPM scope @homebridge-plugins/. For example, the plugin homebridge-govee will now be re-published as @homebridge-plugins/homebridge-govee.

These scoped plugins will be managed within GitHub repositories under the Homebridge Plugins organization. The original maintainer of the plugin will continue to oversee the new scoped version, ensuring continuity and familiarity for users. Additionally, the Homebridge team will have access to these repositories, allowing them to take over maintenance if the original maintainer becomes unavailable. This approach reduces confusion and ensures plugins remain reliable and well-maintained in the long term.

Transitioning to Scoped Plugins

The Homebridge UI provides a straightforward tool to help users transition from older, non-scoped plugin versions to their re-published scoped counterparts. The scoped plugins installed through this tool will be identical in version and codebase to the original plugins, ensuring a smooth and hassle-free migration process. Furthermore, this transition will not affect your Homebridge or HomeKit accessories, including room associations, scenes, and automations.

By adopting scoped plugins and enhancing plugin management, Homebridge aims to create a more robust and user-friendly ecosystem for all its users.