@comity-dev/dependency-rules
v0.1.1
Published
Reusable dependency-cruiser rule generator for Comity layering. Development tooling.
Readme
@comity-dev/dependency-rules
Purpose
Canonical dependency-cruiser rule generator for Comity layering. This package produces the JSON configuration consumed by the validator; it does not invoke dependency-cruiser itself.
Scope
- Builds a deterministic
dependency-cruiserconfig from repository-supplied facts (aMap<packageName, layer>). - Encodes the canonical layering model:
primitivesMUST NOT depend on any internal package.kernelMAY only depend onprimitives.compositionMAY only depend onkernelandprimitives.coreMAY depend onprimitives,kernel, and othercoremodules (gated by ADR-008).- Adapters: cross-adapter edges forbidden except Integration Adapter → Technology Adapter (ADR-007).
- Primitives/Kernel/Composition MUST NOT depend on Core.
Ownership
Owned by comity-development. Consumed by @comity-dev/validate which actually invokes dependency-cruiser.
Public API
import {
buildDependencyRules,
buildDependencyRulesForRoot,
classifyByLayer,
layerSetsFromPackages,
LAYER_PROFILES,
DEFAULT_REPOSITORY_FACTS,
} from "@comity-dev/dependency-rules";A dedicated subpath exposes the rule builder:
import { buildDependencyRules } from "@comity-dev/dependency-rules/build-config";Relationship to Comity Standards
layering-policy.md§2 — canonical layering model.ADR-007— adapter categories.ADR-008— Core-to-Core explicit exception register.architecture-validation.md§7 — dependency validation.
Development
pnpm build
pnpm test