emqx/emqx-plugin-template
57.0
Adequate · 2 October 2026
311
lines of production code
Erlang
primary language
2
measurements over time
What this system is
This system is a rebar3 template for generating EMQX v5 plugins in Erlang, providing a standardized skeleton for development. It includes build tooling, configuration examples, and test suites to facilitate the creation of plugins that handle authentication and authorization. The project serves as a foundational resource for developers targeting EMQX 5.7 and later versions.
Features
Added EMQX plugin application source file
The project now includes the \emqx\_pt.app.src\ file, which defines the EMQX Plugin Template application with version 1.0.0, specifying dependencies on the kernel and stdlib applications and declaring Apache 2.0 licensing.
src · high confidence
New build and formatting scripts for EMQX plugins
Added a suite of shell scripts to streamline the development and build process for EMQX plugins. The new \build-sample-plugin.sh\ script automates the creation, configuration, and compilation of plugin projects, including optional Avro schema support. \ensure-rebar3.sh\ manages the installation of specific rebar3 versions tailored to different Erlang/OTP releases, while \install-rebar3-template.sh\ sets up the necessary plugin templates. Additionally, \format-template-code.sh\ provides a tool to format Erlang source files within the plugin templates, handling special template syntax correctly.
scripts · high confidence
Behavioural changes
EMQX Plugin Template updated for EMQX v5 with Apache 2.0 license
The repository has been updated to serve as a rebar3 template for creating EMQX v5 plugins in Erlang, replacing the previous EMQ v3/v4 support. The project license has changed from MIT to Apache 2.0. The template now generates plugin skeletons that depend on \emqx\_plugin\_helper\ (v5.9.1) and uses the \emqx\_plugrel\ rebar plugin for packaging. It includes updated build tooling (Makefile, .tool-versions for Erlang 27.2/Elixir 1.18.3), configuration examples (HOCON, Avro schema), and CLI demo components to facilitate development against EMQX 5.9.
(repo-wide) · high confidence
Updated EMQX plugin template with Erlang 27.2 and EMQX 5.7 compatibility
The plugin template now targets Erlang/OTP 27.2 and Elixir 1.18.3, and is compatible with EMQX 5.7. It enforces the use of the \emqx\_plugin\_helper\ dependency, which provides the necessary hooks, logging, and message macros. The template includes updated build scripts that automatically select the correct \rebar3\ version based on the detected OTP release, and it synchronizes the release version with the application version via a pre-compile hook. Additionally, it provides example configuration schemas (Avro) with UI hints and internationalization strings to support the EMQX Enterprise plugin configuration UI.
emqx-plugin-templates · high confidence
Test coverage
Added Common Test suite and helper modules for plugin authentication and authorization
Added \emqx\_pt\_SUITE.erl\ along with supporting test helper modules \emqx\_pt\_test\_api\_helpers.erl\ and \emqx\_pt\_test\_helpers.erl\. The new test suite validates plugin authentication (client ID regex enforcement) and authorization (topic subscription restrictions) by uploading and configuring a test plugin, connecting via MQTT, and verifying API interactions for plugin management.
test · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 65 → 57 (-7.9)
- Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 100 → 100 (+0.0)
- Architecture 69 → 69 (+0.0)
- Maturity 60 → 60 (+0.0)
- Readiness 64 → 45 (-19.6)
- Security 69 → 75 (+6.3)
Resolved (4)
- Coverage not measured — no coverage collector is wired up
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Off-boarding risk: anonymized user #1
New (4)
- Dependency hygiene PARTLY measured — rebar3 pinning read, dependency currency not (no rebar.lock-pinned Hex declaration to grade)
- Documentation: no project overview (README.md)
- No dependency lockfile committed (emqx-plugin-templates/rebar.config)
- Off-boarding risk: anonymized user #1
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
emqx/emqx-plugin-template was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 2 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit c40bcfba93a9da2388b5f523834730bb1d6fa965 — the exact code this score is about.
- Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.