Skip to content
CAI
Software that uses CAICheck a score

realm/jazzy

54.0

Adequate · 26 September 2026

5.1k

lines of production code

Ruby

with JavaScript

5

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Features

Add fullwidth theme CSS styles for syntax highlighting and base layout

The fullwidth theme now includes dedicated CSS files for syntax highlighting (highlight.css.scss) and base layout/styling (jazzy.css.scss). These new styles define the visual appearance of code blocks, keywords, and general page structure for the fullwidth theme, ensuring consistent rendering of generated documentation.

lib/jazzy/themes/fullwidth/assets/css, lib/jazzy/themes/jony/assets/css · high confidence

The extension now renders source code links for GitLab and Bitbucket repositories, displaying the respective platform's logo and link. Additionally, the KaTeX library has been updated to version 0.16.25, which improves the rendering of mathematical expressions in markdown content.

lib/jazzy/extensions · high confidence

Apple theme adds search functionality and updates jQuery

The Apple theme now includes a new search feature, implemented in the newly added \jazzy.search.js\ file, which uses Lunr.js for client-side search indexing and autocomplete. Additionally, the theme's JavaScript dependencies have been updated, specifically upgrading jQuery to version 3.7.1, and the main \jazzy.js\ file has been restructured to include logic for opening current items and rendering math expressions with KaTeX.

lib/jazzy/themes/apple/assets/js · high confidence

Introduce Swift SymbolGraph importer for improved extension and constraint handling

Added a new Swift SymbolGraph importer that parses JSON symbol graphs into a rebuilt syntax tree. This introduces new classes for handling constraints, relationships, symbols, and nodes (including extensions), enabling Jazzy to better reconstruct type extensions and generic constraints from Swift's compiler output.

_lib/jazzy/symbol\graph · high confidence

Jony theme templates for documentation generation

The Jony theme now includes a complete set of Mustache templates (including doc, header, footer, nav, task, and deprecation templates) that define the structure of the generated documentation pages. This adds support for rendering deprecation and unavailability notices, displaying source-host links (e.g., to GitLab or Bitbucket), and formatting parameter and task sections within the documentation.

lib/jazzy/themes/jony/templates · high confidence

Project initialization and development infrastructure setup

The repository was initialized with essential development and configuration files. A \.gitmodules\ file was added to manage the \SourceKitten\ and \integration\_specs\ submodules. A \Rakefile\ was introduced to automate tasks such as running tests, linting with RuboCop, vendoring SourceKitten, and managing theme dependencies. Additionally, a \Dangerfile\ was added to enforce pull request standards, including requiring CHANGELOG entries for app changes and preventing testing shortcuts. The project also includes a \CHANGELOG.md\ documenting version history, a \CONTRIBUTING.md\ guide for contributors, and a \LICENSE\ file. These changes establish the foundational structure and tooling for the project.

(repo-wide) · high confidence

Architecture

Refactored configuration and documentation generation into dedicated classes

The configuration handling and documentation building logic have been reorganized into separate, dedicated classes. The \Config\ class now encapsulates all configuration attributes, parsing, and command-line option handling, while \DocBuilder\ manages the overall documentation generation process, including output directory preparation, sourcekitten execution, and site building. This separation improves code maintainability and makes the configuration and build processes more modular.

lib/jazzy · high confidence

Behavioural changes

3 commits (0 fixes) modifying images

A change to existing behaviour in images — 3 commits, 5 files.

images · medium confidence · unverified

Apple theme receives new syntax highlighting styles and CSS reset

The Apple theme's CSS has been updated with a new highlight.css.scss file that defines syntax highlighting colors for code blocks, alongside a comprehensive reset and global styling in jazzy.css.scss. This change ensures that code snippets in generated documentation are properly colored and formatted, while also standardizing element styling across the theme.

lib/jazzy/themes/apple/assets/css · high confidence

Apple theme templates restructured and enhanced

The Apple theme templates have been reorganized into distinct components (deprecation, doc, footer, header, nav, parameter, task, and tasks) to improve maintainability and support new features. The header now includes a search bar and links to source hosts (GitLab, Bitbucket) and Dash, while the doc template integrates deprecation and unavailability callouts. The task template now supports source host links, Swift declarations for Objective-C, and improved breadcrumbs. The footer includes a link to Jazzy and Realm, and the nav template structures the sidebar with sections and tasks.

lib/jazzy/themes/apple/templates · high confidence

Fullwidth theme now renders deprecation and unavailability notices

The fullwidth theme templates now include a new deprecation.mustache template that displays a styled 'Deprecated' or 'Unavailable' aside block when a declaration has a deprecation or unavailability message. This allows users to see deprecation and unavailability notices directly on the generated documentation pages, improving visibility of these status indicators.

lib/jazzy/themes/fullwidth/templates · high confidence

Improved navigation and math rendering in the Jony theme

The Jony theme's JavaScript has been updated to enhance user interaction and content rendering. Links to sections on the current page now automatically expand their content, improving navigation flow. Additionally, the theme now supports rendering mathematical expressions using KaTeX, allowing for better display of math in documentation. The underlying jQuery library has also been updated to version 3.7.1.

lib/jazzy/themes/jony/assets/js · high confidence

Introduce structured access control and declaration type handling

The documentation generator now uses dedicated classes to manage access control levels and declaration types, replacing previous ad-hoc logic. The new \AccessControlLevel\ class defines a strict hierarchy of Swift and Objective-C visibility modifiers (private, fileprivate, internal, package, public, open) and provides methods to parse them from SourceKit data or configuration. Simultaneously, the \Type\ class is introduced to categorize declarations (classes, structs, protocols, etc.) and determine their documentation behavior, such as whether they should be documented, if they are global, or if they are specific Objective-C constructs like categories or typedefs. This refactoring improves the accuracy of access control calculations and supports a wider range of Swift and Objective-C declaration types in the generated documentation.

_lib/jazzy/source\declaration · high confidence

Migrate to Bundler-based dependency management

The \bin/jazzy\ entry point was refactored to use Bundler for loading dependencies, replacing the previous manual \require\ and \OptionParser\-based argument handling. This change ensures that the correct versions of \sourcekitten\ and other gems are loaded via the \Gemfile\, improving dependency consistency and simplifying the executable's startup logic.

bin · high confidence

Refactored Jazzy core into modular components

The Jazzy library has been restructured to improve maintainability and configuration handling. The monolithic \Jazzy\ class in \lib/jazzy.rb\ has been replaced by separate modules: \Jazzy::Config\ and \Jazzy::DocBuilder\. This change also updates the default text encoding to UTF-8 and removes the legacy header and asset generation methods from the main file, consolidating logic into the new modular structure.

lib · high confidence

Removal of legacy assets and scripts

The file lib/assets/CSS/style-1.1.15.css, lib/assets/Images/playbutton.svg, and lib/assets/JavaScript/devpubs-1.1.15.js have been removed. This eliminates the previous version of the site's styling, a specific SVG icon, and the JavaScript logic responsible for handling navigation, search, and content expansion in older browser environments.

lib/assets · high confidence

Removed legacy Jazzy documentation assets

Deleted the legacy Jazzy documentation assets, including the main stylesheet (style-1.1.15.css), the JavaScript logic (devpubs-1.1.15.js), and specific HTML reference pages (RLMAccessor.html, RLMArray.html). This removes the associated play button SVG and other static resources no longer required for the current documentation build.

jazzy-docs · high confidence

Updated JavaScript dependencies and added KaTeX rendering support

The fullwidth theme's JavaScript assets were updated: jQuery was upgraded to version 3.7.1, and the search functionality was rewritten to use Lunr for indexing and a typeahead interface for search results. Additionally, the theme now supports rendering mathematical expressions using KaTeX, allowing math content in documentation to be displayed correctly.

lib/jazzy/themes/fullwidth/assets/js · high confidence

Test coverage

Added integration test suite for Jazzy; Added pre-flight test helper to reset Jazzy config.

Dependencies

Updated Ruby and JavaScript dependencies

The project's dependency manifests have been updated. The Ruby gemspec and Gemfile now specify updated versions for key dependencies including activesupport (\>= 5.0, \< 8), cocoapods (\~\> 1.5), rouge (\>= 2.0.6, \< 5.0), and xcinvoke (\~\> 0.3.0). Additionally, JavaScript dependencies in js/package.json have been updated, including katex (^0.16.8) and jquery (^3.7.1).

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

Lenses

  • Code Health 51 → 92 (+41.4)
  • Architecture 94 → 95 (+1.0)
  • Maturity 57 → 56 (-0.4)
  • Readiness 18 → 62 (+43.4)
  • Security 69 → 64 (-5.6)
  • Accessibility 43 (new)

Resolved (51)

  • Change coupling: jazzy.js ↔ jazzy.js (lib/jazzy/themes/apple/assets/js/jazzy.js)
  • Change coupling: jazzy.js ↔ jazzy.js (lib/jazzy/themes/apple/assets/js/jazzy.js)
  • Change coupling: jazzy.js ↔ jazzy.js (lib/jazzy/themes/fullwidth/assets/js/jazzy.js)
  • Change coupling: jquery.min.js ↔ jquery.min.js (lib/jazzy/themes/apple/assets/js/jquery.min.js)
  • Change coupling: jquery.min.js ↔ jquery.min.js (lib/jazzy/themes/apple/assets/js/jquery.min.js)
  • Change coupling: jquery.min.js ↔ jquery.min.js (lib/jazzy/themes/fullwidth/assets/js/jquery.min.js)
  • 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)
  • Low CVE: [GHSA redacted] (Gemfile.lock)
  • Medium: security finding (details withheld)
  • Medium: security finding (details withheld)
  • Medium: security finding (details withheld)
  • Medium: security finding (details withheld)
  • Medium: security finding (details withheld)
  • …and 31 more

New (74)

  • Ambiguous naming regarding input source. build_docs implies a general operation but takes a source_module (likely a processed data structure), while build_docs_for_sourcekitten_output takes raw JSON output. The verb 'build' is used for both, but the inputs represent different stages of the pipeline (processed vs raw). This creates confusion about which method to use for a given input type.
  • Duplicate rendering logic across two classes. Both DocBuilder and Markdown have render and render_inline methods. DocBuilder's methods take a doc_model and markdown string, while Markdown's methods take markdown_text and default_language. It is unclear if DocBuilder.render delegates to Markdown.render or implements its own logic. If DocBuilder is a facade, it should not expose these methods if they are just pass-throughs, or the signatures should be identical to avoid confusion about which class to use for rendering.
  • FileTooLong: jazzy/config.rb (lib/jazzy/config.rb)
  • FileTooLong: jazzy/sourcekitten.rb (lib/jazzy/sourcekitten.rb)
  • FileTooLong: js/typeahead.jquery.js (lib/jazzy/themes/apple/assets/js/typeahead.jquery.js)
  • FileTooLong: js/typeahead.jquery.js (lib/jazzy/themes/fullwidth/assets/js/typeahead.jquery.js)
  • FixmeComment (lib/jazzy/doc_builder.rb)
  • 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)
  • Low CVE: [GHSA redacted] (Gemfile.lock)
  • Low CVE: [GHSA redacted] (Gemfile.lock)
  • Medium: security finding (details withheld)
  • Medium: security finding (details withheld)
  • Medium: security finding (details withheld)
  • Medium: security finding (details withheld)
  • Medium: security finding (details withheld)
  • …and 54 more

Architecture

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

Added bounded contexts (1)

  • jazzy

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

Survey your own repository

realm/jazzy 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 26 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 b3ee13dd057ebe9e1ce545063fc14d7e9de5176e — 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-d0929f7ac71f.