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. 02React + 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 Project Bootstrap

2 つのモードを備えたフロントエンド構造ワーカーです。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.tsReact プラグイン、ポート、プロキシ設定を含む Vite 設定
tsconfig.jsonパスエイリアスを含む厳格な TypeScript 設定
index.htmlroot div を含むエントリー HTML
src/main.tsxStrictMode を含む React エントリーポイント
src/App.tsxルーターのプレースホルダーを含むルート App コンポーネント
src/index.css基本スタイル(リセット、変数、レイアウト)
フェーズ S2:スキャフォールドを検証
確認項目方法期待される結果
すべてのファイルが作成されているファイルの存在確認7 ファイルが存在する
package.json が有効JSON の解析構文エラーがない
tsconfig.json が有効JSON の解析構文エラーがない
ハードコードされた値がない内容をスキャンプロジェクト名がハードコードされず、設定から取得されている

RESTRUCTURE モードのフェーズ

フェーズ 1:分析

現在のフロントエンド構造をスキャンし、コンポーネントを分類します。

ステップアクション参照先
1.1ソース内のすべての .tsx ファイルと .ts ファイルをスキャン—
1.2ファイルの複雑さ(行数、フック、型)を測定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

コメント