@kekkai/blueprint / ArchitectureDef
Interface: ArchitectureDef
Defined in: src/config/types.ts:111
Properties
additionalAliases?
optionaladditionalAliases?:Record<string,string>
Defined in: src/config/types.ts:121
Extra roots resolved for dependency diagnosis and graph analysis. They do not replace ArchitectureDef.alias as the canonical boundary spelling.
alias
alias:
string
Defined in: src/config/types.ts:116
Canonical source-root import alias, e.g. ~app. Imports crossing a declared layer or module boundary must use this spelling.
consumerFiles?
optionalconsumerFiles?:string|string[]
Defined in: src/config/types.ts:162
Explicit application-relative globs for external consumers outside sourceRoot. Supports **, *, ?, and flat brace alternatives with / separators. Omitted or [] declares none. Consumers remain outside the architecture topology; module-first scope allows their imports into governed source, never the reverse. This does not certify public-entry/API use. Keep patterns narrow; broad matches can hide outside-source mistakes. Tests retain their separate exemption policy. No effect for files inside sourceRoot or sourceRoot: '.'.
layerFiles?
optionallayerFiles?:string|string[]
Defined in: src/config/types.ts:148
Layer file glob(s). Layer-first patterns carry {layer}. Module-first patterns carry both {module} and {layer}.
layerFilesIgnore?
optionallayerFilesIgnore?:string|string[]
Defined in: src/config/types.ts:150
File globs excluded from linting.
layers
layers:
LayerDef[]
Defined in: src/config/types.ts:143
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).
modules?
optionalmodules?:ModuleDef[]
Defined in: src/config/types.ts:137
Topology by presence. Omit for layer-first. [] selects the module-first runway: the topology is declared and no domain module exists yet. Declared modules each map to a direct child of sourceRoot, whose root files take the container position. The reserved app module uses recursive router-composition container semantics instead of repeating the shared layers.
naming?
optionalnaming?:Record<string,string>
Defined in: src/config/types.ts:164
Naming conventions, keyed by concept, e.g. { hook: 'useX + reactivity' }.
sourceRoot?
optionalsourceRoot?:string
Defined in: src/config/types.ts:129
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 every source-tree path used by lint, inspect, init, deps, and generated agent guidance.
testFiles?
optionaltestFiles?:string|string[]
Defined in: src/config/types.ts:152
Test-file glob(s), resolved through the architecture test-file policy.
