Skip to content

lockp111/agent-ddd-engineering

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 Agent DDD Engineering

AI 原生时代的领域驱动设计 (DDD) 工程实操向导与技能库

🇨🇳 简体中文 | 🇬🇧 English

License AI Native Architecture

传统 DDD 主要致力于解决人类团队的认知对齐与沟通成本。 AI 原生时代的 DDD 其架构与组织原则被重新塑造——它们成为了强大的 Prompt 工程框架、上下文管理器和大模型幻觉抑制器

本项目致力于将领域驱动设计(DDD)的核心理念平移至 AI 编码场景(如 Cursor、Devin、Claude Code、Antigravity/Gemini、OpenCode 等 Agent 开发工具),指导 LLM 处理复杂业务系统,避免上下文污染,从而稳定生成高质量的业务级代码。


💡 为什么 AI 需要 DDD?

在使用大语言模型编写复杂商业软件时,AI 最容易犯的错误是:"面条代码"(Spaghetti Code)与"上帝类"(God Object)。它们会将数据库 ORM 操作、HTTP 请求与核心业务逻辑揉捏在一个方法中。

引入本项目提供的 DDD 规范技能库,可以帮助你:

  1. 🛡️ 物理级防污染沙盒 (Context Mapping):通过划分限界上下文,将 AI 的注意力严格限制在单一业务模块内,极大减少幻觉与代码耦合。
  2. 📝 契约优先设计 (Contract First):强迫 AI 先输出接口(API/事件契约),人类确认后再实现,避免"一步错、步步错"。
  3. 🧠 充血模型驱动 (Rich Domain Model):告别无脑 CRUD(贫血模型),引导大模型将复杂的业务规则正确地挂载到聚合根与实体上。
  4. ⚙️ 标准化的原子任务 (Atomic Workflow):为 AI 分解代码生成任务,严格遵循"定义契约 -> 实现纯净核 -> 补全基础设施适配器"的顺序。

🛠️ AI 技能库 (skills/)

这是本项目的核心资产:具体可操作的动作技能(Skills)库。基于 docs/ 中沉淀出的理论指南,你可以直接将这些技能规则文件注入到你使用的 AI Agent 中作为执行约束。

语言边界

技能采用语言边界设计,防止污染:

Scope 描述 语言
Universal 语言无关的 DDD 概念和设计原则 所有语言
Language-Specific 特定语言的实现约定 language-conventions skill

注意: 语言特定约定位于 language-conventions/。其他所有技能默认都是 universal

约束分层

spec-driven-development 采用两层约束设计

层级 位置 可定制 说明
软约束 spec-driven-development/ Yes 目录布局、包名风格、文件组织
硬约束 skills/ddd-protocol/domain-architecture-reference.md No domain 隔离、充血模型、ORM 不可进 domain

用户可在 Phase 5 前修改软约束文件(behavior-contract-templates-reference.mdpackage-placement-reference.md)来自定义项目结构。

技能分类

类别 技能 描述
核心 DDD 流程 full-ddd/ 串联完整的 7 阶段 DDD 研发管线,强制执行节点审查
extracting-domain-events/ Phase 1: 事件风暴与领域事件提取
mapping-bounded-contexts/ Phase 2: 限界上下文边界与上下文映射
designing-contracts-first/ Phase 3: 契约优先设计与 ACL 接口
architecting-technical-solution/ Phase 4: 7 个维度的技术决策
defining-schemas/ Phase 5: Schema 文件定义(proto, openapi, DDL, error codes)
spec-driven-development/ Phase 6: 行为契约(SDD)
coding-isolated-domains/ Phase 7: 充血模型实现
test-driven-development/ Phase 7: TDD 工作流(MAP→ITERATE→DIFF)
协议/参考 ddd-protocol/ 共享协议:歧义处理、持久化防御、架构红线
language-conventions/ 语言特定约定自动路由(命名/包结构/DI/测试)
支撑 snapshotting-code-context/ 从现有代码逆向工程阶段产出物
ddd-review/ DDD 合规性独立审查(PR 审计/架构验证)
编排器 iterating-ddd/ 增量 DDD 迭代(已有项目)
piloting-ddd/ 试点项目引入 DDD(Strangler Fig 模式)
restructuring-ddd/ 全量重构(非 DDD 项目转 DDD)
导入 importing-technical-solution/ 从已有技术方案文档逆向提取
mapping-legacy-landscape/ 遗留系统分析

核心 DDD 流程(Phase 1-7)

Phase 技能 输出
1 extracting-domain-events 领域事件表
2 mapping-bounded-contexts 上下文映射 + 字典
3 designing-contracts-first 接口契约
4 architecting-technical-solution 技术方案
5 defining-schemas Schema 清单(proto/openapi/DDL/error codes)
6 spec-driven-development 行为契约
7 coding-isolated-domains 充血领域代码 + 测试

关键规则:

  • Phase 1 和 Phase 7 需要显式的人类批准后才能继续
  • Phase 2-6自主模式,使用 STOP/ASSUME 歧义协议
  • 所有批准的产出物必须立即持久化docs/ddd/
  • 进度跟踪在 docs/ddd/ddd-progress.md
  • 关键决策记录在 docs/ddd/decisions-log.md
  • 无论感知复杂度如何,不得跳过任何阶段

🏗️ 面向架构师与开发团队

本项目是极为优秀的 EventStorming(事件风暴)工作坊落地转化工具。 在人类团队完成白板上的建模后,你可以使用本项目中的技能库,指挥 AI 迅速将白板上的便利贴转化为符合严谨架构规范的基础设施代码与充血实体。

⚠️ 请记住:AI 是一辆超跑,而 DDD 是高速公路上的护栏与导航。加速代码生成的是 AI,但最终确认业务事实与边界防线的,永远是人类工程师。


🤝 参与贡献

我们非常欢迎开发者提交 Issue 和 PR!你可以分享:

  • 你在真实业务中踩过的 AI 生成代码的坑。
  • 更多实用的适用于其他语言(Go/Rust/Python 等)或框架的 DDD Prompt Skills。
  • 对理论文档的补充与完善。

📄 许可证

本项目基于 MIT License 协议开源,你可以自由地将其集成到你的开源项目或商业研发流中。

About

agent DDD skills

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors