вариант

ui-to-vue

affaan-m/ECC affaan-m/ECC

Пакетное преобразование скриншотов дизайна пользовательского интерфейса в компоненты Composition API Vue 3 с использованием Vant, Element Plus или Ant Design Vue.

...Расширить все
0
Обновлено время 1 октября 2026 г.

UI в Vue

Пакетное преобразование скриншотов дизайна пользовательского интерфейса в код компонентов Vue 3 Composition API.

Когда использовать

  • Пользователь предоставляет каталог скриншотов дизайна или изображений, экспортированных из дизайна.
  • Целевым приложением является Vue 3.
  • Пользователю требуется первоначальный набор компонентов страниц, общих компонентов и настройки маршрутизатора.
  • Пользователь указывает Vant, Element Plus или Ant Design Vue в качестве библиотеки компонентов.

Когда не следует использовать

  • У пользователя есть только один скриншот, и ему нужен индивидуально разработанный компонент.
  • Целевой проект не является проектом на Vue.
  • Дизайн требует детальной логики взаимодействия, анализа потока данных или проверки доступности.
  • Скриншоты содержат конфиденциальные данные клиентов, которые нельзя отправить во внешний API моделирования.

Входные данные

Используйте каталог входных данных, в котором скриншоты сгруппированы по модулям и состояниям страниц:

screenshots/
|-- HomePage/
|   |-- List/
|   |   |-- [email protected]
|   |   `-- cut-images/
|   |-- cut-images/
|   `-- [email protected]
`-- cut-images/

Поддерживаемые имена каталогов с вырезанными изображениями включают assets, icons, sprites, cut, images, а также cut-images.

Модель преобразования

  • Группировка страниц: объединяйте связанные скриншоты в один компонент страницы, если они отображают состояния списка, детализации, формы, загрузки или пустого состояния.
  • Сопоставление библиотек пользовательского интерфейса: сопоставляйте нативные визуальные элементы с компонентами Vant, Element Plus или Ant Design для Vue, где это целесообразно.
  • Приоритет фрагментов изображений: отдавайте предпочтение ресурсам на уровне страницы, затем — на уровне модуля, а затем — глобальным общим ресурсам.
  • Извлечение компонентов: извлекайте повторяющиеся области пользовательского интерфейса в общие компоненты, если они встречаются более одного раза.

Использование CLI

Запустите конвертер с помощью npx , чтобы описанная в документации команда работала без использования глобального бинарного файла:

export DASHSCOPE_API_KEY=your_key
npx [email protected] --input ./screenshots --ui vant --output ./src

Для библиотек пользовательского интерфейса для настольных систем:

npx [email protected] --input ./designs --ui element-plus --output ./src
npx [email protected] --input ./designs --ui antd-vue --output ./src

Если пакет установлен глобально, бинарный файл ui-to-vue бинарный файл можно использовать напрямую:

npm install -g [email protected]
ui-to-vue --input ./screenshots --ui vant --output ./src

Параметры

Параметр Описание По умолчанию
--input Каталог изображений дизайна ./screenshots
--ui Библиотека пользовательского интерфейса: vant, element-plus, или antd-vue vant
--output Каталог вывода ./src
--config Путь к файлу конфигурации ./.ui-to-vue.config.json

Обработка ключа API

Конвертер может считывать учетные данные DashScope из файла конфигурации или из переменных среды. В репозиториях предпочтительно использовать переменные среды:

export DASHSCOPE_API_KEY=your_key

Если требуется локальный файл конфигурации, не включайте его в систему контроля версий:

{
  "apiKey": "your_dashscope_key",
  "input": "./designs",
  "ui": "vant",
  "output": "./src"
}
.ui-to-vue.config.json

Безопасность и конфиденциальность

  • Рассматривайте скриншоты проектов как исходный материал, который может быть отправлен во внешний API моделирования.
  • Не запускайте этот рабочий процесс на частных проектах клиентов без разрешения.
  • Зафиксируйте версию конвертера в повторяемых рабочих процессах вместо использования @latest.
  • Перед фиксацией проверьте сгенерированный код Vue.
  • Не фиксируйте .ui-to-vue.config.json, ключи API, сгенерированные секретные ключи или скриншоты клиентов.

Контрольный список для проверки результатов

  • Компоненты страниц были сгенерированы в views/ или в выбранном каталоге вывода.
  • Повторяющиеся области пользовательского интерфейса были выделены в components/ только в тех случаях, когда необходимость повторного использования очевидна.
  • Вывод маршрутизатора совместим со стилем маршрутизатора целевого проекта.
  • Сгенерированные компоненты последовательно используют запрашиваемую библиотеку пользовательского интерфейса.
  • Сгенерированные CSS-единицы соответствуют базовым стандартам дизайна.
  • Код проходит проверку с помощью форматировщика, линтера, средства проверки типов и средства сборки проекта.
  • Текст заполнителей, фиктивные данные и сгенерированные ресурсы были проверены перед фиксацией.

Устранение неполадок

Проблема Проверить
401 или ошибка аутентификации Убедитесь, что DASHSCOPE_API_KEY установлен ли в оболочке, в которой выполняется команда.
command not found: ui-to-vue Используйте npx [email protected] форму или установите пакет глобально.
Обрезанные изображения игнорируются Убедитесь, что имя каталога ресурсов поддерживается и находится в иерархии соответствующей страницы или модуля.
Компоненты игнорируют запрашиваемую библиотеку пользовательского интерфейса Запустите процесс заново, указав явное --ui значением и проверьте сгенерированные импорты.
Размеры сгенерированного макета выглядят неверно Убедитесь, что ширина экспортированного скриншота соответствует базовой линии целевой библиотеки.

Ссылки

  • Пакет npm: ui-to-vue-converter
Посмотреть на GitHub
---
name: ui-to-vue
description: Batch-convert UI design screenshots into Vue 3 Composition API components using Vant, Element Plus, or Ant Design Vue.
---

# UI To Vue

Batch-convert UI design screenshots into Vue 3 Composition API component code.

## When to Use

- The user provides a directory of design screenshots or design-export images.
- The target application is Vue 3.
- The user wants a first pass of page components, shared components, and router wiring.
- The user specifies Vant, Element Plus, or Ant Design Vue as the component library.

## When Not to Use

- The user has only one screenshot and wants a bespoke component.
- The target project is not Vue.
- The design requires detailed interaction logic, data flow, or accessibility review.
- The screenshots contain private customer data that cannot be sent to an external model API.

## Inputs

Use an input directory that groups screenshots by module and page state:

```text
screenshots/
|-- HomePage/
|   |-- List/
|   |   |-- [email protected]
|   |   `-- cut-images/
|   |-- cut-images/
|   `-- [email protected]
`-- cut-images/
```

Supported cut-image directory names include `assets`, `icons`, `sprites`, `cut`, `images`, and `cut-images`.

## Conversion Model

- Page grouping: combine related screenshots into one page component when they represent list, detail, form, loading, or empty states.
- UI library mapping: map native visual elements to Vant, Element Plus, or Ant Design Vue components where practical.
- Cut-image priority: prefer page-level assets, then module-level assets, then global shared assets.
- Component extraction: extract repeated UI regions into shared components when they appear more than once.

## CLI Usage

Run the converter with `npx` so the documented command works without relying on a global binary:

```bash
export DASHSCOPE_API_KEY=your_key
npx [email protected] --input ./screenshots --ui vant --output ./src
```

For desktop UI libraries:

```bash
npx [email protected] --input ./designs --ui element-plus --output ./src
npx [email protected] --input ./designs --ui antd-vue --output ./src
```

If the package is installed globally, the `ui-to-vue` binary can be used directly:

```bash
npm install -g [email protected]
ui-to-vue --input ./screenshots --ui vant --output ./src
```

## Options

| Option | Description | Default |
| --- | --- | --- |
| `--input` | Design image directory | `./screenshots` |
| `--ui` | UI library: `vant`, `element-plus`, or `antd-vue` | `vant` |
| `--output` | Output directory | `./src` |
| `--config` | Config file path | `./.ui-to-vue.config.json` |

## API Key Handling

The converter can read DashScope credentials from a config file or from the environment. Prefer an environment variable in repositories:

```bash
export DASHSCOPE_API_KEY=your_key
```

If a local config file is required, keep it out of version control:

```json
{
  "apiKey": "your_dashscope_key",
  "input": "./designs",
  "ui": "vant",
  "output": "./src"
}
```

```gitignore
.ui-to-vue.config.json
```

## Security and Privacy

- Treat design screenshots as source material that may be sent to an external model API.
- Do not run this flow on private customer designs without permission.
- Pin the converter version in repeatable workflows instead of using `@latest`.
- Review generated Vue code before committing it.
- Do not commit `.ui-to-vue.config.json`, API keys, generated secrets, or customer screenshots.

## Output Review Checklist

- [ ] Page components were generated under `views/` or the chosen output directory.
- [ ] Repeated UI regions were extracted into `components/` only when reuse is clear.
- [ ] Router output is compatible with the target project's router style.
- [ ] Generated components use the requested UI library consistently.
- [ ] Generated CSS units match the design baseline.
- [ ] The code passes the project's formatter, linter, type checker, and build.
- [ ] Placeholder copy, mock data, and generated assets were reviewed before commit.

## Troubleshooting

| Issue | Check |
| --- | --- |
| `401` or authentication error | Confirm `DASHSCOPE_API_KEY` is set in the shell running the command. |
| `command not found: ui-to-vue` | Use the `npx [email protected]` form or install the package globally. |
| Cut images are ignored | Confirm the asset directory name is supported and nested under the matching page or module. |
| Components ignore the requested UI library | Re-run with an explicit `--ui` value and inspect the generated imports. |
| Generated layout dimensions look wrong | Confirm the screenshot export width matches the target library baseline. |

## References

- npm package: `ui-to-vue-converter`

Все файлы

1 файлов

Установить ui-to-vue

Скачайте файлы навыков и распакуйте их в каталог .claude/skills/.

Скачать ZIP

Клонируйте репозиторий и скопируйте файлы навыка в свой проект.

git clone https://github.com/affaan-m/ECC/tree/main/skills/ui-to-vue # Copy SKILL.md to your .claude/skills/ directory

Копировать Копировать
Быстрая настройка: Скопируйте папку со скиллом в каталог .claude/skills/ Claude автоматически обнаружит и начнет использовать этот скилл
Репозиторий affaan-m/ECC

Похожие навыки

github-code-search
Обновлено время 29 июня 2026 г.
drizzle-orm
Обновлено время 29 июня 2026 г.
prisma-client-api
Обновлено время 29 июня 2026 г.
clickhouse-io
Обновлено время 29 июня 2026 г.
OR