All rules

Architecture Layer Guard

Checks added using directives against configured forbidden import pairs, enforcing architectural boundaries at commit time.

Why this rule exists

Layer rules written in a wiki get violated. Layer rules enforced at commit time stay enforced. Once a Domain class imports Microsoft.EntityFrameworkCore, the boundary is gone forever.

Code example

Triggers the rule
  // src/MyApp.Domain/Order.cs
+ using Microsoft.EntityFrameworkCore;
Passes the rule
  // src/MyApp.Domain/Order.cs has no infrastructure imports.
  // EF mappings live in src/MyApp.Infrastructure/.

Configuration

Disable or adjust the severity of this rule in .gauntletci.json:

{
  "rules": {
    "GCI0035": { "enabled": true, "severity": "Warn" }
  }
}

See Configuration for the full schema.

Related rules

Implemented in src/GauntletCI.Core/Rules/Implementations/GCI0035_*.cs.

About the author

Eric Cogen -- Founder, GauntletCI

Twenty years as a senior technical consultant building and modernizing enterprise platforms across .NET, AWS, serverless, microservices, and AI-driven systems.