Skip to content

@kekkai/blueprint / ArchitectureDef

Interface: ArchitectureDef ​

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

Properties ​

additionalAliases? ​

optional additionalAliases?: 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? ​

optional consumerFiles?: 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? ​

optional layerFiles?: 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? ​

optional layerFilesIgnore?: 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? ​

optional modules?: 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? ​

optional naming?: Record<string, string>

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

Naming conventions, keyed by concept, e.g. { hook: 'useX + reactivity' }.


sourceRoot? ​

optional sourceRoot?: 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? ​

optional testFiles?: string | string[]

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

Test-file glob(s), resolved through the architecture test-file policy.