Skip to content

@kekkai/blueprint / ArchitectureDef

Interface: ArchitectureDef

Defined in: config/types.ts:110

Properties

additionalAliases?

optional additionalAliases?: Record<string, string>

Defined in: config/types.ts:117

Extra roots beyond alias that also participate in import bans.


alias

alias: string

Defined in: config/types.ts:115

Project import alias, e.g. ~app. Every structural ban pattern is built on it. Required — a wrong default would silently pass illegal imports.


layerFiles?

optional layerFiles?: string | string[]

Defined in: config/types.ts:143

Layer → file glob(s), each carrying a {layer} placeholder. Defaults are derived from framework when omitted.


layerFilesIgnore?

optional layerFilesIgnore?: string | string[]

Defined in: config/types.ts:145

File globs excluded from linting.


layers

layers: LayerDef[]

Defined in: config/types.ts:131

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?

optional module?: ModuleDef

Defined in: config/types.ts:138

Feature-folder shape shared across layers. Optional — omitting it (or any of its keys) means the flat default, { layout: 'flat', entry: 'index' }; declare it to switch to folder layout or rename the entry.


naming?

optional naming?: Record<string, string>

Defined in: config/types.ts:153

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


sourceRoot?

optional sourceRoot?: string

Defined in: config/types.ts:125

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: config/types.ts:151

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.