← ClaudeAtlas

scaffold-projectlisted

当用户要求"初始化项目/新建项目/搭建项目/scaffold/创建工程"时触发。 MUST 询问用户项目形态(DDD 7+1 / 单体多模块 / 单体单模块),禁止默认。 按 stack-constraints 和 project-scaffolding wiki 初始化项目结构。
structure-projects/structure-agent-rules · ★ 1 · AI & Automation · score 66
Install: claude install-skill structure-projects/structure-agent-rules
# 项目初始化 > 从零搭建符合规范的项目结构。**项目形态 MUST 询问用户,禁止默认**。 ## 前置条件 - 用户明确要新建项目 - 已识别项目栈(参考 `common-project-stack-detection` 规则) ## 执行步骤 ### 第 1 步:询问用户关键决策(MUST) **禁止默认**,必须按以下决策树引导用户: #### 1.1 项目形态决策树 ⭐ ``` Q1: 项目涉及几个业务领域(聚合根)? 例如:只有"用户" → 1 个;有"用户+订单+商品" → 多个 用户回答:___ ↓ ├─ 仅 1 个聚合根 + 简单 CRUD → **单体单模块**(工具类项目) ↓ 多个聚合根 或 复杂业务 → 继续 Q2 Q2: 团队规模和预期演进周期? 例如:1 人 / 3 个月 demo / 3 人团队 / 1 年+ 用户回答:___ ↓ ├─ 1 人 + 短期(< 3 个月) → **单体单模块** ├─ 1-3 人 + 中期(3-12 个月) → **单体 4 模块** ↓ ≥ 3 人 或 长期(≥ 1 年) → 继续 Q3 Q3: 是否需要严格的层间隔离(应用层不接触 Mapper)? 用户回答:___ ↓ ├─ 否 → **单体 4 模块**(用 Manager 模式) ↓ 是 → 继续 Q4 Q4: 是否预期拆分为微服务? 用户回答:___ ↓ ├─ 否 → **单体 4 模块** ↓ 是 → **DDD 7+1 多模块** ⭐ ``` **MUST 告诉用户推荐结果的理由**: > "根据您的回答,我推荐 **DDD 7+1 多模块**,因为: > - 涉及多个业务领域 > - 团队 ≥ 3 人 > - 需要层间隔离 > - 预期拆分为微服务 > > 详细判断标准见 `wiki/_common/project-form-decision.md`。 > 请确认或选择其他形态。" #### 1.2 项目信息 - 项目名(如 structure-user) - groupId(如 cn.structured) - 主包名(如 cn.structured.user) #### 1.3 技术栈版本 MUST 按 stack-constraints 确认: - Spring Boot: 4.0.6 - JDK: 17+ - ... ### 第 2 步:读栈级脚手架 Wiki ```bash cat wiki/<stack>/project-scaffolding.md cat wiki/<stack>/components.md cat wiki/_common/project-form-decision.md # ⭐ 新增:形态决策详细参考 ``` ### 第 3 步:生成项目结构 #### DDD 7+1 多模块(默认推荐) ``` structure-{X}/ ├── structure-{X}-dependencies/ # 父 POM ├── structure-{X}-common/ # DTO / VO / Query / enums / exception ├── structure-{X}-domain/