eliteforge-frontend-generator について
スクリプトと決定的なルールでフロントエンドプロジェクトを作成する開発スキルです。事前にペイロードとコマンドをプレビューでき、必須情報の入力後、pnpm i で依存関係を初期化します。
主な機能
- 01アプリ、UI、SDKの生成
- 02dry-runによるコマンド確認
- 03必須項目とkebab-case名の検証
- 04fe-接頭辞付きディレクトリの作成
- 05pnpm iによる依存関係の初期化
活用シーン
- 01会社や製品情報に基づくプロジェクトの作成
- 02生成前のコマンド確認
- 03UIコンポーネントやSDKのプロジェクト開始
- 04必須情報不足時の誤生成防止
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ cloudsen/ eliteforge-skills --skill eliteforge-frontend-generatorインストール後、Claude Code で/eliteforge-frontend-generatorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/frontend-generation-logic.mdscripts/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_sdkcompany_name:ケバブケースproduct_name:ケバブケースservice_name:ケバブケース
任意:
cli_name:デフォルトはonebase-clioutput_dir:デフォルトは現在の作業ディレクトリauto_slugify:デフォルトはfalse。ユーザーがケバブケース以外の名前の変換を明示的に依頼した場合のみ使用します
ワークフロー
- 必須フィールドは、ユーザーが明示的に入力した値のみから取得します。
- 必須フィールドが不足している場合は、不足しているフィールドのみを尋ね、ユーザーの回答を待ちます。
- 命名フィールドがケバブケースであることを検証します。
- 命名が無効で、
auto_slugifyの使用も明示的に依頼されていない場合は、ケバブケースの値を入力するようユーザーに依頼します。 - まずドライランを実行し、ペイロードとコマンドを表示します。
- ドライランのコマンドで
-p fe-<company_slug>-<product_slug>-<service_slug>が使用されていることを確認します。 - 作成コマンドを実行します。
- 生成されたプロジェクトディレクトリに移動し、
pnpm iを実行します。 - 生成されたフォルダーが存在し、初期化が完了したことを確認します。
テンプレートまたはプロジェクト名が選択された理由をユーザーが尋ねた場合は、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の結果を返します。 - ユーザーに代わって、必須フィールドを推測したり補完したりしないでください。
コメント
Markdown 対応