ln-720-structure-migrator

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

ln-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

目标与范围

AspectDescription
InputCurrent project structure + mode (CREATE/TRANSFORM) from ln-700
OutputRestructured project with Clean Architecture
WorkersSee Workers table below
维度描述
输入来自ln-700的当前项目结构 + 模式(CREATE/TRANSFORM)
输出已重构为整洁架构的项目
工作器见下方工作器表格

Workers

工作器

WorkerRoleCREATE modeTRANSFORM mode
ln-721Frontend structureSCAFFOLD (generate starter)RESTRUCTURE (migrate monolith)
ln-722Backend generatorRUN (generate backend)RUN (generate backend)
ln-723Seed dataGENERATE (from entities)MIGRATE (from ORM schemas)
ln-724Artifact cleanerSKIP (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

工作流程

PhaseNameCREATE modeTRANSFORM mode
1AnalyzeReceive target stack configScan structure, detect framework, map files
2PlanCalculate scaffold actionsCalculate moves, identify conflicts
3ExecuteDelegate: ln-721 SCAFFOLD → ln-722 → ln-723 GENERATEDelegate: ln-724 (conditional) → ln-721 RESTRUCTURE → ln-722 → ln-723 MIGRATE
4VerifyCheck file structure, validate configsRun 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.json
src/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.json

Backend (.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 (
.replit
,
.stackblitzrc
,
sandbox.config.json
,
glitch.json
). Skip conditions: CREATE mode OR no platform config files found.
yaml
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模式 且 检测到平台产物(
.replit
,
.stackblitzrc
,
sandbox.config.json
,
glitch.json
)。 跳过条件: CREATE模式 或 未找到平台配置文件。
yaml
Context:
  projectPath: /project
  skipPreview: false
Options:
  # ln-724会自动检测平台,无需指定
  cleanConfigFiles: true
  cleanDirectories: true
  cleanPackages: true
  cleanBuildConfig: true
  cleanCodeComments: true
  cleanGitignore: true

To 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: true
yaml
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: true

To ln-722 (Backend)

委托给ln-722(后端)

yaml
Context:
  projectName: MyApp
  targetPath: /project/src
  targetFramework: net10.0
  features:
    - Dashboard
    - Users
Options:
  createMockData: true
  addSwagger: true
  addHealthChecks: true
yaml
Context:
  projectName: MyApp
  targetPath: /project/src
  targetFramework: net10.0
  features:
    - Dashboard
    - Users
Options:
  createMockData: true
  addSwagger: true
  addHealthChecks: true

To 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/MockData

yaml
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/MockData

Critical 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

风险缓解

RiskDetectionMitigation
Uncommitted changes
git status
not clean
Require clean working directory
Build failure (frontend)
npm run build
fails
Rollback, delegate to ln-721 for fix
Build failure (backend)
dotnet build
fails
Rollback, delegate to ln-722 for fix
Lost filesFiles missing after migrationRestore from backup branch
Import errorsModule not foundRe-run import update phase
Partial migrationWorker fails mid-executionAtomic: complete all or rollback all
Wrong worker modeMode mismatchValidate mode parameter before delegation

风险检测方式缓解措施
未提交的变更
git status
显示不干净
要求工作目录状态干净
前端构建失败
npm run build
执行失败
回滚,委托给ln-721修复
后端构建失败
dotnet build
执行失败
回滚,委托给ln-722修复
文件丢失迁移后文件缺失从备份分支恢复
导入错误模块未找到重新运行导入更新阶段
部分迁移工作器中途执行失败原子操作:要么全部完成,要么全部回滚
工作器模式错误模式不匹配委托前验证模式参数

Reference Files

参考文件

FilePurpose
references/clean_architecture_dotnet.md
.NET project structure template
references/frontend_structure.md
React project structure template

Version: 3.0.0 Last Updated: 2026-02-07
文件用途
references/clean_architecture_dotnet.md
.NET项目结构模板
references/frontend_structure.md
React项目结构模板

版本: 3.0.0 最后更新时间: 2026-02-07