ui-to-vue
affaan-m/ECC
Convierte de forma masiva capturas de pantalla del diseño de la interfaz de usuario en componentes de la API de composición de Vue 3 utilizando Vant, Element Plus o Ant Design Vue.
...Expandir todoDe la interfaz de usuario a Vue
Convierte por lotes capturas de pantalla de diseños de interfaz de usuario en código de componentes de la API de composición de Vue 3.
Cuándo utilizarlo
- El usuario proporciona un directorio con capturas de pantalla de diseño o imágenes exportadas del diseño.
- La aplicación de destino es Vue 3.
- El usuario desea una primera versión de los componentes de página, los componentes compartidos y la configuración del enrutador.
- El usuario especifica Vant, Element Plus o Ant Design Vue como biblioteca de componentes.
Cuándo no utilizarlo
- El usuario solo tiene una captura de pantalla y quiere un componente a medida.
- El proyecto de destino no es Vue.
- El diseño requiere una lógica de interacción detallada, un flujo de datos o una revisión de accesibilidad.
- Las capturas de pantalla contienen datos privados de clientes que no pueden enviarse a una API de modelos externa.
Datos de entrada
Utiliza un directorio de entrada que agrupe las capturas de pantalla por módulo y estado de la página:
screenshots/
|-- HomePage/
| |-- List/
| | |-- [email protected]
| | `-- cut-images/
| |-- cut-images/
| `-- [email protected]
`-- cut-images/
Los nombres de directorios de imágenes recortadas admitidos incluyen assets, icons, sprites, cut, images, y cut-images.
Modelo de conversión
- Agrupación de páginas: combina capturas de pantalla relacionadas en un único componente de página cuando representen estados de lista, detalle, formulario, carga o vacío.
- Asignación de la biblioteca de interfaz de usuario: asigna los elementos visuales nativos a componentes de Vant, Element Plus o Ant Design Vue siempre que sea posible.
- Prioridad de las imágenes recortadas: dar preferencia a los recursos a nivel de página, luego a los de nivel de módulo y, por último, a los recursos compartidos globales.
- Extracción de componentes: extrae las regiones de interfaz de usuario repetidas y conviértelas en componentes compartidos cuando aparezcan más de una vez.
Uso de la CLI
Ejecuta el conversor con npx para que el comando documentado funcione sin depender de un binario global:
export DASHSCOPE_API_KEY=your_key
npx [email protected] --input ./screenshots --ui vant --output ./src
Para bibliotecas de interfaz de usuario de escritorio:
npx [email protected] --input ./designs --ui element-plus --output ./src
npx [email protected] --input ./designs --ui antd-vue --output ./src
Si el paquete está instalado globalmente, el ui-to-vue binario se puede utilizar directamente:
npm install -g [email protected]
ui-to-vue --input ./screenshots --ui vant --output ./src
Opciones
| Opción | Descripción | Por defecto |
|---|---|---|
--input |
Directorio de imágenes de diseño | ./screenshots |
--ui |
Biblioteca de interfaz de usuario: vant, element-plus, o antd-vue |
vant |
--output |
Directorio de salida | ./src |
--config |
Ruta del archivo de configuración | ./.ui-to-vue.config.json |
Gestión de claves API
El conversor puede leer las credenciales de DashScope desde un archivo de configuración o desde el entorno. Es preferible utilizar una variable de entorno en los repositorios:
export DASHSCOPE_API_KEY=your_key
Si se requiere un archivo de configuración local, manténlo fuera del control de versiones:
{
"apiKey": "your_dashscope_key",
"input": "./designs",
"ui": "vant",
"output": "./src"
}
.ui-to-vue.config.json
Seguridad y privacidad
- Trata las capturas de pantalla de los diseños como material de origen que puede enviarse a una API de modelos externa.
- No ejecutes este flujo en diseños privados de clientes sin permiso.
- Fija la versión del convertidor en flujos de trabajo repetibles en lugar de utilizar
@latest. - Revisa el código Vue generado antes de confirmarlo.
- No comites
.ui-to-vue.config.json, claves de API, secretos generados ni capturas de pantalla de los clientes.
Lista de comprobación de la revisión de resultados
- Los componentes de página se han generado en
views/o en el directorio de salida elegido. - Las regiones de la interfaz de usuario repetidas se han extraído a
components/solo cuando su reutilización es evidente. - La salida del enrutador es compatible con el estilo de enrutador del proyecto de destino.
- Los componentes generados utilizan la biblioteca de interfaz de usuario solicitada de forma coherente.
- Las unidades CSS generadas se ajustan a la línea de diseño de referencia.
- El código supera las pruebas del formateador, el linter, el verificador de tipos y la compilación del proyecto.
- El texto de los marcadores de posición, los datos de prueba y los recursos generados se revisaron antes de la confirmación.
Resolución de problemas
| Incidencia | Comprueba |
|---|---|
401 o error de autenticación |
Comprueba DASHSCOPE_API_KEY está configurado en el shell que ejecuta el comando. |
command not found: ui-to-vue |
Utiliza la npx [email protected] formulario o instala el paquete globalmente. |
| Las imágenes recortadas se ignoran | Comprueba que el nombre del directorio de recursos sea válido y que esté anidado bajo la página o el módulo correspondiente. |
| Los componentes ignoran la biblioteca de interfaz de usuario solicitada | Vuelve a ejecutarlo con un --ui e inspecciona las importaciones generadas. |
| Las dimensiones del diseño generado parecen incorrectas | Comprueba que el ancho de la captura de pantalla exportada coincida con la línea de base de la biblioteca de destino. |
Referencias
- Paquete npm:
ui-to-vue-converter
---
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`
Todos los archivos
1 archivosInstalar ui-to-vue
Descarga y descomprime los archivos de habilidades en tu directorio .claude/skills/.
Descargar ZIPClona el repositorio y copia los archivos de la habilidad a tu proyecto.
git clone https://github.com/affaan-m/ECC/tree/main/skills/ui-to-vue # Copy SKILL.md to your .claude/skills/ directory
Copiar





Hogar
