mcpField
L
ln-721-frontend-restructure

ln-721-frontend-restructure

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

关于 ln-721-frontend-restructure

面向 React + TypeScript 项目的技能,可生成最小化 Vite 起始项目,或将单体代码重构为组件化结构。适用于前端初始化和迁移,并在流程中检查构建结果。

主要功能

  1. 01SCAFFOLD 与 RESTRUCTURE 模式
  2. 02生成 React + Vite 起始文件
  3. 03分析组件与依赖关系
  4. 04拆分类型、钩子和组件
  5. 05更新导入并验证构建

适用场景

  1. 01为新项目创建最小前端
  2. 02将单体 React 代码拆分到组件目录

安装

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

$npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-721-frontend-restructure

安装后在 Claude Code 中输入/ln-721-frontend-restructure确认已加载。

包含的文件

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

references/
component_patterns.md
import_strategy.md
react_folder_structure.md
transformation_rules.md

详细介绍

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

ln-721-frontend-restructure

类型: L3 Worker 类别: 7XX 项目引导

前端结构 Worker,提供两种模式:SCAFFOLD(从模板生成最小化 React 项目)或 RESTRUCTURE(将单体应用迁移为基于组件的架构)。


模式选择

模式适用场景输入输出
SCAFFOLDCREATE 流水线——没有现有前端来自 ln-720 的目标技术栈配置最小化 React + Vite 项目(约 7 个文件)
RESTRUCTURETRANSFORM 流水线——发现现有前端单体 React 源码基于组件的架构

用途与范围

方面描述
输入目标技术栈配置(SCAFFOLD)或单体 React 源码(RESTRUCTURE)
输出最小化项目(SCAFFOLD)或基于组件的架构(RESTRUCTURE)
框架React + TypeScript + Vite

范围边界:

  • SCAFFOLD:生成最小化起始文件,不包含业务逻辑
  • RESTRUCTURE:重构现有代码,不添加新功能
  • 适用于 React + TypeScript 项目
  • 应用参考文件中的转换规则

工作流

SCAFFOLD 模式(CREATE 流水线)
阶段名称操作输出
S1生成创建最小化 React + Vite + TypeScript 项目文件约 7 个起始文件
S2验证检查文件结构,验证配置有效的项目骨架
RESTRUCTURE 模式(TRANSFORM 流水线)
阶段名称操作输出
1分析扫描源码,检测组件类型,衡量复杂度文件清单、复杂度指标
2规划应用拆分阈值,计算文件移动,检测冲突迁移计划
3执行创建文件夹,提取内容,更新导入重构后的文件
4验证运行构建,检查导入,验证结构构建成功报告

SCAFFOLD 模式阶段

阶段 S1:生成起始文件

创建最小化 React + Vite + TypeScript 项目。

文件用途
package.json依赖项:react、react-dom、typescript、vite、@vitejs/plugin-react
vite.config.tsVite 配置,包含 React 插件、端口和代理设置
tsconfig.json启用严格模式且配置了路径别名的 TypeScript 配置
index.html包含 root div 的入口 HTML
src/main.tsx使用 StrictMode 的 React 入口点
src/App.tsx带有路由器占位符的根 App 组件
src/index.css基础样式(重置、变量、布局)
阶段 S2:验证脚手架
检查项方法预期结果
已创建所有文件检查文件是否存在存在 7 个文件
package.json 有效JSON 解析无语法错误
tsconfig.json 有效JSON 解析无语法错误
没有硬编码值扫描内容项目名称来自配置,而非硬编码

RESTRUCTURE 模式阶段

阶段 1:分析

扫描当前前端结构并对组件进行分类。

步骤操作参考
1.1扫描源码中的所有 .tsx 和 .ts 文件—
1.2衡量文件复杂度(行数、hooks、类型)transformation_rules.md
1.3按类别对组件进行分类component_patterns.md
1.4构建导入依赖关系图import_strategy.md

输出: 包含分类和指标的组件清单。


阶段 2:规划

根据分析结果生成迁移计划。

步骤操作参考
2.1应用拆分阈值,确定需要重构的文件transformation_rules.md
2.2计算每个文件的目标路径react_folder_structure.md
2.3确定需要更新的导入import_strategy.md
2.4检测潜在冲突(名称冲突、循环依赖)—

输出: 包含迁移前后映射关系的迁移计划。


阶段 3:执行

按正确顺序应用转换。

步骤操作备注
3.1创建目录结构所有目标文件夹
3.2将类型提取到 types.ts类型没有依赖
3.3将常量提取到 constants.ts常量仅依赖类型
3.4将钩子提取到 hooks.ts钩子依赖类型和常量
3.5提取子组件组件使用上述所有内容
3.6创建汇总导出文件(index.ts)便于整洁地导入
3.7更新所有导入路径修正引用

顺序至关重要: 按顺序执行,避免导入失效。


阶段 4:验证

验证重构后的项目。

检查项命令预期结果
TypeScript 编译npx tsc --noEmit无错误
构建npm run build成功
无孤立文件手动检查源位置为空
导入解析正常构建成功没有找不到模块的错误

转换摘要

转换转换前状态转换后状态
组件拆分单个文件超过 300 行包含同目录文件的功能文件夹
类型提取内联接口独立的 types.ts
常量提取内联魔法值独立的 constants.ts
钩子提取内联 useState/useEffect独立的 hooks.ts 或共享钩子
UI 组件迁移分散在各功能模块中集中到 components/ui/
布局组件迁移与功能模块混杂集中到 components/layout/

关键规则

  • 模式意识: SCAFFOLD 根据模板创建;RESTRUCTURE 转换现有内容——绝不混用
  • 单一职责: 仅处理前端结构,不更改后端
  • 幂等性: 可重复运行,不会产生重复文件或损坏
  • 构建验证: 更改后必须验证构建通过(RESTRUCTURE:npm run build)
  • 保留功能: 不更改行为,仅调整结构(RESTRUCTURE 模式)
  • 备份策略: 验证通过前不得删除源文件(RESTRUCTURE 模式)
  • 导入一致性: 共享内容使用路径别名,同目录内容使用相对路径

完成定义

SCAFFOLD 模式:

  • 生成全部 7 个起始文件
  • package.json 和 tsconfig.json 有效
  • 没有硬编码的项目名称(使用配置值)

RESTRUCTURE 模式:

  • 已分析并分类所有源文件
  • 已生成包含迁移前后映射关系的迁移计划
  • 已根据模板创建目录结构
  • 已完成所有提取(类型、常量、钩子、组件)
  • 已更新整个项目中的导入路径
  • npm run build 成功通过
  • 没有孤立的导入或缺失文件
  • 已为共享文件夹创建汇总导出文件

风险缓解

风险检测方式缓解措施
重构后构建失败npm run build 失败回滚:从源文件恢复,并调查具体错误
缺少导入找不到模块的错误扫描更改前后的所有导入,更新遗漏路径
循环依赖构建警告或运行时错误分析依赖关系图,提取共享代码以打破循环
功能丢失测试失败或 UI 异常在转换前后运行现有测试
名称冲突导出名称重复移动前使用功能前缀重命名

参考文件

文件用途
references/transformation_rules.md拆分阈值、提取规则、转换顺序
references/component_patterns.md按类别进行组件分类
references/import_strategy.md导入更新规则、路径别名、汇总导出
references/react_folder_structure.md目标目录结构模板

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

评论

支持 Markdown