mcpField
E
eliteforge-frontend-generator

eliteforge-frontend-generator

github.com/cloudsen開発43 回インストール
リポジトリ

eliteforge-frontend-generator について

スクリプトと決定的なルールでフロントエンドプロジェクトを作成する開発スキルです。事前にペイロードとコマンドをプレビューでき、必須情報の入力後、pnpm i で依存関係を初期化します。

主な機能

  1. 01アプリ、UI、SDKの生成
  2. 02dry-runによるコマンド確認
  3. 03必須項目とkebab-case名の検証
  4. 04fe-接頭辞付きディレクトリの作成
  5. 05pnpm iによる依存関係の初期化

活用シーン

  1. 01会社や製品情報に基づくプロジェクトの作成
  2. 02生成前のコマンド確認
  3. 03UIコンポーネントやSDKのプロジェクト開始
  4. 04必須情報不足時の誤生成防止

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/cloudsen/eliteforge-skills --skill eliteforge-frontend-generator

インストール後、Claude Code で/eliteforge-frontend-generatorを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
references/
frontend-generation-logic.md
scripts/
create_frontend_project.py

詳細

EliteForge フロントエンド生成器

概要

オンライン生成アプリから、決定論的なルールに基づいてフロントエンドプロジェクトを生成します。 同梱のスクリプトを使用して、ドライランのペイロード/コマンドのプレビューを表示するか、プロジェクトを直接作成します。 プロジェクト名は必須です:fe-<company_name>-<product_name>-<service_name>。

パッケージマネージャーポリシー

  • 生成されるフロントエンドプロジェクトでは、pnpm のみをパッケージマネージャーとして使用します。
  • プロジェクト生成後は、生成されたプロジェクトディレクトリ内で必ず依存関係を pnpm i で初期化します。
  • pnpm i を npm install、yarn、pnpm install に置き換えないでください。

プロジェクト命名ポリシー

  • scaffold CLI には、必ず fe-<company_slug>-<product_slug>-<service_slug> の形式で project_name を渡します。
  • fe- プレフィックスは必ず付けてください。
  • -app、-ui、-sdk など、プロジェクトタイプを示すサフィックスは付けないでください。

必須入力ポリシー

  • project_type、company_name、product_name、service_name は必須とし、ユーザーが指定した値のみを使用します。
  • リポジトリ名、現在のディレクトリ、以前の会話で指定された値、デフォルト値、例から必須フィールドを推測しないでください。
  • 必須フィールドが不足している場合は処理を中断し、不足しているフィールドのみを最初に尋ねてください。
  • ユーザーが必須フィールドをすべて明示的に指定するまで、ドライランも生成も実行しないでください。
  • ユーザーの入力が曖昧な場合(例:「前と同じ」や「デフォルトを使用」)は、値を明示するよう尋ねてください。

入力

以下のフィールドを収集します。

必須(ユーザーメッセージから取得する必要があります):

  • project_type:frontend_app、frontend_ui、または frontend_sdk
  • company_name:ケバブケース
  • product_name:ケバブケース
  • service_name:ケバブケース

任意:

  • cli_name:デフォルトは onebase-cli
  • output_dir:デフォルトは現在の作業ディレクトリ
  • auto_slugify:デフォルトは false。ユーザーがケバブケース以外の名前の変換を明示的に依頼した場合のみ使用します

ワークフロー

  1. 必須フィールドは、ユーザーが明示的に入力した値のみから取得します。
  2. 必須フィールドが不足している場合は、不足しているフィールドのみを尋ね、ユーザーの回答を待ちます。
  3. 命名フィールドがケバブケースであることを検証します。
  4. 命名が無効で、auto_slugify の使用も明示的に依頼されていない場合は、ケバブケースの値を入力するようユーザーに依頼します。
  5. まずドライランを実行し、ペイロードとコマンドを表示します。
  6. ドライランのコマンドで -p fe-<company_slug>-<product_slug>-<service_slug> が使用されていることを確認します。
  7. 作成コマンドを実行します。
  8. 生成されたプロジェクトディレクトリに移動し、pnpm i を実行します。
  9. 生成されたフォルダーが存在し、初期化が完了したことを確認します。

テンプレートまたはプロジェクト名が選択された理由をユーザーが尋ねた場合は、references/frontend-generation-logic.md を読みます。

コマンド

ドライラン:

python3 scripts/create_frontend_project.py \
  --project-type frontend_app \
  --company-name cisdigital \
  --product-name your-product \
  --service-name your-service \
  --dry-run

frontend_app を生成:

python3 scripts/create_frontend_project.py \
  --project-type frontend_app \
  --company-name cisdigital \
  --product-name your-product \
  --service-name your-service

cd fe-cisdigital-your-product-your-service
pnpm i

frontend_ui を生成:

python3 scripts/create_frontend_project.py \
  --project-type frontend_ui \
  --company-name cisdigital \
  --product-name your-product \
  --service-name your-component

cd fe-cisdigital-your-product-your-component
pnpm i

frontend_sdk を生成:

python3 scripts/create_frontend_project.py \
  --project-type frontend_sdk \
  --company-name cisdigital \
  --product-name your-product \
  --service-name your-jsdk

cd fe-cisdigital-your-product-your-jsdk
pnpm i

カスタム CLI または出力ディレクトリを使用:

python3 scripts/create_frontend_project.py \
  --project-type frontend_app \
  --company-name cisdigital \
  --product-name your-product \
  --service-name your-service \
  --cli-name onebase-cli \
  --output-dir /path/to/workspace

cd /path/to/workspace/fe-cisdigital-your-product-your-service
pnpm i

ケバブケース以外の入力を変換(ユーザーが変換を明示的に依頼した場合のみ):

python3 scripts/create_frontend_project.py \
  --project-type frontend_app \
  --company-name "CIS Digital" \
  --product-name "My Product" \
  --service-name "Portal UI" \
  --auto-slugify \
  --dry-run

注意事項

  • frontend_project_type はフォームデータに存在しますが、現在の生成ロジックではテンプレートの選択に影響しません。
  • 対象のプロジェクトディレクトリがすでに存在する場合、スクリプトは生成をブロックします。
  • 生成されたプロジェクトは必ず pnpm i で初期化します。
  • 生成されるプロジェクトディレクトリ名は fe-<company_slug>-<product_slug>-<service_slug> と完全に一致します。
  • 出力は簡潔にします。生成されたディレクトリ、作成コマンド、pnpm i の結果を返します。
  • ユーザーに代わって、必須フィールドを推測したり補完したりしないでください。

コメント