技能 编程开发 DDD边界与不变性校验

DDD边界与不变性校验

v20260716
ddd-validate
此工具用于全面审计和验证DDD(领域驱动设计)代码库的结构完整性。它能检测跨上下文的导入违规、检查聚合根的不变性规则,并强制执行领域事件和仓库的命名规范。适用于CI/CD门禁和代码合并前审查,以防止架构退化。
获取技能
102 次下载
概览

Validate domain boundary integrity across all bounded contexts.

Steps

  1. Discover contexts: Scan src/*/domain/ to find all bounded contexts.
  1. Check cross-boundary violations:
  • For each context, scan all .ts files for import statements
  • Flag any import that reaches into another context's domain/ directory directly
  • Allowed: importing from another context's public index.ts (application layer)
  • Violation: importing from src/<other-context>/domain/entities/... directly

```bash

Find cross-boundary imports

for ctx in $(find src -maxdepth 2 -name "domain" -type d | sed 's|src/||;s|/domain||'); do
grep -rn "from ['\"].src/" "src/$ctx/" --include=".ts" | grep -v "src/$ctx/" || true
done
```

  1. Check aggregate invariant enforcement:
  • Scan aggregate root entities for public setters that bypass validation
  • Flag mutable public properties without invariant checks
  • Verify that child entities are not directly accessible (must go through aggregate root)
  1. Check event naming conventions:
  • Domain events should be past-tense named (e.g., OrderCreated, not CreateOrder)
  • Events should be immutable (no public setters)
  • Events should carry the aggregate ID
  1. Check repository patterns:
  • Repository interfaces should exist in domain/repositories/, not infrastructure/
  • Repository implementations should exist in infrastructure/, not domain/
  • Each aggregate root should have exactly one repository
  1. Report findings:
  • Output a table of violations with file path, line number, violation type, and suggestion
  • Categorize as: BOUNDARY, INVARIANT, EVENT, REPOSITORY
  • Exit with summary: total violations, by category, severity
  1. Store results:

```bash
npx @claude-flow/cli@latest memory store --key "ddd-validation-TIMESTAMP" --value "RESULTS_SUMMARY" --namespace tasks
npx @claude-flow/cli@latest hooks post-task --task-id "ddd-validate" --success true --store-results true
```

信息
分类 编程开发
名称 ddd-validate
版本 v20260716
大小 2.51KB
更新时间 2026-07-18
语言