Skip to content
CAI
Software that uses CAICheck a score

mirzaakhena/gogen

51.4

Weak · 21 September 2026

4.3k

lines of production code

Go

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Features

Add template files for multiple HTTP and gRPC controller implementations

Added new template files for generating controllers across multiple web frameworks (Chi, Echo, Fiber, Gin, net/http) and gRPC. These templates provide the structural foundation for HTTP and gRPC endpoints, including handler logic, router registration, and graceful shutdown mechanisms. The templates support both HTTP-based controllers (with authentication/authorization interceptors) and gRPC service definitions, enabling code generation for various architectural styles.

utils/templates · high confidence

Add template-based UI components for web applications

The codebase now includes a set of Vue.js components and templates that generate a complete web application structure. This includes a reusable sidebar navigation, a tabbed navigation system, and a generic table component. For each entity, the templates generate a CRUD interface featuring modals for filtering, paging, and viewing details, along with state management and API integration modules. These files serve as the foundational UI layer for the generated web applications.

(repo-wide) · high confidence

Added Go code generation and utility functions

The \utils\ package now includes a comprehensive set of Go source files that provide code generation, file system manipulation, and string formatting capabilities. New files such as \ast.go\, \creator.go\, \creator2.go\, \format.go\, \func\_map.go\, \gateway\_method.go\, \inject.go\, \json.go\, \outport\_methods.go\, \package\_path.go\, \string.go\, \template.go\, and \type\_handler.go\ introduce functions for parsing and generating Go ASTs, managing template-based file creation, handling JSON configuration, and performing string case conversions. These additions support the automated generation of Go code and related utilities within the project.

utils · high confidence

Added code generation commands for domain-driven architecture scaffolding

The \command\ package now includes a suite of new commands to scaffold domain-driven architecture components. Users can generate domain structures, entities, value objects, and enums. The tooling also supports creating controllers, gateways, repositories, and services, each with specific template injection into existing codebases. Additionally, the update introduces commands for generating OpenAPI specifications, web handlers, and test cases, streamlining the creation of a complete CRUD web application and associated use cases.

command · high confidence

Removals

Removed legacy code generation templates and scaffolding commands

The \gogen\ package has removed the previous code generation infrastructure, including the \app.go\ template engine, \datasource.go\, \init.go\, and \usecase.go\ scaffolding logic. This eliminates the ability to generate boilerplate code for datasources, usecases, and application schemas via the \gogen\ CLI commands.

gogen · high confidence

Removed legacy usecase template files

The template files for the usecase pattern have been removed, specifically the inport, outport, interactor, and interactor\_test Go templates. This eliminates the generated code for the traditional usecase structure, likely as part of a broader architectural change to the project's code generation.

templates/usecases/usecase · high confidence

Behavioural changes

Refactored CLI command routing to support multiple code generators

The main entry point has been refactored to use a command map that routes CLI arguments to specific generator functions (e.g., genentity, genusecase, gengateway). This replaces the previous switch-case logic with a more extensible structure, allowing for easier addition of new commands like 'crud', 'webapp', and 'web'.

(repo-wide) · high confidence

Removal of template scaffolding files

The project has removed the default template files (README, config, and main Go file) that were previously provided for new projects. Users will no longer receive these pre-generated files when scaffolding a new project, requiring them to create or import these files manually if needed.

templates · high confidence

Removed default usecase template with Action1 and Action2 outports

The default usecase template in templates/.application\_schema/usecases/usecase.\_yml has been removed. This template previously defined a structure with two outports, Action1 and Action2, each with empty request and response fields. Users relying on this default template will no longer have these outports pre-configured.

_templates/.application\schema · medium confidence

Dependencies

Added Go module support

Introduced Go modules by adding go.mod and go.sum files, establishing the project's dependency management for the golang.org/x/tools package and its indirect dependencies.

(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 48 → 51 (+3.7)
  • Rubric changed (rubric-2026.08.18 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 68 → 79 (+10.1)
  • Architecture 100 → 98 (-1.6)
  • Maturity 68 → 68 (+0.0)
  • Readiness 17 → 23 (+5.3)
  • Security 98 → 96 (-2.5)

Resolved (19)

  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • Duplicated block (11 lines × 2) (utils/type_handler.go)
  • Duplicated block (12 lines × 2) (command/genapplication/command.go)
  • Duplicated block (12 lines × 2) (command/gencontroller/command.go)
  • Duplicated block (12 lines × 2) (command/gencontroller/command.go)
  • Duplicated block (14 lines × 2) (utils/gateway_method.go)
  • Duplicated block (15 lines × 2) (command/gentest/command.go)
  • Duplicated block (16 lines × 2) (command/genapplication/command.go)
  • Duplicated block (17 lines × 2) (command/gencontroller/command.go)
  • Duplicated block (18 lines × 2) (command/genapplication/command.go)
  • Duplicated block (18 lines × 3) (utils/creator.go)
  • Duplicated block (19 lines × 2) (command/genrepository/command.go)
  • Duplicated block (21 lines × 2) (command/genrepository/command.go)
  • Duplicated block (22 lines × 2) (command/genrepository/command.go)
  • Duplicated block (27 lines × 2) (utils/creator.go)
  • No exposed public API
  • OSV Dependency Vulnerabilities not included (check did not complete)
  • The 'Create a domain' section is present in the outline but the document ends before it, so its content cannot be confirmed. (tmp/codehealth-iso-bbac90244484693b075761e3b03ae64/command/genapplication/README.md)
  • single-maintainer — knowledge-concentration (bus factor) risk

New (43)

  • Duplicated block (10–12 lines × 2) (command/gencontroller/command.go)
  • Duplicated block (13 lines × 2) (command/genapplication/command.go)
  • Duplicated block (14 lines × 2) (command/genapplication/command.go)
  • Duplicated block (14 lines × 2) (command/genapplication/command.go)
  • Duplicated block (14 lines × 2) (command/gentest/command.go)
  • Duplicated block (14–15 lines × 2) (utils/gateway_method.go)
  • Duplicated block (16–18 lines × 2) (command/gencontroller/command.go)
  • Duplicated block (17 lines × 2) (command/genrepository/command.go)
  • Duplicated block (17 lines × 3) (utils/config.go)
  • Duplicated block (18 lines × 2) (command/genrepository/command.go)
  • Duplicated block (20 lines × 3) (command/genapplication/command.go)
  • Duplicated block (22 lines × 2) (command/genapplication/command.go)
  • Duplicated block (22 lines × 3) (utils/config.go)
  • Duplicated block (26 lines × 2) (command/genrepository/command.go)
  • Duplicated block (28 lines × 2) (command/genapplication/command.go)
  • Duplicated block (28–31 lines × 2) (command/genrepository/command.go)
  • Duplicated block (46 lines × 2) (utils/creator.go)
  • Duplicated block (51 lines × 2) (utils/creator.go)
  • Duplicated block (9 lines × 2) (command/gencontroller/command.go)
  • Duplicated block (9 lines × 3) (command/gencontroller/command.go)
  • …and 23 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

mirzaakhena/gogen 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 9c23f1ef01df0b5609878a4a6a0810ab16a8adfd — 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.