mcpField
F
figma-to-swiftui

figma-to-swiftui

github.com/daetojemax开发27312 次安装6 周前更新
代码仓库

关于 figma-to-swiftui

figma-to-swiftui 是一项将 Figma 设计转为原生 SwiftUI 屏幕和组件的技能,面向现有应用开发,并强调遵循项目架构、组件约定及设计证据。

主要功能

  1. 01将 Figma 设计转为 SwiftUI
  2. 02调整现有视图并保留行为
  3. 03检查资源、令牌和组件
  4. 04仅规划设计或映射令牌
  5. 05通过构建和视觉对比验证

适用场景

  1. 01根据 Figma 画面实现屏幕
  2. 02更新现有视图以匹配设计
  3. 03导出资源或映射设计令牌
  4. 04将渲染结果与设计稿对比

MCP 相关

该技能指导 Agent 按可用 Figma 工具的实际参数获取设计上下文和视觉参考。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/daetojemax/figma-to-swiftui-skill --skill figma-to-swiftui

安装后在 Claude Code 中输入/figma-to-swiftui确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
.gitignore
references/
design-token-mapping.md
layout-translation.md
fetch-strategy.md
component-variants.md
adaptation-workflow.md
asset-handling.md
responsive-layout.md
figma-mcp-setup.md
screen-discovery.md
source-document.md
visual-fidelity.md

详细介绍

Figma 转 SwiftUI

交付与所请求的 Figma 设计一致、且适配现有应用的原生 SwiftUI。将生成的 Web 代码视为设计依据,而非待移植的代码。保留项目架构、组件 API,以及所请求更改以外的行为。

选择范围

根据用户请求和任何简要说明,确定目标屏幕、操作、状态及支持的设备。简要说明定义行为和范围;Figma 定义范围内的视觉效果。如果简要说明需要与设计协调,请阅读 source-document.md。

  • 实现屏幕或组件: 收集相关设计依据和项目背景,然后完整实现。
  • 更新现有 UI: 检查受影响的视图及其依赖项;使用 adaptation-workflow.md,在保留行为的同时消除视觉差异。
  • 规划、映射令牌或导出资源: 交付相应产物,不要自动实现屏幕或更改共享设计系统。

依据代码库和设计解决常规选择。若尚未解决的选择会实质性改变范围、行为或目标设计,请提出询问;在等待澄清期间,继续处理不受影响的工作。规划或差异清单只是工作上下文,并非必须经过批准的关卡。

收集所需依据

根据当前可用的架构使用 Figma 工具。不要假设每个服务都提供相同的工具或参数。

  • 对于 /design/ 或旧版 /file/ 链接,提取文件键,并将 node-id=3166-70147 规范化为 3166:70147。支持桌面端选区时,可用其指定目标。对于原型或画板链接,如果可能,解析其对应的设计画面;否则请求设计链接。
  • 对于明确的屏幕或组件,获取设计上下文和视觉参考。若已提供或已获取的依据充分且仍然有效,则重复使用。
  • 对于根节点、页面或含糊的流程,先通过元数据定位相关画面,再获取详细上下文。请参阅 screen-discovery.md。
  • 将过大或被截断的上下文拆分为有意义的子节点,而不是重复同一个失败的请求。请参阅 fetch-strategy.md,了解工具选择和缓存范围。
  • 检查现有组件、令牌、资源、部署目标及相关依赖项。如果 Code Connect 映射可用且有帮助,请阅读并验证映射的 SwiftUI 组件是否适用于所请求的变体。

如果无法访问 Figma,请使用 figma-mcp-setup.md。根据现有依据继续工作,并指出仍受阻的部分,不要臆造缺失的设计细节。

保持设计与平台行为

  • 在可用时使用精确的设计值,并考虑原生渲染差异。优先使用能表达相同意图的项目令牌和组件;不要悄悄将请求的视觉变更替换为不匹配的令牌,也不要全局修改共享令牌。
  • 使用真实的 Figma 资源制作图标、徽标和插图。未经用户指示,不要用 SF Symbols、文本或近似绘图替代。结构几何可以使用 SwiftUI;数据驱动的图像使用应用的图像管线。
  • 让 iOS 渲染键盘、状态栏和主屏幕指示器等系统界面。遵循设计要求,保留原生导航、控件语义、安全区域和无障碍功能。
  • 遵循项目在图像加载、本地化、状态和动画方面的相关约定。如果没有约定,请在工作范围内选择合适的原生实现;添加库并非前提。

仅加载当前工作所需的参考资料:

需求参考资料
导出的美术资源、PNG 验证、资源目录缩放和着色asset-handling.md
Figma 变量、语义令牌、字体排版指标design-token-mapping.md
Auto Layout、尺寸、效果、过渡layout-translation.md
多个设备画框或自适应容器布局responsive-layout.md
组件状态、尺寸、样式、可选内容component-variants.md
精确值提取或视觉差异诊断visual-fidelity.md

完成请求的工作

对于实现任务,完成请求的 UI、资源和行为,包括指定的加载、错误、空白和禁用状态。继续进行相关的本地检查,并修复此次更改引入的问题。根据工作内容选择适当的验证方式:代码更改在条件允许时进行构建;视觉更改在有预览或模拟器时进行渲染对比。尊重明确要求跳过某项检查的指示;不要把选择验证方式变成例行提问。

视觉对比时使用相同的屏幕状态、外观和设备/容器尺寸。当请求的行为正常且已解决观察到的重大差异时,停止迭代。说明已检查的内容及任何剩余限制;仅检查代码无法证明视觉保真度。

仅当这项外部更改属于用户请求或已有授权时,才注册或更新 Code Connect 映射。实现任务本身并不要求发布映射。

评论

支持 Markdown