Skip to content
CAI
Software that uses CAICheck a score

ContextMapper/context-mapper-cli

65.4

Adequate · 21 September 2026

257

lines of production code

Java

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a command-line interface for the Context Mapper tool, designed to validate CML files and generate various outputs such as DDD context maps and PlantUML diagrams. It provides 'validate' and 'generate' subcommands to support software architecture modeling tasks. The project is built with Gradle and Java 17, ensuring consistent build environments and dependency management.

Features

Introduce Context Mapper CLI for validating and generating output from CML files

Users can now run the Context Mapper CLI to validate CML files for errors and warnings, or generate output (such as DDD context maps, PlantUML diagrams, or generic text) from CML source files. The CLI, built with Picocli, provides 'validate' and 'generate' subcommands, supporting options for input/output paths, generator selection, and custom templates.

src/main · high confidence

Introduce Gradle build system and CLI usage documentation

The project now uses Gradle for building, evidenced by the addition of the Gradle wrapper scripts (gradlew, gradlew.bat) and the .sdkmanrc file specifying Java 17. A new .editorconfig file enforces consistent code formatting across various file types. The README.md has been significantly expanded to include build instructions, usage examples for the 'validate' and 'generate' commands, and links to download the CLI. Additionally, a context\_mapper\_cli.feature file was added, likely serving as a test or specification for the CLI's behavior.

(repo-wide) · high confidence

Behavioural changes

Updated Gradle wrapper to version 8.14

The Gradle wrapper has been updated to version 8.14, ensuring the project uses a specific, consistent version of the Gradle build tool for all developers and CI environments.

gradle · high confidence

Test coverage

Added tests for the Context Mapper CLI

Added test coverage for the Context Mapper CLI, including the main CLI entry point, the generate and validate commands, the generator enum, and the version provider.

src/test · high confidence

Dependencies

Migrate build system to Gradle with Java 17 and updated dependencies

The project build has been migrated to use Gradle, replacing the previous build system. The configuration specifies Java 17 as the source and target compatibility. Dependencies have been updated to specific versions: Context Mapper DSL 6.12.0, JUnit Jupiter 5.12.2, AssertJ 3.27.3, Mockito 5.17.0, and Picocli 4.7.7. The Gradle setup also includes publishing configurations for Maven Central, including sources and javadoc artifacts, and configures the main class for the CLI application.

(dependencies) · medium 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

This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.

Score

  • CAI 53 → 65 (+12.5)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 99 → 100 (+0.2)
  • Architecture 69 → 69 (+0.0)
  • Maturity 59 → 69 (+9.8)
  • Readiness 55 → 58 (+3.3)
  • Security 43 → 72 (+28.8)

Resolved (27)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • Duplicated block (10 lines × 2) (src/main/java/org/contextmapper/cli/GenerateCommand.java)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • …and 7 more

New (26)

  • Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
  • Duplicated block (11 lines × 2) (src/main/java/org/contextmapper/cli/GenerateCommand.java)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • …and 6 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

ContextMapper/context-mapper-cli 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 21 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 b819362eed75e7dfb0332fa1acdda56f9029b91d — 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-fa71c66cabd8.