Ui To Vue

affaan-m/ECC/skills/ui-to-vue

作者 affaan-mef648e01899ba3e8dc6371642deaaf64b4477775无许可证275K 个星标收录于 2026年10月9日更新于 2026年10月9日仓库4天前更新

Use when the user has UI screenshots or design exports that need batch conversion into Vue 3 components, especially with Vant, Element Plus, or Ant Design Vue.

AI 生成的概览

将批量 UI 设计截图转换为使用 Vant、Element Plus 或 Ant Design Vue 的 Vue 3 组件。

功能
该技能指导智能体把成批的 UI 设计截图目录转换为 Vue 3 Composition API 组件代码。它按页面和状态对截图分组,将视觉元素映射到指定的 UI 库,按优先级选用切图资源,并把重复出现的区域抽取为共享组件。文档还说明了通过 npx 或全局二进制调用的 CLI 转换器,包含输入、UI 库、输出和配置选项,以及输出检查清单和故障排查表。
适用场景
当用户提供设计截图或设计导出图片目录,且目标应用为 Vue 3 时使用。它适合生成页面组件、共享组件和路由接线的初版,尤其是在指定 Vant、Element Plus 或 Ant Design Vue 时。不适用于只有单张定制截图、非 Vue 目标,或需要详细交互逻辑与无障碍审查的设计。
运行要求
需要 Node.js 及 npx 或全局安装的 ui-to-vue-converter 包、DashScope API 密钥(例如通过 DASHSCOPE_API_KEY 环境变量或配置文件提供),以及访问外部模型 API 的网络。设计截图会被发送到该外部 API。该技能不附带脚本,仅为说明文档。

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_keynpx [email protected] --input ./screenshots --ui vant --output ./src

For desktop UI libraries:

bash
npx [email protected] --input ./designs --ui element-plus --output ./srcnpx [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

OptionDescriptionDefault
--inputDesign image directory./screenshots
--uiUI library: vant, element-plus, or antd-vuevant
--outputOutput directory./src
--configConfig 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

IssueCheck
401 or authentication errorConfirm DASHSCOPE_API_KEY is set in the shell running the command.
command not found: ui-to-vueUse the npx [email protected] form or install the package globally.
Cut images are ignoredConfirm the asset directory name is supported and nested under the matching page or module.
Components ignore the requested UI libraryRe-run with an explicit --ui value and inspect the generated imports.
Generated layout dimensions look wrongConfirm the screenshot export width matches the target library baseline.

References

  • npm package: ui-to-vue-converter

来源与署名

来源:affaan-m/ECC位于skills/ui-to-vue提交ef648e0

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架