옵션
집집 Skill 웹 개발 ui-to-vue

ui-to-vue

affaan-m/ECC affaan-m/ECC

Vant, Element Plus 또는 Ant Design Vue를 사용하여 UI 디자인 스크린샷을 Vue 3 Composition API 컴포넌트로 일괄 변환합니다.

...모든 것을 확장하십시오
0
업데이트 된 시간 2026년 10월 1일

UI를 Vue로 변환

UI 디자인 스크린샷을 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.

변환 모델

  • 페이지 그룹화: 목록, 상세, 양식, 로딩 또는 빈 상태를 나타내는 관련 스크린샷을 하나의 페이지 컴포넌트로 결합하십시오.
  • UI 라이브러리 매핑: 가능한 경우 네이티브 시각적 요소를 Vant, Element Plus 또는 Ant Design Vue 컴포넌트에 매핑하십시오.
  • 이미지 잘라내기 우선순위: 페이지 수준 자산을 우선으로 하고, 그 다음으로 모듈 수준 자산, 마지막으로 전역 공유 자산을 사용합니다.
  • 컴포넌트 추출: 반복적으로 나타나는 UI 영역은 한 번 이상 등장할 경우 공유 컴포넌트로 추출합니다.

CLI 사용법

다음 명령어로 변환기를 실행합니다. npx 로 실행하여, 문서화된 명령어가 전역 바이너리에 의존하지 않고 작동하도록 하십시오:

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

데스크톱 UI 라이브러리의 경우:

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 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/ 또는 선택한 출력 디렉터리 아래에 생성되었습니다.
  • 반복되는 UI 영역은 components/ 재사용이 명확한 경우에만 추출되었습니다.
  • 라우터 출력은 대상 프로젝트의 라우터 스타일과 호환됩니다.
  • 생성된 컴포넌트는 요청된 UI 라이브러리를 일관되게 사용합니다.
  • 생성된 CSS 단위는 디자인 기준과 일치합니다.
  • 코드는 프로젝트의 포맷터, 린터, 타입 체커 및 빌드 과정을 통과했습니다.
  • 커밋 전에 자리 표시자 텍스트, 모의 데이터 및 생성된 자산을 검토했습니다.

문제 해결

이슈 확인
401 또는 인증 오류 확인 DASHSCOPE_API_KEY 이 설정되어 있는지 확인하십시오.
command not found: ui-to-vue ' npx [email protected] 양식을 사용하거나 패키지를 전역으로 설치하십시오.
잘라낸 이미지는 무시됩니다 자산 디렉터리 이름이 지원되며, 해당 페이지 또는 모듈 아래에 중첩되어 있는지 확인하십시오.
컴포넌트가 요청된 UI 라이브러리를 무시합니다. 명시적인 --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
업데이트 된 시간 2026년 6월 29일
drizzle-orm
업데이트 된 시간 2026년 6월 29일
prisma-client-api
업데이트 된 시간 2026년 6월 29일
clickhouse-io
업데이트 된 시간 2026년 6월 29일
OR