Skip to content

@kekkai/blueprint / LayerDef

Interface: LayerDef ​

Defined in: src/config/types.ts:82

One layer in the architecture — its responsibility and its boundaries.

Properties ​

allowedImporters? ​

optional allowedImporters?: (string | AllowedImporter)[]

Defined in: src/config/types.ts:102

Restrict who may import this layer. Omit to keep the default — every layer declared before it may import it. When set, only the listed layers may, and each must be a layer declared earlier (which keeps the declared layer flow one-way and acyclic; Inspect diagnoses unit import cycles only when rules.cycles is declared with a tier other than off).


does ​

does: string

Defined in: src/config/types.ts:86

One-line responsibility — what code in this layer is for.


entry? ​

optional entry?: string

Defined in: src/config/types.ts:94

Public entry filename for folder-layout units. Defaults to index.


layout? ​

optional layout?: "folder" | "file"

Defined in: src/config/types.ts:92

folder = folder units; file = direct files with layer-granularity deps.


lintOverrides? ​

optional lintOverrides?: Record<string, unknown>

Defined in: src/config/types.ts:108

Per-layer ESLint rule overrides. The three managed rules (no-restricted-imports / -syntax / -globals) may not be set here — they are owned by the Enforce emitter.


mustNot? ​

optional mustNot?: (string | ExecutableMustNot)[]

Defined in: src/config/types.ts:88

Review-only strings or opt-in executable prohibitions at structural lint severity.


name ​

name: string

Defined in: src/config/types.ts:84

Folder / layer name, e.g. components. Unique within the blueprint.


owns? ​

optional owns?: OwnedPrimitive[]

Defined in: src/config/types.ts:90

Primitives (packages / globals) this layer exclusively owns.