mcpField
L
ln-720-structure-migrator

ln-720-structure-migrator

github.com/levnikolaevich开发584378 次安装2 天前更新
代码仓库

关于 ln-720-structure-migrator

ln-720-structure-migrator 负责协调项目脚手架搭建或迁移至 Clean Architecture,面向项目引导工作流。它按 CREATE 或 TRANSFORM 模式委派前端、后端、种子数据及按需清理任务,并验证结果。

主要功能

  1. 01CREATE 与 TRANSFORM 模式
  2. 02分析并规划项目结构
  3. 03委派给专门的工作技能
  4. 04验证最终结构与构建

适用场景

  1. 01搭建 React 和 .NET 项目脚手架
  2. 02将现有项目迁移至 Clean Architecture
  3. 03生成或迁移种子数据
  4. 04重构后检查构建与导入

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-720-structure-migrator

安装后在 Claude Code 中输入/ln-720-structure-migrator确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
clean_architecture_dotnet.md
frontend_structure.md
meta_analysis_protocol.md

详细介绍

**路径:**文件路径(references/、../ln-*)相对于此技能目录。

ln-720-structure-migrator

**类型:**L2 领域协调器 **类别:**7XX 项目引导 **上级:**ln-700-project-bootstrap

协调项目重构,使其符合 Clean Architecture。支持模式感知:根据 CREATE/TRANSFORM 流程,使用适当的模式参数委派给工作器。


目的与范围

方面说明
输入当前项目结构 + 来自 ln-700 的模式(CREATE/TRANSFORM)
输出重构后的 Clean Architecture 项目
工作器参见下方的工作器表格
工作器
工作器职责CREATE 模式TRANSFORM 模式
ln-721前端结构SCAFFOLD(生成初始框架)RESTRUCTURE(迁移单体应用)
ln-722后端生成器RUN(生成后端)RUN(生成后端)
ln-723种子数据GENERATE(根据实体生成)MIGRATE(根据 ORM 架构迁移)
ln-724工件清理器跳过(无工件)有条件执行(仅在检测到平台时)

范围边界:

  • 分析当前项目结构(TRANSFORM),或接受目标配置(CREATE)
  • 生成迁移计划或初始框架计划
  • 通过 Agent 工具委派给专用工作器
  • 验证最终结果

工作流

阶段名称CREATE 模式TRANSFORM 模式
1分析接收目标技术栈配置扫描结构、检测框架、映射文件
2规划计算初始框架操作计算移动操作、识别冲突
3执行委派:ln-721 SCAFFOLD → ln-722 → ln-723 GENERATE委派:ln-724(有条件)→ ln-721 RESTRUCTURE → ln-722 → ln-723 MIGRATE
4验证检查文件结构、验证配置运行构建、检查导入、验证结构

目标结构

前端(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
后端(.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/

委派协议

委派给 ln-724(工件清理器)

**调用条件:**处于 TRANSFORM 模式,且检测到平台工件(.replit、.stackblitzrc、sandbox.config.json、glitch.json)。 **跳过条件:**处于 CREATE 模式,或未找到平台配置文件。

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
委派给 ln-721(前端)
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
委派给 ln-722(后端)
Context:
  projectName: MyApp
  targetPath: /project/src
  targetFramework: net10.0
  features:
    - Dashboard
    - Users
Options:
  createMockData: true
  addSwagger: true
  addHealthChecks: true
委派给 ln-723(种子数据)
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/references/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

关键规则

  • **协调器模式:**分析并通过 Skill 工具委派,不要直接执行转换
  • **模式感知:**向所有工作器传递正确的模式——CREATE 与 TRANSFORM 决定工作器的行为
  • **条件工作器:**仅在 TRANSFORM 模式且检测到平台工件时运行 ln-724;否则跳过
  • **顺序执行工作器:**按顺序执行(ln-724 有条件执行 → ln-721 → ln-722 → ln-723)
  • **预检:**确认 git 状态干净,目标路径可用
  • **不得丢失数据:**先复制再删除,移除源文件前先验证(TRANSFORM 模式)
  • **构建验证:**所有构建都必须通过(npm run build、dotnet build)
  • **确保可回滚:**验证完成前保留备份分支(TRANSFORM 模式)

调用:

Skill(skill: "ln-724-artifact-cleaner", args: "{projectPath}")  # TRANSFORM only, conditional
Skill(skill: "ln-721-frontend-restructure", args: "{projectPath} --mode {SCAFFOLD|RESTRUCTURE}")
Skill(skill: "ln-722-backend-generator", args: "{projectPath}")
Skill(skill: "ln-723-seed-data-generator", args: "{projectPath} --mode {GENERATE|MIGRATE}")

TodoWrite 格式(必填):

- Invoke ln-724-artifact-cleaner (conditional TRANSFORM) (pending)
- Invoke ln-721-frontend-restructure (pending)
- Invoke ln-722-backend-generator (pending)
- Invoke ln-723-seed-data-generator (pending)
- Verify structure and builds (pending)

Worker 调用(MANDATORY)

Host Skill 调用: 必须通过 Skill(skill: "...", args: "...") 委派。

  • Claude:严格按所示方式调用 Skill 工具。
  • Codex:如果没有 Skill 工具,请在可用技能中找到指定技能,读取其 SKILL.md,将 args 作为 $ARGUMENTS,执行该技能的工作流,然后带着结果/产物返回此处。
  • 不要内联执行工作逻辑,也不要在未执行目标技能的情况下将 Worker 标记为完成。
阶段Worker上下文
3aln-724-artifact-cleaner共享(Skill 工具)——移除平台产物(仅限 TRANSFORM,视情况执行)
3bln-721-frontend-restructure共享(Skill 工具)——搭建或重构前端
3cln-722-backend-generator共享(Skill 工具)——生成后端项目结构
3dln-723-seed-data-generator共享(Skill 工具)——生成或迁移种子数据

所有 Worker: 通过 Skill 工具调用——Worker 可查看协调器上下文。

完成定义

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)
  • 旧位置中没有孤立文件
  • 所有导入均已正确解析
  • 已生成迁移报告

风险缓解

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

参考文件

文件用途
references/clean_architecture_dotnet.md.NET 项目结构模板
references/frontend_structure.mdReact 项目结构模板

元分析

可选参考:仅当用户要求运行后元分析或采用协议格式的运行复盘时,才加载 references/meta_analysis_protocol.md。

技能类型:execution-orchestrator。收到请求时,在所有阶段完成后运行。使用 execution-orchestrator 格式在聊天中输出。


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

评论

支持 Markdown