mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-05-20 22:49:06 +08:00
- skill-scout: translate description field - tinystruct-patterns: translate description field - ui-to-vue: translate description field
87 lines
5.5 KiB
Markdown
87 lines
5.5 KiB
Markdown
---
|
||
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`
|