Skip to content
CAI
Software that uses CAICheck a score

carlossalasamper/react-clean-architecture

36.8

Weak · 20 September 2026

1.4k

lines of production code

TypeScript

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a React-based frontend application scaffolded using Clean Architecture principles, designed to manage and display blog posts. It leverages TypeScript, Vite, and Tailwind CSS for development, with MobX handling state management and Inversiland providing dependency injection. The application features a modular structure with bounded contexts, supporting post listing and viewing through a defined set of UI components, API integration, and internationalization.

Features

Added post viewing and listing capabilities

This change introduces the 'post' bounded context, enabling users to view a list of posts and inspect individual post details. It includes the presentation layer with \PostsPage\ and \PostPage\ components, state management via MobX stores (\GetPostsStore\, \FindPostStore\), and the necessary application logic (use cases) and infrastructure (repository) to fetch post data from the backend API.

src/post · high confidence

Initial application scaffolding with Clean Architecture and Inversiland DI

The application is initialized with a Clean Architecture structure, replacing the previously mentioned inversify-sugar with the Inversiland dependency injection library. This change introduces a modular setup (AppModule, CoreModule, PostModule) and registers core infrastructure services, including a global HttpClient with Axios interceptors for base URL configuration, a ToastService for notifications, and environment variable injection. The presentation layer is established with a React Router configuration for post management, a suite of reusable UI components (Button, Card, Dialog, TextInput, etc.) styled with Tailwind CSS, and i18n support via react-i18next. Additionally, performance monitoring is enabled via web-vitals, and global styles including the Roboto font are applied.

src, src/core · high confidence

Initial project scaffold for React Clean Architecture

This change introduces the foundational configuration and structure for a React application built on Clean Architecture principles. It establishes the development environment using Vite and TypeScript, configures Tailwind CSS for styling, and sets up ESLint for code quality. The project structure is organized into bounded contexts (specifically 'core' and 'post'), utilizing Inversiland for dependency injection, MobX for state management, and React Router for navigation. Additionally, standard tooling such as Husky for git hooks and commitlint for commit conventions is included to enforce development standards.

(repo-wide) · high confidence

Behavioural changes

Enforced commit message linting and added Vite environment type definitions

The project now enforces commit message standards via commitlint during the commit-msg hook and automatically fixes linting issues on pre-commit. Additionally, TypeScript definitions for Vite client environment variables have been added, allowing the application to safely access the VITE\_BASE\_API\_URL environment variable.

.husky, src/@types · high confidence

Dependencies

Initial project setup with React, Vite, and Inversiland

This change introduces the initial dependency configuration for the project, establishing a React 18 application built with Vite. It includes core libraries for state management (MobX, Inversiland), form handling (React Hook Form, Zod), and UI components (Tailwind CSS, Headless UI). The commit also sets up essential tooling for development and quality assurance, including TypeScript, ESLint, Prettier, and Husky for git hooks.

(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 40 → 37 (-3.4)
  • Rubric changed (rubric-2026.08.17 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 62 → 67 (+5.7)
  • Architecture 69 → 69 (+0.0)
  • Maturity 65 → 71 (+6.6)
  • Readiness 13 → 17 (+3.4)
  • Security 75 → 80 (+5.0)
  • Accessibility 59 → 37 (-21.9)

Resolved (57)

  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Dependency hygiene not measured — no supported dependency manifest was read
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • …and 37 more

New (53)

  • Button.Button (cyclomatic 18) (src/core/presentation/components/Button.tsx)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no licence statement (README.md)
  • Documentation: no usage examples (README.md)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • …and 33 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

carlossalasamper/react-clean-architecture 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 2c2500aab88e1f6bc4544021c33a9188d2b430b3 — 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-28e75b8e3254.