Skip to content
CAI
Software that uses CAICheck a score

carlossalasamper/angular-clean-architecture

46.9

Weak · 21 September 2026

460

lines of production code

TypeScript

with JavaScript

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This is an Angular 19 frontend application that manages blog posts through a clean architecture structure. It utilizes Ngrx for state management and Tailwind CSS for styling, with a modular folder structure separating domain, application, and presentation layers. The system provides features for finding and listing posts, supported by robust code quality and linting configurations.

Features

Introduced post management feature with clean architecture structure

Added a new 'post' bounded context, implementing a clean architecture with domain entities, application use cases (FindPost, GetPosts), infrastructure repositories, and presentation components (PostPage, PostsPage). The app's root component and default routes have been replaced with a router-outlet and post-specific routes (/ and /posts/:id). Core infrastructure models (PayloadDto, ResponseDto) and presentation types (ListState, PaginationState) have been added to support the new feature.

src/app · high confidence

Behavioural changes

Migrate to Angular 19 with Tailwind CSS and ESLint

The project has been upgraded to Angular 19, which includes a shift from SCSS to CSS for default stylesheets and the adoption of the flat ESLint configuration format (eslint.config.js) to replace the legacy .eslintrc. Additionally, Tailwind CSS has been integrated for styling, and the project now enforces code quality via angular-eslint and typescript-eslint configurations.

(repo-wide) · high confidence

Reorganizes app entry point and removes global styles

The application's entry point in src/main.ts has been restructured to import the root component and configuration from new paths under src/app/core/presentation/, reflecting a move to a more modular folder structure. Additionally, the global styles file (src/styles.scss) has been removed, indicating that global styling is no longer managed through this single file.

src · medium confidence

Fixes

Simplified Husky hook scripts

The .husky hook scripts for commit messages and pre-commit tasks have been simplified by removing the husky.sh wrapper and associated comments. The commit-msg hook now directly executes npx commitlint, and the pre-commit hook now directly runs yarn lint, removing the previous shell script headers and comments.

.husky · medium confidence

Dependencies

Upgrade to Angular 19 and add Ngrx state management

The project has been upgraded to Angular 19, updating all core Angular packages and the Angular CLI to version 19. Additionally, the Ngrx state management library (@ngrx/component-store and @ngrx/operators) has been added to the application's dependencies, and Tailwind CSS has been introduced as a new dependency for styling.

(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 46 → 47 (+0.6)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 89 → 92 (+2.7)
  • Architecture 69 → 69 (+0.0)
  • Maturity 75 → 75 (+0.0)
  • Readiness 14 → 17 (+2.9)
  • Security 75 → 80 (+5.0)

Resolved (57)

  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • 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 (80)

  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Documentation: no contributor guidance (README.md)
  • 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)
  • …and 60 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/angular-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 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 90d6880ad56c86763d08207b2ba7591d10ab19c6 — 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-b84573e22831.