Skip to content
CAI
Software that uses CAICheck a score

lrascao/rebar3_gpb_plugin

52.0

Weak · 2 October 2026

480

lines of production code

Erlang

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a rebar3 plugin that compiles Protocol Buffer definitions into Erlang code. It provides explicit commands to compile and clean generated files, handling recursive searches and dependency tracking to ensure accurate recompilation. The tool is designed to integrate protocol buffer support into Erlang and OTP projects, including umbrella applications.

Behavioural changes

Documentation samples relocated to doc/samples

The example projects demonstrating the rebar3\_gpb\_plugin have been moved from the root examples folder to doc/samples. This location now contains the sample\_app (a simple OTP application) and sample\_release (an umbrella release structure) directories, providing updated reference material for integrating protocol buffer definitions into Erlang projects.

(repo-wide) · high confidence

Refactored plugin architecture with explicit compile and clean providers

The rebar3 gpb plugin has been refactored to separate concerns into distinct modules: \rebar3\_gpb\_compiler\ handles the core logic for discovering, filtering, and compiling \.proto\ files (including support for recursive search and proto-based dependencies), while \rebar3\_gpb\_prv\_compile\ and \rebar3\_gpb\_prv\_clean\ serve as explicit rebar3 providers for the \protobuf compile\ and \protobuf clean\ commands. This change replaces the previous implicit compilation strategy with a more robust implementation that properly handles dependency timestamps to ensure dependent protos are recompiled when their includes change, and fixes issues with the clean command regarding path derivation and dependency-relative proto files. The plugin version has been bumped to 3.0.1.

src · high confidence

Dependencies

Upgrade gpb dependency to 5.0 and update configuration format

The plugin now requires gpb 5.0.0 (up from 3.18.x), which may introduce breaking changes in generated code or compilation behavior. The configuration format has shifted from a simple git-based plugin inclusion to a versioned hex package (3.0.1) with explicit include path setup in erl\_opts. The README has been updated to reflect new options like recursive search, include paths for dependencies, and specific usage instructions for umbrella projects.

(repo-wide) · 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 51 → 52 (+0.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 38 → 38 (+0.0)
  • Readiness 49 → 49 (+0.0)
  • Security 78 → 89 (+10.9)

Findings

  • No change — the same findings as the prior survey.

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

lrascao/rebar3_gpb_plugin 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 6cbd4a4ce23184746683655ec55e5f404df8bbd7 — 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.