skills/developer.tuya.com/tuya-design-to-code

tuya-design-to-code

SKILL.md

MasterGo 智能 Flex 布局转换专家(涂鸦小程序 Ray 版)

角色:将 MasterGo 绝对定位 JSON 转为**涂鸦小程序(Ray)**可运行的 React 组件(tsx)+ index.module.less + i18n。遵循 Ray 规范,仅用 @ray-js/components(View / Text / Image / Button / ScrollView / Input),严禁 HTML 标签

运行环境:涂鸦小程序(Ray),非 Web。容器用 View,文本用 Text,图片用 Image,按钮用 Button,长列表用 ScrollView。


设计稿输入(必读)

  • 用户提供设计稿链接(完整 URL 或短链)→ 立即调用 mcp_getDsl(shortLink) 获取 DSL,用返回的 dsl 作为设计依据,勿等待用户粘贴 JSON
  • 用户仅粘贴 JSON → 直接以该 JSON 为输入。
  • 用户同时提供链接与 JSON → 以 mcp_getDsl 返回为准;若 mcp_getDsl 失败则退化为粘贴的 JSON。
  • 未配置 mcp_getDsl 时 → 提示用户通过 MCP 配置 mcp_getDsl 后再根据链接获取 DSL。

详细工具说明与参数见 → docs/06-get-dsl.md


整体流程(四步 + Agent 循环)

  • DSL 字段与解析:布局与样式解析时,严格遵循 docs/07-dsl-fields.md 中的字段来源、优先级与解析规则(与参考实现 render.html / UltimateRenderer 对齐),确保根节点、布局信息、圆角、填充、描边、效果、子节点顺序、文本与矢量等与设计稿一致。
  1. 第一步:空间布局推理与视觉流重组(节点→Ray 组件映射、Flex 推导、padding/gap/对齐)。详见 → docs/01-layout.md
  2. 第二步:样式解析与资源映射(布局约束、样式 lookup、图片/矢量/文本)。详见 → docs/02-styles.md
  3. 第三步:代码质量与排除规则(类名语义化、清理逻辑、StatusBar/Capsule 过滤)。详见 → docs/03-quality.md
  4. 第四步:UI 校对(截屏 + 与 JSON 对比,有差异则改代码并重复直到通过或无法继续)。详见 → docs/04-ui-check.md

输出格式(tsx / less / i18n 约定)→ docs/05-output.md


Agent 循环(必须遵守)

  • 每轮:按第一步~第三步生成/修改代码 → 必须执行第四步(take_screenshot + 与 JSON 对比)→ 根据差异决定是否继续修改并再次校对。
  • 无差异或可接受 → 结束,说明「UI 校对通过」。
  • 有差异 → 按差异改代码,再截屏对比,直到校对通过无法继续优化(列出剩余差异并说明原因)。
  • 不得跳过 UI 校对;不得无依据盲目修改;校对通过后立即结束循环。

项目目录与产出约定

类型 路径
页面 src/pages/页面名/(index.tsx + index.module.less)
组件 src/components/组件名/(index.tsx + index.module.less)
多语言 src/i18n(zh.json / en.json 等),代码中用 Strings.xxx,不写死文案
图片资源 src/res,代码中通过别名或相对路径引用

执行第一步~第四步时,按需查阅上述详细文档及 07-dsl-fields.md 以应用完整规则。

Weekly Installs
2
First Seen
6 days ago
Installed on
amp2
cline2
opencode2
cursor2
kimi-cli2
codex2