Skip to content
CAI
Software that uses CAICheck a score

ninenines/asciideck

56.7

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

Asciideck is an Erlang-based engine for processing AsciiDoc documents, featuring a rewritten modular parser that handles complex structures like tables and inline formatting. It provides conversion capabilities to HTML and man pages, including source code highlighting and configurable output options. The system also includes a compatibility script to interface with standard Asciidoc command-line workflows.

Features

New asciidoc compatibility script for HTML output

A new shell script at scripts/asciidoc has been added to provide an interface compatible with the Asciidoc command-line tool, allowing users to convert AsciiDoc files to HTML using the underlying asciideck engine. The script supports standard options such as specifying input files, output directories, and the --no-header-footer flag to control HTML structure, while currently ignoring other backend-specific options like --attribute or --theme.

scripts · high confidence

Behavioural changes

Asciideck 0.2.0 release with erlang.mk update and new CI targets

Asciideck is updated to version 0.2.0 and now requires OTP 21 or later, removing support for older Erlang/OTP versions. The project's build system (erlang.mk) is updated to a newer commit, introducing support for building release updates (relup) and adding new Makefile targets to fetch and list dependencies. Additionally, the project now includes a CI workflow that tests against HiPE and ErLLVM, and runs groff validation checks against documentation generated by other projects using Asciideck.

(repo-wide) · high confidence

Asciideck application metadata updated to version 0.2.0 with expanded module list

The Asciideck application definition has been updated to version 0.2.0, reflecting a significant expansion in the set of compiled modules included in the release. The module list now includes new components for handling attributes, inline passes, source highlighting, stdin reading, and table processing, alongside the existing reader and transformation modules. Additionally, the application metadata now explicitly declares empty lists for optional applications and environment variables.

ebin · high confidence

Asciidoc parser rewritten with modular passes and new output features

The core Asciidoc parser has been completely rewritten to use a modular pipeline of distinct passes (attributes, transformation, lists, tables, and inline) instead of the previous monolithic parser, enabling more robust handling of complex structures like labeled lists, tables with column specs, and inline formatting. This change introduces new capabilities for HTML output, including source code highlighting via the external \source-highlight\ tool, support for \mailto:\ links, and configurable header/footer options. Additionally, man page generation now supports passthrough blocks and configurable fields, while the system now requires OTP 21+ and removes deprecated Erlang functions.

src · high confidence

Test coverage

Added and updated tests for man page generation and parser behavior

Added a new test suite \man\_SUITE\ to verify that man page generation correctly rejects documents missing a mandatory name section. Updated \parser\_SUITE\ to include new tests for strong and literal monospace text formatting, and adjusted existing title parsing tests to reflect the internal AST node change from \title\ to \section\_title\.

test · 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 57 → 57 (+0.0)
  • 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 37 → 37 (+0.0)
  • Security 100 → 100 (+0.0)
  • Event Sourcing 100 → 100 (+0.0)

Resolved (2)

  • Documentation: no installation or build instructions (README.asciidoc)
  • Documentation: no usage examples (README.asciidoc)

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

Survey your own repository

ninenines/asciideck 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 6bde363d18be19a574a0c4641cecb7d66a635eaa — 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.