Skip to content
CAI
Software that uses CAICheck a score

basho/clique

64.0

Adequate · 2 October 2026

2.7k

lines of production code

Erlang

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Clique is a standalone Erlang library designed to provide a structured framework for building command-line interfaces. It enables developers to define command specifications, parse arguments, and manage configuration schemas via integration with Cuttlefish. The system supports flexible output formatting, including human-readable, CSV, and JSON, and replaces the legacy riak\_cli implementation with a modular architecture.

Features

Introduce Clique as a standalone Erlang CLI library

The \riak\_cli\ library has been renamed and refactored into a new, standalone application called \clique\. This change introduces a new \clique.app.src\ manifest and a suite of core modules (\clique\, \clique\_command\, \clique\_config\, \clique\_parser\, etc.) that provide a structured framework for building Erlang command-line interfaces. The new library supports registering commands, configuration callbacks, and usage messages, and includes built-in writers for human-readable, CSV, and JSON output formats. It also integrates with the \cuttlefish\ library for configuration schema loading and validation, replacing the previous \riak\_cli\_manager\ implementation with a more modular architecture centered around \clique\_manager\.

src · high confidence

Behavioural changes

Introduce CLI argument specification records and update status output types

The system now defines a new \clique\_spec\ record in \clique\_specs.hrl\ to specify command-line arguments and flags, including their keys, names, data types, and validators. Additionally, the status type definitions in \clique\_status\_types.hrl\ (renamed from \riak\_cli\_status\_types.hrl\) have been updated to support a new \status\_list\ type, a revised \table\ structure, and a \usage\ type, enabling the CLI to display usage information for missing or invalid flag combinations.

include · high confidence

Migrate build system from Rebar2 to Rebar3 and update dependencies

The project has switched its build tooling from Rebar2 to Rebar3, replacing the custom \tools.mk\ and legacy \Makefile\ targets with a streamlined \Makefile\ that delegates to \rebar3\. This change updates the \cuttlefish\ dependency to the \develop\ branch (locking to version 2.0.8 in the config) and enforces a minimum OTP version of 22.0. Additionally, stricter Erlang compiler warnings are enabled, and the application license is now explicitly Apache 2.0.

(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 64 → 64 (+0.5)
  • Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 98 → 98 (+0.0)
  • Architecture 100 → 100 (+0.0)
  • Maturity 46 → 46 (+0.0)
  • Readiness 64 → 64 (+0.0)
  • Security 90 → 93 (+3.4)

Resolved (4)

  • Coverage not measured — no coverage collector is wired up
  • Documentation: no contributor guidance (README.md)
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)

New (3)

  • Dependency hygiene PARTLY measured — rebar3 pinning read, dependency currency not (no rebar.lock-pinned Hex declaration to grade)
  • Floating source dependency: cuttlefish
  • No dependency lockfile committed (rebar.config)

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

Survey your own repository

basho/clique 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 3929fa5aeed341b407e16479626ff6b9dddf2ea3 — 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.