jelly-beam/rebar3_ex_doc
64.8
Adequate · 2 October 2026
648
lines of production code
Erlang
with Elixir
2
measurements over time
What this system is
This system is a Rebar3 plugin that generates documentation for Erlang and Elixir projects by integrating with the ex\_doc tool. It supports per-application documentation generation, allows for custom ex\_doc escript paths, and includes built-in support for rendering Mermaid diagrams within the generated HTML. The tool enforces modern runtime requirements (OTP 25+) and provides utilities for managing dependency versions and project structure.
Features
Add Mermaid diagram rendering examples
New example applications, mermaid\_map and mermaid\_mfa, have been added to the examples directory. The mermaid\_mfa example provides a basic interface for rendering Mermaid diagrams, specifically supporting HTML output by embedding the Mermaid JavaScript library (version 10.2.4) via a CDN script tag.
_examples/mermaid\_map, examples/mermaid\mfa · high confidence
Initial examples for Mermaid graph generation and OTP library structure
The examples directory now includes two Mermaid graph generation examples (\mermaid\_map\ and \mermaid\_mfa\) demonstrating how to use \rebar3\_ex\_doc\ to embed Mermaid diagrams in documentation via the \before\_closing\_head\_tag\ configuration, alongside a basic OTP library example (\mylib\) showing standard project structure and documentation setup.
examples · high confidence
New Mix task to update ex\_doc version
A new Mix task, \up\_ex\_doc\_version\, has been added to allow manual or automated updates of the \ex\_doc\ dependency version in \mix.exs\. This task accepts a new version string as an argument and updates the \@ex\_doc\_version\ attribute within the project configuration file.
lib/mix · high confidence
Behavioural changes
Plugin requires OTP 25+ and adds Mermaid support with per-app documentation generation
The plugin now enforces a minimum Erlang/OTP 25 runtime, raising an error for older versions. It introduces out-of-the-box support for Mermaid diagrams in generated documentation (defaulting to version 10.2.4) and allows users to specify a custom ex\_doc escript path via the new --ex\_doc command-line option. The documentation generation process has been refactored to run per application, ensuring that edoc options are correctly scoped to each app rather than the global project state, and the plugin version has been bumped to 0.3.0.
src · high confidence
Update ex\_doc to 0.40.3 and require OTP 27+
The plugin now bundles ex\_doc version 0.40.3 and drops support for Erlang/OTP versions older than 27, meaning users must upgrade their runtime to OTP 27 or later to generate documentation. The release script has been updated to fetch pre-built ex\_doc escripts for OTP 27, 28, and 29, and the .tool-versions file now specifies Erlang 27.0 and Elixir 1.17.2.
(repo-wide) · high confidence
Test coverage
Expanded test coverage for OTP 27+ and new configuration scenarios
The test suite now includes dedicated test cases for OTP 27 and later, ensuring compatibility with the latest Erlang/OTP releases. New tests verify behavior with alternate rebar3 config formats, custom ex\_doc escripts, explicit output directory settings, asset handling, and Mermaid diagram integration. The suite initialization has also been updated to install the Hex archive before building dependencies.
test · high confidence
Dependencies
Upgrade to ex\_doc 0.40.3 and rename application to rebar3\_ex\_doc
The documentation tooling dependency has been updated from ex\_doc 0.26.0 to 0.40.3, bringing in updated transitive dependencies like earmark\_parser, makeup, and nimble\_parsec. The application has been renamed from :rebar\_hex\_doc to :rebar3\_ex\_doc, and the minimum required Elixir version has been raised to 1.13. Additionally, the generated escript is now dynamically named based on the running OTP release (e.g., ex\_doc\_otp\_26) rather than a static name, and the project version has been bumped to 0.3.0.
(dependencies) · 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 74 → 65 (-9.2)
- Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 97 → 97 (+0.0)
- Architecture 69 → 69 (+0.0)
- Maturity 70 → 70 (+0.0)
- Readiness 78 → 52 (-25.6)
- Security 99 → 99 (+0.3)
Resolved (3)
- Coverage not measured — no coverage collector is wired up
- Documentation: no contributor guidance (README.md)
- Documentation: no usage examples (README.md)
Changes since last survey
- 2 commits — 2 feature/other, 0 fixes
By area
- (root) — 1 commit
- src/rebar3_ex_doc.erl — 1 commit
Notable commits
- change: Add markdown to default documentation formats (#130)
- change: Replace repository links (#131)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
jelly-beam/rebar3_ex_doc 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 b344f379a3dc0e8982f3af60f909de176aa2493e — 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.