Skip to content
CAI
Software that uses CAICheck a score

circe/circe-config

61.1

Adequate · 20 September 2026

674

lines of production code

Scala

primary language

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

This system is a Scala library that integrates the circe JSON library with Typesafe Config (HOCON), enabling the parsing of configuration data into circe JSON and the decoding of that data into Scala case classes. It provides utilities for serializing JSON back to HOCON strings and includes syntax helpers for handling specific configuration types like durations and memory sizes. The project supports Scala versions 2.12, 2.13, and 3.3, and relies on Munit for its test suite.

Features

Initial release of circe-config integration

This change introduces the core \config/src/main\ Scala source files for the circe-config library, enabling users to parse Typesafe Config (HOCON) into circe JSON and decode it into case classes. The new codebase includes the \parser\ object for loading and parsing configuration from strings, files, or the classpath; \syntax\ implicits for decoding specific Typesafe Config formats like durations, periods, and memory sizes; and a \printer\ object to serialize JSON back to HOCON strings. It also adds a compatibility layer for Scala 2.12 to handle Java collection conversions.

config/src/main · high confidence

Removals

Removal of legacy parser and printer modules

The \parser.scala\ and \printer.scala\ files in the main source directory have been deleted. This removes the previous implementation that converted Typesafe Config objects to/from Circe JSON and the utility for rendering JSON back to Typesafe Config strings, indicating a shift in how configuration parsing and serialization are handled within the library.

src/main · high confidence

Behavioural changes

Project maintenance and documentation updates

This change introduces several repository maintenance updates: it adds configuration files for Scalafmt (version 3.11.5 with Scala 3 dialect) and Scalafix (OrganizeImports rule), creates a CONTRIBUTING.md guide, and updates the README with new CI status badges, a version badge, and expanded usage examples. It also removes the Travis CI configuration in favor of GitHub Actions and updates the .gitignore to include Metals/Bloop IDE files.

(repo-wide) · high confidence

Test coverage

Added Scala 3 test suite for CirceConfig; Added property-based tests for CirceConfig laws; Added test configuration files for CirceConfigSpec; Migrate config tests to Munit; Removed CirceConfigSpec test suite.

Dependencies

Upgrade circe to 0.14.16 and migrate test framework to Munit

The build configuration updates the core circe library dependency from version 0.7.0 to 0.14.16 and the typesafe config library to 1.4.9. Additionally, the test suite has been migrated from ScalaTest and Scalacheck to Munit (1.3.6), along with discipline-munit (2.0.0) and munit-cats-effect (2.2.0). The project also updates supported Scala versions to 2.12.21, 2.13.18, and 3.3.8, and adopts the sbt-typelevel build structure.

(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 61.

Lenses

  • Code Health 100
  • Architecture 66
  • Maturity 53
  • Readiness 64
  • Security 70

Changes since last survey

  • 300 commits — 298 feature/other, 2 fixes

By area

  • (repo) — 140 commits
  • (root) — 96 commits
  • project/build.properties — 38 commits
  • project/plugins.sbt — 13 commits
  • .github/workflows — 10 commits
  • config/src — 3 commits

Notable commits

  • fix: Fix Scala 3 build
  • fix: Fix build
  • change: Add 'Reformat with scalafmt 3.8.4' to .git-blame-ignore-revs
  • change: Disable doctest, update sbt-circe-org
  • change: Merge branch 'master' into update/munit-1.0.3
  • change: Merge branch 'master' into update/sbt-1.10.7
  • change: Merge pull request #370 from scala-steward/update/circe-core-0.14.5
  • change: Merge pull request #371 from scala-steward/update/scalafmt-core-3.7.3
  • change: Merge pull request #372 from scala-steward/update/sbt-circe-org-0.1.3
  • change: Merge pull request #373 from scala-steward/update/sbt-1.8.3
  • change: Merge pull request #374 from scala-steward/update/scala3-library-3.3.0
  • change: Merge pull request #375 from scala-steward/update/sbt-1.9.0
  • change: Merge pull request #376 from scala-steward/update/scalafmt-core-3.7.4
  • change: Merge pull request #379 from scala-steward/update/sbt-1.9.1
  • change: Merge pull request #380 from scala-steward/update/scalafmt-core-3.7.5
  • change: Merge pull request #381 from scala-steward/update/scalafmt-core-3.7.6
  • change: Merge pull request #382 from scala-steward/update/scalafmt-core-3.7.7
  • change: Merge pull request #383 from scala-steward/update/sbt-circe-org-0.1.4
  • change: Merge pull request #384 from scala-steward/update/sbt-1.9.2
  • change: Merge pull request #385 from scala-steward/update/scalafmt-core-3.7.8
  • …and 280 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

circe/circe-config 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 20 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 3381b42bb83954bfb28ab35586fbecfddc9136ff — 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-b51f968c9b10.