Skip to content
CAI
Software that uses CAICheck a score

referbruv/CqrsNinja

42.3

Weak · 21 September 2026

552

lines of production code

C#

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a .NET 6 application implementing a clean architecture with a CQRS (Command Query Responsibility Segregation) pattern. It manages 'Ninja' entities through distinct command and query handlers, utilizing SQLite for persistence and FluentValidation for data integrity. The codebase serves as a boilerplate or template for this specific architectural style, having replaced previous implementations and legacy data access layers.

Features

Initial release of CQRS Ninja boilerplate

The repository now includes the full CQRS Ninja solution, comprising projects for the API, contracts, migrations, core logic, and infrastructure, along with a README explaining the architecture and setup steps. A MIT license file and a .gitignore configuration have also been added to the project root.

(repo-wide) · high confidence

Introduced CQRS architecture with SQLite persistence and validation

The application now uses a clean architecture with CQRS (Command/Query) patterns. Users can create, retrieve, and manage 'Ninja' entities through new command and query handlers. The system enforces data integrity via FluentValidation on the CreateNinjaDTO, throwing an InvalidRequestBodyException with specific error messages if validation fails. Persistence is handled by a new SQLite database context with a generic repository pattern, allowing for standard CRUD operations on the Ninja entity.

(repo-wide) · high confidence

Behavioural changes

API restructured with CQRS pattern and SQLite persistence

The API has been restructured to implement the Command Query Responsibility Segregation (CQRS) pattern, with the NinjasController now routing requests through MediatR handlers for all operations. The underlying database has been switched from SQL Server to SQLite, and the application now automatically applies pending database migrations at startup. Additionally, the Swagger UI has been updated to display 'CQRS Ninja API' and the default launch page has been changed to the Swagger UI.

CqrsNinja.API · medium confidence

Removed legacy CQRS implementation and data access layer

The legacy CQRS-based implementation for managing Readers and Users has been removed. This includes the deletion of the corresponding Controllers, MediatR command and query handlers, repository classes, request models, and Entity Framework Core migration files. The removal eliminates the previous data access and business logic layer, likely as part of a broader architectural shift to a clean architecture with a SQLite implementation.

(repo-wide) · high confidence

Dependencies

Upgrade to .NET 6 and modernize project structure

The project has been upgraded to .NET 6, replacing the previous .NET Core 3.1 target. This includes updating Entity Framework Core to version 6.0.0 and Swashbuckle to 6.2.3, while also introducing implicit usings and nullable reference types across the solution. The ReadersCqrsApp project has been renamed to CqrsNinja.Migrations and its dependencies have been updated to align with the new framework version.

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

Lenses

  • Code Health 88 → 88 (+0.0)
  • Architecture 82 → 82 (+0.0)
  • Maturity 51 → 51 (+0.0)
  • Readiness 17 → 23 (+6.0)
  • Security 48 → 47 (-1.1)
  • Event-Driven 100 (new)

Resolved (9)

  • The Getting Started section is terse and omits prerequisites (e.g. .NET 6 SDK, EFCore migrations) beyond installing the SDK. (README.md)
  • early-stage repository — too few commits for a meaningful bus factor
  • early-stage repository — too little history to judge knowledge freshness
  • git history depth insufficient
  • git history depth insufficient
  • redundant comment (CqrsNinja.API/Startup.cs)
  • redundant comment (CqrsNinja.API/Startup.cs)
  • redundant comment (CqrsNinja.API/Startup.cs)
  • redundant comment (CqrsNinja.API/Startup.cs)

New (6)

  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • End-of-life runtime: .NET net6.0
  • redundant comment (CqrsNinja.API/Startup.cs)
  • redundant comment (CqrsNinja.API/Startup.cs)
  • redundant comment (CqrsNinja.API/Startup.cs)

API surface

  • Unchanged — 2 HTTP endpoints

Architecture

  • Unchanged — 2 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

referbruv/CqrsNinja 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 fb507588d43fdfc9c644c5593627b808b1dd322a — 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.