Skip to content
CAI
Software that uses CAICheck a score

fable-compiler/fable-elmish-electron-material-ui-demo

55.8

Weak · 2 October 2026

1.3k

lines of production code

F#

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is an Electron-based desktop application built with F\# and Elmish, featuring a renderer UI powered by Feliz and Material-UI. It manages the main process for window creation and system integration, including specific workarounds for Windows dark mode. The codebase has recently undergone significant refactoring to modernize its build tools, upgrade core dependencies like Electron and Webpack, and migrate its frontend architecture to a component-based model.

Behavioural changes

Migrate UI to Material-UI and update Elmish runtime

The Renderer now uses Feliz.MaterialUI for the user interface, replacing the previous custom styling and component implementations with a Material Design theme. This change is accompanied by an update to the Elmish runtime, switching from the synchronous React program builder to the standard asynchronous model, and includes new utility functions for handling static assets and option values.

src/Renderer · high confidence

Migrate build system to .NET Core local tools and npm

The project's build and dependency management have been updated to use .NET Core 3 local tools (replacing Paket for tooling) and npm (replacing Yarn). The custom \build.proj\ and shell scripts (\fake.cmd\, \fake.sh\) have been removed in favor of running FAKE via \dotnet fake\, and the CI environment has been updated to use Node 12 and Visual Studio 2019.

(repo-wide) · high confidence

Refactor main process to use Fable.Electron bindings and add Windows dark mode workaround

The main process entry point has been refactored to use the new Fable.Electron bindings, replacing the previous Fable.Import.Electron and Fable.PowerPack dependencies. This change introduces a dedicated dark mode workaround for Windows that temporarily forces the system theme to light to prevent Electron DevTools from hanging on startup, and moves DevTools installation logic into a separate module. Additionally, the main window creation now explicitly enables Node integration and defers showing the window until it is ready to display.

src/Main · high confidence

Renderer demo app migrated to Feliz and Material-UI

The Renderer demo application has been rewritten to use the Feliz library and Feliz.MaterialUI bindings, replacing the previous Fable.React and Fable.MaterialUI stack. This migration introduces a new component-based architecture with dedicated pages for Autocomplete, Badges, Dialogs, Save/Load, Selects, Snackbars, and Text Fields, all styled with Material-UI's theme system. The main App module now manages navigation between these pages and supports light/dark theme toggling, while the Save/Load page demonstrates Electron integration for file system operations.

Renderer · high confidence

Dependencies

Major dependency upgrades and build tooling migration

The project has upgraded its core runtime and build dependencies, including bumping Electron from version 3 to 41, Webpack from 4 to 5, and Babel from 7.1 to 7.29. The UI layer has been updated to use Material-UI v4 and Feliz.MaterialUI, with new bindings added for components like Autocomplete, Snackbars, and Dialogs. Additionally, the build system has migrated from Yarn to npm, replacing the Fake.JavaScript.Yarn tool with Fake.JavaScript.Npm, and introduced new F\# packages such as Fable.Electron and Feliz.MaterialUI.

(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

Score

  • CAI 55 → 56 (+0.9)
  • Rubric changed (rubric-2026.09.13 → rubric-2026.10.1) — scores are not directly comparable.

Lenses

  • Code Health 100 → 100 (+0.0)
  • Architecture 96 → 98 (+2.8)
  • Maturity 66 → 66 (+0.0)
  • Readiness 32 → 32 (+0.0)
  • Security 75 → 80 (+5.0)

Resolved (5)

  • Documentation: no contributor guidance (README.md)
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • High CVE: [GHSA redacted] (package-lock.json)
  • High CVE: [GHSA redacted] (package-lock.json)

New (3)

  • High CVE: [GHSA redacted] (package-lock.json)
  • High CVE: [GHSA redacted] (package-lock.json)
  • Medium CVE: [GHSA redacted] (package-lock.json)

Changes since last survey

  • 6 commits — 6 feature/other, 0 fixes

By area

  • (repo) — 3 commits
  • (root) — 3 commits

Notable commits

  • change: Bump brace-expansion
  • change: Bump electron from 39.8.10 to 41.10.6
  • change: Bump undici from 6.28.0 to 6.29.0
  • change: Merge pull request #115 from fable-compiler/dependabot/npm_and_yarn/multi-57637e47fe
  • change: Merge pull request #116 from fable-compiler/dependabot/npm_and_yarn/undici-6.29.0
  • change: Merge pull request #117 from fable-compiler/dependabot/npm_and_yarn/electron-41.10.6

Architecture

  • Unchanged — 0 containers · 1 contexts · 0 edges

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

Survey your own repository

fable-compiler/fable-elmish-electron-material-ui-demo 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 2 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 55fdadd2b13a0b046df048189e6fe7974a88fe72 — the exact code this score is about.
  • Scored under rubric-2026.10.1 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-351388015767.