referbruv/CqrsNinja
42.3
Weak · 21 September 2026
552
lines of production code
C#
primary language
4
measurements over time
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.