@kekkai/blueprint / ArchitectureDef
Interface: ArchitectureDef
Defined in: config/types.ts:101
Properties
additionalAliases?
optionaladditionalAliases?:Record<string,string>
Defined in: config/types.ts:108
Extra roots beyond alias that also participate in import bans.
alias
alias:
string
Defined in: config/types.ts:106
Project import alias, e.g. ~app. Every structural ban pattern is built on it. Required — a wrong default would silently pass illegal imports.
flow
flow:
"one-way"
Defined in: config/types.ts:123
Dependency direction. Only one-way for now (upstream imports banned).
layerFiles?
optionallayerFiles?:string|string[]
Defined in: config/types.ts:130
Layer → file glob(s), each carrying a {layer} placeholder. Defaults are derived from framework when omitted.
layerFilesIgnore?
optionallayerFilesIgnore?:string|string[]
Defined in: config/types.ts:132
File globs excluded from linting.
layers
layers:
LayerDef[]
Defined in: config/types.ts:121
Ordered layers. Order defines the one-way flow: a layer may import only layers declared after it. Per-layer allowedImporters narrows who may import a given layer (see LayerDef.allowedImporters).
module
module:
ModuleDef
Defined in: config/types.ts:125
Feature-folder shape shared across layers.
naming?
optionalnaming?:Record<string,string>
Defined in: config/types.ts:140
Naming conventions, keyed by concept, e.g. { hook: 'useX + reactivity' }.
sourceRoot?
optionalsourceRoot?:string
Defined in: config/types.ts:115
The directory layers live under, relative to the project root. Defaults to src. Use . for frameworks that keep layers at the project root (e.g. a Next.js project without srcDir, where app/ sits at the root). Drives the scan base, the default layer-file globs, and the alias target.
testFiles?
optionaltestFiles?:string|string[]
Defined in: config/types.ts:138
Test-file glob(s). Structural rules and metric gates skip these (per-entry, not globally — test-only rules still reach them). Defaults to the *.test.* / *.spec.* patterns.
