--- name: ui-to-vue description: UIスクリーンショットやデザインエクスポートをVue 3コンポーネントに一括変換する際に使用。Vant、Element Plus、Ant Design Vueに対応。 origin: community --- # UI To Vue UIデザインのスクリーンショットをVue 3 Composition APIコンポーネントコードに一括変換します。 ## 使用するタイミング - ユーザーがデザインスクリーンショットまたはデザインエクスポート画像のディレクトリを提供するとき。 - ターゲットアプリケーションがVue 3のとき。 - ユーザーがページコンポーネント、共有コンポーネント、ルーター配線の最初の変換を希望するとき。 - ユーザーがVant、Element Plus、またはAnt Design Vueをコンポーネントライブラリとして指定するとき。 ## 使用しないタイミング - ユーザーがスクリーンショット1枚のみで、特定のコンポーネントを希望するとき。 - ターゲットプロジェクトがVueでないとき。 - デザインが詳細なインタラクションロジック、データフロー、またはアクセシビリティレビューを必要とするとき。 - スクリーンショットに外部モデルAPIに送信できないプライベートな顧客データが含まれるとき。 ## 入力 モジュールとページ状態でスクリーンショットをグループ化したディレクトリを入力として使用します。 サポートされている切り出し画像ディレクトリ名:`assets`、`icons`、`sprites`、`cut`、`images`、`cut-images`。 ## 変換モデル - ページグループ化:リスト、詳細、フォーム、ローディング、または空の状態を表す関連スクリーンショットを1つのページコンポーネントにまとめる。 - UIライブラリマッピング:可能な限りネイティブのビジュアル要素をVant、Element Plus、またはAnt Design Vueコンポーネントにマッピングする。 - 切り出し画像の優先順位:ページレベルのアセットを優先し、次にモジュールレベル、最後にグローバル共有アセット。 - コンポーネント抽出:繰り返し使われるUIリージョンが2回以上現れる場合は共有コンポーネントに抽出する。 ## CLI使用方法 グローバルバイナリに依存せず、ドキュメントに記載されたコマンドが機能するように `npx` でコンバーターを実行します: ```bash export DASHSCOPE_API_KEY=your_key npx ui-to-vue-converter@1.0.2 --input ./screenshots --ui vant --output ./src ``` ## オプション | オプション | 説明 | デフォルト | | --- | --- | --- | | `--input` | デザイン画像ディレクトリ | `./screenshots` | | `--ui` | UIライブラリ:`vant`、`element-plus`、または `antd-vue` | `vant` | | `--output` | 出力ディレクトリ | `./src` | | `--config` | 設定ファイルのパス | `./.ui-to-vue.config.json` | ## セキュリティとプライバシー - デザインスクリーンショットを外部モデルAPIに送信される可能性があるソース素材として扱う。 - 許可なくプライベートな顧客デザインでこのフローを実行しないこと。 - 再現可能なワークフローでは `@latest` の代わりにコンバーターのバージョンを固定すること。 - コミット前に生成されたVueコードをレビューすること。 - `.ui-to-vue.config.json`、APIキー、生成されたシークレット、または顧客スクリーンショットをコミットしないこと。 ## 出力レビューチェックリスト - [ ] ページコンポーネントが `views/` または選択した出力ディレクトリの下に生成された。 - [ ] 繰り返しのUIリージョンが再利用が明確な場合のみ `components/` に抽出された。 - [ ] ルーター出力がターゲットプロジェクトのルータースタイルと互換性がある。 - [ ] 生成されたコンポーネントが要求したUIライブラリを一貫して使用している。 - [ ] 生成されたCSSのユニットがデザインのベースラインと一致している。 - [ ] コードがプロジェクトのフォーマッター、リンター、型チェッカー、ビルドをパスする。 - [ ] プレースホルダーのコピー、モックデータ、生成されたアセットをコミット前にレビューした。 ## トラブルシューティング | 問題 | 確認事項 | | --- | --- | | `401` または認証エラー | コマンドを実行するシェルで `DASHSCOPE_API_KEY` が設定されていることを確認する。 | | `command not found: ui-to-vue` | `npx ui-to-vue-converter@1.0.2` の形式を使用するか、パッケージをグローバルインストールする。 | | 切り出し画像が無視される | アセットディレクトリ名がサポートされており、対応するページまたはモジュールの下にネストされていることを確認する。 | | コンポーネントが要求されたUIライブラリを無視する | 明示的な `--ui` 値で再実行して、生成されたインポートを確認する。 | | 生成されたレイアウトの寸法がおかしい | スクリーンショットのエクスポート幅がターゲットライブラリのベースラインと一致していることを確認する。 | ## リファレンス - npmパッケージ:`ui-to-vue-converter`