Skip to content
CAI
Software that uses CAICheck a score

pathikrit/better-files

60.9

Adequate · 27 September 2026

2.7k

lines of production code

Scala

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Features

Add interactive Scala version tabs for Scaladoc navigation

A new index.html file was added to the site-preprocess directory, introducing a Bootstrap-based interface that allows users to switch between different Scala versions via tabs. Each tab displays the corresponding Scaladoc in an iframe, improving navigation across multiple Scala versions.

src/site-preprocess · high confidence

Introduce resource management and file system DSL

Added new abstractions for safe resource management and file system operations. The \Dispose\ trait and \CloseableIterator\ provide automatic cleanup of resources and iterators, ensuring that underlying streams or file handles are closed even if exceptions occur. A new \Dsl\ object introduces a UNIX-style command-line interface for file operations, supporting symbolic operators for reading/writing content (\\<\, \\>\>\), navigation (\/\, \\~\), and file manipulation (\cp\, \mv\, \rm\, \ln\). Additionally, a \Resource\ trait with macro-based implementations (\Resource.at\, \Resource.my\) enables convenient lookup of classpath resources relative to specific classes or the current call site.

src/main · high confidence

Update project configuration and documentation files

Added new configuration files including .gitattributes, .jvmopts, .scalafmt.conf, and release.sh, while updating .gitignore and README.md with comprehensive documentation, installation instructions, and version badges.

(repo-wide) · high confidence

Test coverage

Added comprehensive test coverage for file system utilities

Added 131 commits of tests covering core file operations, including file monitoring, globbing, scanning, and resource management. New test suites validate the behavior of the file watcher (FileMonitorSpec, FileWatcherSpec), scanner utilities (ScannerSpec, ShapelessScannerSpec), and file system interactions (FileSpec, GlobSpec, CloseableIteratorSpec, DisposeSpec, ResourceSpec). Test resources and Java benchmark classes for scanners were also added to support these tests.

src/test · high confidence

Dependencies

Modernize build configuration and update test dependencies

The build file was refactored to support multiple Scala versions (2.11, 2.12, 2.13, and 3.2.2) and includes updated test dependencies, specifically upgrading ScalaTest to 3.2.15, Shapeless to 2.3.4, and Commons IO to 2.11.0, while also adding the scala-collection-compat library for cross-version compatibility.

(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

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 41 → 61 (+19.9)
  • Rubric changed (rubric-2026.08.15 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 100 → 97 (-2.9)
  • Architecture 69 → 100 (+31.0)
  • Maturity 56 → 50 (-5.6)
  • Readiness 27 → 55 (+27.7)
  • Security 40 → 76 (+36.3)

Resolved (14)

  • Coverage not measured — test suite did not build
  • Dimension evaluation failed
  • 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)
  • No artifact signing
  • No exposed public API
  • No tests found
  • Rotate the exposed credentials — git history can't be un-committed
  • Test reliability not included

New (21)

  • Duplicated block (10 lines × 2) (src/main/scala-2.13/better/files/CloseableIteratorCompat.scala)
  • FileTooLong: files/File.scala (src/main/scala/better/files/File.scala)
  • Further orphaned files (smaller)
  • 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)
  • Medium: security finding (details withheld)
  • Orphaned knowledge (src/main/scala/better/files/File.scala)
  • PR-triggered workflow grants a write-scoped token
  • TodoComment (src/main/scala/better/files/Dispose.scala)
  • TodoComment (src/main/scala/better/files/Dsl.scala)
  • TodoComment (src/test/scala/better/files/DisposeSpec.scala)
  • TodoComment (src/test/scala/better/files/FileSpec.scala)
  • TodoComment (src/test/scala/better/files/GlobSpec.scala)
  • TodoComment (src/test/scala/better/files/GlobSpec.scala)
  • TodoComment (src/test/scala/better/files/benchmarks/Scanners.scala)
  • …and 1 more

Architecture

  • Containers 0 added · 0 removed · contexts 1 added · 0 removed · edges 0 added · 0 removed

Added bounded contexts (1)

  • repository

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

Survey your own repository

pathikrit/better-files 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 27 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 faffdb87ec0656f56c9f8e2f0dd9e846285bf4f2 — 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-d00c643c3f66.