Skip to content
CAI
Software that uses CAICheck a score

filmor/exerl

50.1

Weak · 17 September 2026

1.1k

lines of production code

Erlang

primary language

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

This system is a Rebar3 plugin designed to integrate Elixir dependencies into Erlang projects. It manages the compilation of Elixir sources and resolves dependencies by fetching precompiled builds from Hex.pm. The tool handles version parsing and dependency locking to ensure interoperability between the two ecosystems.

Behavioural changes

Replaces Elixir dependency management with Hex.pm precompiled builds

The plugin now fetches precompiled Elixir releases from builds.hex.pm instead of downloading from GitHub, using a cached builds.txt file with ETag support for efficient updates. This change introduces a new dependency on the verl library for version requirement parsing and updates the application manifest to include inets and verl. The internal module structure has been refactored to support this new dependency resolution, including new modules for handling build metadata and dependency locking, while removing the previous GitHub-based download and path resolution logic.

src · high confidence

Update project dependencies and configuration for Elixir interoperability

The project's dependency list has been updated, replacing the 'jsone' package with 'verl' (v1.1.1) in the main configuration and lock file. The 'rebar.config' file has been expanded to include documentation plugins (rebar3\_hex, rebar3\_ex\_doc) and test-specific dependencies, including the 'exerl' plugin itself, 'rebar3' from git, and 'elixir\_full' (v1.16). A new '.elp.toml' configuration file was added to set the test profile, and the README was updated to document the plugin's usage for compiling Elixir sources and managing Elixir dependencies within a Rebar3 project.

(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

Baseline

  • First survey — no prior run to compare against. CAI 50.

Lenses

  • Code Health 99
  • Architecture 69
  • Maturity 50
  • Readiness 33
  • Security 90

Changes since last survey

  • 63 commits — 58 feature/other, 5 fixes

By area

  • (root) — 16 commits
  • apps/exerl_build — 9 commits
  • apps/rebar3_exerl_build — 5 commits
  • apps/exerl — 4 commits
  • src/exerl.erl — 4 commits
  • .github/workflows — 3 commits
  • apps/exerl_dep — 3 commits
  • src/exerl.hrl — 3 commits
  • src/exerl_dep_builds.erl — 3 commits
  • src/exerl_elixir_compiler.erl — 2 commits
  • src/exerl_prv_consolidate.erl — 2 commits
  • src/exerl_r3_builder.erl — 2 commits
  • src/exerl_r3_compile.erl — 2 commits
  • src/exerl.app.src — 1 commit
  • src/exerl_dep.erl — 1 commit
  • src/exerl_dep_pkg.erl — 1 commit
  • src/exerl_prv_iex.erl — 1 commit
  • src/exerl_util.erl — 1 commit

Notable commits

  • fix: Fix compile warnings
  • fix: Fix handling of non-version tags
  • fix: Fix issues running on Windows
  • fix: Fix multiple type issues
  • fix: Fix some bugs, move code for builder
  • change: Add README to ex_doc documentation
  • change: Add TODO
  • change: Add a warning for rebar3 versions without "or" support
  • change: Add fake dependencies and elixir_full pseudo package
  • change: Add fake project to the project stack and track module deps
  • change: Add missing file
  • change: Add simple IEx provider and move most elixir mod names into header
  • change: Add some basic information to the README
  • change: Add super-hacky mix builder
  • change: Adjust ignore file
  • change: Brute force load all dependency modules, allows compiling
  • change: Check format in CI
  • change: Configure for initial publish
  • change: Create erlang.yml
  • change: Current state
  • …and 43 more

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

Survey your own repository

filmor/exerl 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 17 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 58e264e0e05e9520e2a7208e83971643e00a6aab — the exact code this score is about.
  • Scored under rubric-2026.09.12 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-f94092f054c1.