Skip to content

@kekkai/blueprint / LayerDef

Interface: LayerDef

Defined in: config/types.ts:62

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

Properties

allowedImporters?

optional allowedImporters?: (string | AllowedImporter)[]

Defined in: config/types.ts:82

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 flow one-way and acyclic by construction).


does

does: string

Defined in: config/types.ts:66

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


lintOverrides?

optional lintOverrides?: Record<string, unknown>

Defined in: config/types.ts:88

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.


module?

optional module?: LayerModuleDef

Defined in: config/types.ts:75

Override the shared architecture.module shape for this layer — e.g. folder modules in a feature layer while the rest of the project is flat.


mustNot?

optional mustNot?: string[]

Defined in: config/types.ts:68

Things code in this layer must not do (fed into docs + review rules).


name

name: string

Defined in: config/types.ts:64

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


owns?

optional owns?: OwnedPrimitive[]

Defined in: config/types.ts:70

Primitives (packages / globals) this layer exclusively owns.