ln-720-structure-migrator
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chineseln-720-structure-migrator
ln-720-structure-migrator
Type: L2 Domain Coordinator
Category: 7XX Project Bootstrap
Parent: ln-700-project-bootstrap
Coordinates project restructuring to Clean Architecture. Mode-aware: delegates to workers with appropriate mode parameters based on CREATE/TRANSFORM pipeline.
类型: L2 领域协调器
分类: 7XX 项目初始化
父级: ln-700-project-bootstrap
负责协调项目重构至整洁架构(Clean Architecture)。支持模式感知:根据CREATE/TRANSFORM流水线,将任务委托给带有合适模式参数的工作器。
Purpose & Scope
目标与范围
| Aspect | Description |
|---|---|
| Input | Current project structure + mode (CREATE/TRANSFORM) from ln-700 |
| Output | Restructured project with Clean Architecture |
| Workers | See Workers table below |
| 维度 | 描述 |
|---|---|
| 输入 | 来自ln-700的当前项目结构 + 模式(CREATE/TRANSFORM) |
| 输出 | 已重构为整洁架构的项目 |
| 工作器 | 见下方工作器表格 |
Workers
工作器
| Worker | Role | CREATE mode | TRANSFORM mode |
|---|---|---|---|
| ln-721 | Frontend structure | SCAFFOLD (generate starter) | RESTRUCTURE (migrate monolith) |
| ln-722 | Backend generator | RUN (generate backend) | RUN (generate backend) |
| ln-723 | Seed data | GENERATE (from entities) | MIGRATE (from ORM schemas) |
| ln-724 | Artifact cleaner | SKIP (no artifacts) | CONDITIONAL (only if platform detected) |
Scope boundaries:
- Analyzes current project structure (TRANSFORM) or accepts target config (CREATE)
- Generates migration plan or scaffold plan
- Delegates to specialized workers via Task tool
- Verifies final result
| 工作器 | 角色 | CREATE模式 | TRANSFORM模式 |
|---|---|---|---|
| ln-721 | 前端结构 | 搭建(生成初始模板) | 重构(迁移单体应用) |
| ln-722 | 后端生成器 | 运行(生成后端) | 运行(生成后端) |
| ln-723 | 种子数据 | 生成(从实体生成) | 迁移(从ORM架构迁移) |
| ln-724 | 产物清理器 | 跳过(无产物) | 条件执行(仅当检测到平台时) |
范围边界:
- 分析当前项目结构(TRANSFORM模式)或接收目标配置(CREATE模式)
- 生成迁移计划或搭建计划
- 通过任务工具委托给专业工作器
- 验证最终结果
Workflow
工作流程
| Phase | Name | CREATE mode | TRANSFORM mode |
|---|---|---|---|
| 1 | Analyze | Receive target stack config | Scan structure, detect framework, map files |
| 2 | Plan | Calculate scaffold actions | Calculate moves, identify conflicts |
| 3 | Execute | Delegate: ln-721 SCAFFOLD → ln-722 → ln-723 GENERATE | Delegate: ln-724 (conditional) → ln-721 RESTRUCTURE → ln-722 → ln-723 MIGRATE |
| 4 | Verify | Check file structure, validate configs | Run builds, check imports, validate structure |
| 阶段 | 名称 | CREATE模式 | TRANSFORM模式 |
|---|---|---|---|
| 1 | 分析 | 接收目标技术栈配置 | 扫描结构、检测框架、映射文件 |
| 2 | 规划 | 计算搭建操作 | 计算文件移动、识别冲突 |
| 3 | 执行 | 委托:ln-721 搭建 → ln-722 → ln-723 生成 | 委托:ln-724(条件执行)→ ln-721 重构 → ln-722 → ln-723 迁移 |
| 4 | 验证 | 检查文件结构、验证配置 | 运行构建、检查导入、验证结构 |
Target Structures
目标结构
Frontend (React)
前端(React)
src/frontend/
├── public/
├── src/
│ ├── components/
│ │ ├── layout/ # AppLayout, Header, Sidebar
│ │ └── ui/ # Reusable UI components
│ ├── contexts/ # React contexts
│ ├── hooks/ # Custom hooks
│ ├── lib/ # Utilities, API clients
│ ├── pages/ # Page components
│ │ └── {Feature}/ # Feature-specific files
│ ├── App.tsx
│ ├── main.tsx
│ └── index.css
├── package.json
├── vite.config.ts
└── tsconfig.jsonsrc/frontend/
├── public/
├── src/
│ ├── components/
│ │ ├── layout/ # 应用布局、头部、侧边栏
│ │ └── ui/ # 可复用UI组件
│ ├── contexts/ # React上下文
│ ├── hooks/ # 自定义钩子
│ ├── lib/ # 工具类、API客户端
│ ├── pages/ # 页面组件
│ │ └── {Feature}/ # 功能模块专属文件
│ ├── App.tsx
│ ├── main.tsx
│ └── index.css
├── package.json
├── vite.config.ts
└── tsconfig.jsonBackend (.NET Clean Architecture)
后端(.NET Clean Architecture)
src/
├── {Project}.Api/
│ ├── Controllers/
│ ├── DTOs/
│ ├── Middleware/
│ ├── MockData/
│ ├── Extensions/
│ ├── Program.cs
│ └── appsettings.json
├── {Project}.Domain/
│ ├── Entities/
│ ├── Enums/
│ └── Common/
├── {Project}.Services/
│ └── Interfaces/
├── {Project}.Repositories/
│ └── Interfaces/
└── {Project}.Shared/src/
├── {Project}.Api/
│ ├── Controllers/
│ ├── DTOs/
│ ├── Middleware/
│ ├── MockData/
│ ├── Extensions/
│ ├── Program.cs
│ └── appsettings.json
├── {Project}.Domain/
│ ├── Entities/
│ ├── Enums/
│ └── Common/
├── {Project}.Services/
│ └── Interfaces/
├── {Project}.Repositories/
│ └── Interfaces/
└── {Project}.Shared/Delegation Protocol
委托协议
To ln-724 (Artifact Cleaner)
委托给ln-724(产物清理器)
When to invoke: TRANSFORM mode AND platform artifacts detected (, , , ).
Skip conditions: CREATE mode OR no platform config files found.
.replit.stackblitzrcsandbox.config.jsonglitch.jsonyaml
Context:
projectPath: /project
skipPreview: false
Options:
# ln-724 auto-detects platform, no need to specify
cleanConfigFiles: true
cleanDirectories: true
cleanPackages: true
cleanBuildConfig: true
cleanCodeComments: true
cleanGitignore: true调用时机: TRANSFORM模式 且 检测到平台产物(, , , )。
跳过条件: CREATE模式 或 未找到平台配置文件。
.replit.stackblitzrcsandbox.config.jsonglitch.jsonyaml
Context:
projectPath: /project
skipPreview: false
Options:
# ln-724会自动检测平台,无需指定
cleanConfigFiles: true
cleanDirectories: true
cleanPackages: true
cleanBuildConfig: true
cleanCodeComments: true
cleanGitignore: trueTo ln-721 (Frontend)
委托给ln-721(前端)
yaml
Context:
mode: SCAFFOLD | RESTRUCTURE # From pipeline mode
# SCAFFOLD mode:
targetPath: /project/src/frontend
projectName: MyApp
# RESTRUCTURE mode:
sourcePath: /project/client
targetPath: /project/src/frontend
framework: react
features:
- Dashboard
- Settings
- Profile
Options:
# RESTRUCTURE only:
splitMonolithicFiles: true
extractConstants: true
extractTypes: true
createComponentLibrary: trueyaml
Context:
mode: SCAFFOLD | RESTRUCTURE # 来自流水线模式
# SCAFFOLD模式:
targetPath: /project/src/frontend
projectName: MyApp
# RESTRUCTURE模式:
sourcePath: /project/client
targetPath: /project/src/frontend
framework: react
features:
- Dashboard
- Settings
- Profile
Options:
# 仅RESTRUCTURE模式可用:
splitMonolithicFiles: true
extractConstants: true
extractTypes: true
createComponentLibrary: trueTo ln-722 (Backend)
委托给ln-722(后端)
yaml
Context:
projectName: MyApp
targetPath: /project/src
targetFramework: net10.0
features:
- Dashboard
- Users
Options:
createMockData: true
addSwagger: true
addHealthChecks: trueyaml
Context:
projectName: MyApp
targetPath: /project/src
targetFramework: net10.0
features:
- Dashboard
- Users
Options:
createMockData: true
addSwagger: true
addHealthChecks: trueTo ln-723 (Seed Data)
委托给ln-723(种子数据)
yaml
Context:
mode: MIGRATE | GENERATE # From pipeline mode
targetFormat: csharp | typescript | python | json | sql
# MIGRATE mode:
sourceORM: auto # Auto-detect (drizzle/prisma/typeorm/efcore/sqlalchemy/django)
sourcePath: /project/shared/schema.ts
# GENERATE mode:
entities: # Optional — if empty, starter template used
- name: User
fields: [id, name, email, role, createdAt]
- name: Role
fields: [id, name, description]
targetPath: /project/src/MyApp.Api/MockDatayaml
Context:
mode: MIGRATE | GENERATE # 来自流水线模式
targetFormat: csharp | typescript | python | json | sql
# MIGRATE模式:
sourceORM: auto # 自动检测(drizzle/prisma/typeorm/efcore/sqlalchemy/django)
sourcePath: /project/shared/schema.ts
# GENERATE模式:
entities: # 可选 — 若为空则使用初始模板
- name: User
fields: [id, name, email, role, createdAt]
- name: Role
fields: [id, name, description]
targetPath: /project/src/MyApp.Api/MockDataCritical Rules
关键规则
- Orchestrator Pattern: Analyze and delegate via Task tool, do not execute transformations directly
- Mode Awareness: Pass correct mode to all workers — CREATE vs TRANSFORM determines worker behavior
- Conditional Workers: ln-724 runs ONLY in TRANSFORM mode when platform artifacts detected; SKIP otherwise
- Sequential Workers: Execute in order (ln-724 conditional → ln-721 → ln-722 → ln-723)
- Pre-flight Checks: Verify git status clean, target paths available
- No Data Loss: Copy before delete, verify before removing source (TRANSFORM mode)
- Build Verification: All builds must pass (,
npm run build)dotnet build - Rollback Ready: Keep backup branch until verification complete (TRANSFORM mode)
- 编排器模式: 通过任务工具进行分析和委托,不直接执行转换操作
- 模式感知: 向所有工作器传递正确的模式 — CREATE与TRANSFORM模式决定工作器的行为
- 条件执行工作器: ln-724仅在TRANSFORM模式且检测到平台产物时运行;否则跳过
- 顺序执行工作器: 按顺序执行(ln-724条件执行 → ln-721 → ln-722 → ln-723)
- 预检查: 验证git状态是否干净、目标路径是否可用
- 无数据丢失: 删除前先复制,移除源文件前先验证(TRANSFORM模式)
- 构建验证: 所有构建必须通过(、
npm run build)dotnet build - 可回滚: 在验证完成前保留备份分支(TRANSFORM模式)
Definition of Done
完成标准
CREATE mode:
- Target stack config received from ln-700
- ln-721 completed: Frontend scaffolded (SCAFFOLD mode)
- ln-722 completed: Backend generated
- ln-723 completed: Seed data generated (GENERATE mode)
- File structure matches target templates
- All configs valid (package.json, tsconfig.json, .csproj)
TRANSFORM mode:
- Current structure analyzed and documented
- Migration plan generated
- ln-724 completed: Platform artifacts removed (if applicable)
- ln-721 completed: Frontend restructured (RESTRUCTURE mode)
- ln-722 completed: Backend generated
- ln-723 completed: Seed data migrated (MIGRATE mode)
- Frontend builds successfully ()
npm run build - Backend builds successfully ()
dotnet build - No orphan files in old locations
- All imports resolve correctly
- Migration report generated
CREATE模式:
- 已从ln-700接收目标技术栈配置
- ln-721执行完成:前端已搭建(SCAFFOLD模式)
- ln-722执行完成:后端已生成
- ln-723执行完成:种子数据已生成(GENERATE模式)
- 文件结构与目标模板匹配
- 所有配置有效(package.json、tsconfig.json、.csproj)
TRANSFORM模式:
- 已分析并记录当前结构
- 已生成迁移计划
- ln-724执行完成:已移除平台产物(若适用)
- ln-721执行完成:前端已重构(RESTRUCTURE模式)
- ln-722执行完成:后端已生成
- ln-723执行完成:种子数据已迁移(MIGRATE模式)
- 前端构建成功()
npm run build - 后端构建成功()
dotnet build - 旧路径下无孤立文件
- 所有导入路径解析正确
- 已生成迁移报告
Risk Mitigation
风险缓解
| Risk | Detection | Mitigation |
|---|---|---|
| Uncommitted changes | | Require clean working directory |
| Build failure (frontend) | | Rollback, delegate to ln-721 for fix |
| Build failure (backend) | | Rollback, delegate to ln-722 for fix |
| Lost files | Files missing after migration | Restore from backup branch |
| Import errors | Module not found | Re-run import update phase |
| Partial migration | Worker fails mid-execution | Atomic: complete all or rollback all |
| Wrong worker mode | Mode mismatch | Validate mode parameter before delegation |
| 风险 | 检测方式 | 缓解措施 |
|---|---|---|
| 未提交的变更 | | 要求工作目录状态干净 |
| 前端构建失败 | | 回滚,委托给ln-721修复 |
| 后端构建失败 | | 回滚,委托给ln-722修复 |
| 文件丢失 | 迁移后文件缺失 | 从备份分支恢复 |
| 导入错误 | 模块未找到 | 重新运行导入更新阶段 |
| 部分迁移 | 工作器中途执行失败 | 原子操作:要么全部完成,要么全部回滚 |
| 工作器模式错误 | 模式不匹配 | 委托前验证模式参数 |
Reference Files
参考文件
| File | Purpose |
|---|---|
| .NET project structure template |
| React project structure template |
Version: 3.0.0
Last Updated: 2026-02-07
| 文件 | 用途 |
|---|---|
| .NET项目结构模板 |
| React项目结构模板 |
版本: 3.0.0
最后更新时间: 2026-02-07