Skip to content
CAI
Software that uses CAICheck a score

codedge-llc/scribe

63.9

Adequate · 18 September 2026

862

lines of production code

Elixir

primary language

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

Scribe is an Elixir library designed for pretty-printing tables of structs and maps. It provides a flexible API for formatting data with customizable columns, alignment, and width constraints. The system supports multiple visual themes, including markdown and PostgreSQL styles, and enables interactive pagination for large datasets.

Features

Initial release of Scribe for pretty-printing Elixir data

This entry introduces the Scribe library, a tool for pretty-printing tables of Elixir structs and maps. The initial commit establishes the project structure, including a \.formatter.exs\ for code formatting, a \CHANGELOG.md\ documenting versions up to 0.11.1, and a comprehensive \README.md\ with usage examples. The library supports features such as custom column definitions, function-based columns, text alignment (left, center, right), width constraints, colorization toggles, and pagination via the \pane\ library. It also includes support for various styling formats and custom style adapters.

(repo-wide) · high confidence

Introduces configurable table styling with multiple visual themes

The \lib/scribe\ library now supports pluggable table styles, allowing users to change the visual appearance of printed tables via the \style\ option or the \:scribe, :style\ application config. This change introduces a \Scribe.Style\ behaviour and several built-in implementations: \Default\ (box-drawing characters), \GithubMarkdown\ (pipe-separated markdown), \NoBorder\ (space-aligned), \Psql\ (PostgreSQL-style), and \Pseudo\ (Unicode box-drawing). The formatting logic in \Scribe.Formatter\ and \Scribe.Table\ has been updated to use these styles to determine border characters, alignment, and default ANSI colors for different data types.

lib/scribe · high confidence

Behavioural changes

Major overhaul of table printing API with pagination and styling

The internal table formatting module has been removed and replaced with a comprehensive rewrite in the main Scribe module. This change introduces support for paginated viewing via the 'pane' library, allowing users to interactively browse large datasets. It also adds extensive styling options, including configurable text alignment (left, center, right), colorization toggles, custom width constraints, and callback-based styling adapters. Users can now customize column headers, specify function-based columns, and direct output to specific devices, significantly expanding the flexibility of the printed output compared to the previous static table format.

lib · high confidence

Removal of legacy config/config.exs file

The project has removed the \config/config.exs\ file, which previously handled application configuration via the \Mix.Config\ module. This change eliminates the legacy configuration mechanism, implying that default values or environment-specific settings are now managed elsewhere, such as in the \mix.exs\ file or through other configuration strategies.

config · high confidence

Test coverage

Expanded test coverage for table formatting and styling

Added comprehensive unit tests for the Scribe library's table formatting and styling capabilities. The new tests in \test/border\_test.exs\, \test/formatter\_test.exs\, and \test/style\_test.exs\ verify correct output for various styles (Default, Psql, GitHub Markdown, Pseudo, NoBorder), cell alignment, colorization, and border handling. The \test/scribe\_test.exs\ file was significantly expanded to cover struct and map formatting, key selection, custom column titles, and width constraints. Additionally, \test/table\_test.exs\ was updated to test the \Table\ module's format function, style selection, and width calculations, while \test/test\_helper.exs\ was configured to capture logs during test runs.

test · high confidence

Dependencies

Upgrade Elixir requirement to 1.13 and add development tooling

The project now requires Elixir 1.13 or higher, dropping support for older versions. Additionally, the \mix.exs\ manifest has been updated to include development dependencies for code analysis and documentation generation, specifically adding \credo\, \dialyxir\, \ex\_doc\, and \faker\, while also declaring \pane\ as an extra application.

(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

Baseline

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

Lenses

  • Code Health 100
  • Architecture 69
  • Maturity 50
  • Readiness 75
  • Security 91

Changes since last survey

  • 80 commits — 67 feature/other, 13 fixes

By area

  • (root) — 59 commits
  • (repo) — 4 commits
  • lib/scribe.ex — 4 commits
  • lib/style — 3 commits
  • lib/line.ex — 2 commits
  • lib/scribe — 2 commits
  • lib/table.ex — 2 commits
  • .github/FUNDING.yml — 1 commit
  • config/config.exs — 1 commit
  • lib/formatter.ex — 1 commit
  • test/scribe_test.exs — 1 commit

Notable commits

  • fix: fix: added :pane to applications list
  • fix: fix: elixir 1.8 support
  • fix: fix: functions made private to hide from docs
  • fix: fix: include inspect_overrides directory in hex package
  • fix: fix: passed linter
  • fix: fix: passed linter
  • fix: fix: printing one row of data now spaces correctly
  • fix: fix: remove compile warnings
  • fix: fix: remove dogma from travis config
  • fix: fix: support for elixir v1.7
  • fix: fix: two minor fixes to the readme (#17)
  • fix: fix: unused variables
  • fix: fix: update README to colorize format opt (#10)
  • change: Initial commit
  • change: Initial commit
  • change: Merge branch 'master' of github.com:codedge-llc/scribe
  • change: Merge branch 'master' of github.com:codedge-llc/scribe
  • change: Merge branch 'master' of github.com:codedge-llc/scribe
  • change: Merge branch 'master' of github.com:codedge-llc/scribe
  • change: chore: add FUNDING
  • …and 60 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

codedge-llc/scribe 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 18 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 17c297db6f309bb73f5d78d5d4d8cfac2c998f65 — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-5d04157a340d.