Skip to content
CAI
Software that uses CAICheck a score

robertreppel/kubel

46.0

Weak · 21 September 2026

502

lines of production code

JavaScript

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Kubel is a web-based tool for organizing and managing vocabulary lists through the creation of 'bounded contexts' to group and color-code phrases. The system supports importing and exporting projects via file drops or text pasting, allowing users to structure their data effectively. It also provides project creation, export, and import capabilities, all tracked via Google Analytics for engagement monitoring.

Features

Add file and text-based import capabilities

Users can now import projects by dragging and dropping previously exported Kubel files, or by pasting text to generate a vocabulary list. Both the file import and the text-based import trigger corresponding analytics events (ProjectImported, VocabularyGenerated) and pageviews, allowing for better tracking of user engagement with these new features.

src/features/Import · high confidence

Introduce bounded context management and phrase grouping

Users can now create, name, and select 'bounded contexts' to group and color-code draggable phrases. The new BoundedContextList component allows adding new contexts, while the Word component enables clicking phrases to assign them to the currently selected context, changing their background color. This feature includes onboarding instructions and persists context and drag state in local storage.

src/features/BoundedContexts · high confidence

Introduction of the Toolbar component with analytics tracking

A new Toolbar component has been added to the application, providing navigation buttons for creating new projects, importing, and exporting project data. The component includes specific event tracking for project creation and export actions, as well as pageview recording for the new project and export project pages, enabling better reporting on user interactions.

src/features/Toolbar · high confidence

Behavioural changes

App renamed to Kubel and analytics integration added

The application title and manifest metadata have been updated from generic defaults to 'Kubel: Service Boundaries Explorer' and 'Kubel Microservice Boundary Explorer' respectively. Additionally, Google Analytics scripts have been injected into the HTML head to enable pageview tracking.

public · high confidence

Replaced default React template with custom app layout and analytics

The application has been transformed from a default Create React App template into a functional interface featuring a header toolbar, a context list, and word management components. The layout now includes a 'Fork me on GitHub' link visible on desktop, and the header has been restyled to a compact, horizontal bar. Additionally, Google Analytics tracking has been integrated to record pageviews and outbound link clicks.

src · high confidence

Dependencies

Add analytics and deployment tooling for GitHub Pages

The project now includes the \autotrack\ library for tracking pageviews, along with \react-draggable\, \react-dropzone\, and \uuid\ as new dependencies. Additionally, \gh-pages\ is added as a dev dependency, and npm scripts are configured (\predeploy\, \deploy\) to build the application and publish it to the \./docs\ folder for GitHub Pages hosting.

(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

Score

  • CAI 45 → 46 (+0.9)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 70 → 69 (-0.1)
  • Architecture 69 → 67 (-1.8)
  • Maturity 42 → 39 (-3.1)
  • Readiness 33 → 38 (+4.8)
  • Security 75 → 69 (-6.4)

Resolved (55)

  • Coverage not included — suite not readable by the collector
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • …and 35 more

New (114)

  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • …and 94 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

robertreppel/kubel 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 632ceeb27d8a65f3a4f22665ed5ef61c05cbe00c — 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.