figma-assets-fetch

С 2019 · Софт


Консольная утилита для macOS, которая автоматически генерирует код и каталоги *.xcassets на основе палитр и изображений из Figma. Процесс настроен по принципу «conventions over configuration»: достаточно подготовить кадр в Figma и указать его URL, после чего инструмент соберёт цвета или иконки и построит шаблонный Swift-код или ассеты. Поддерживаются отдельные команды для генерации перечислений цветов из шаблона Stencil, а также формирования ассетов с цветами и изображениями для Xcode-проектов. Проект активно развивается и распространяется под MIT-лицензией.

Зачем нужен этот инструмент

  • Автоматизирует перенос дизайна в код: генерирует Swift‑код и наборы ассетов на основе реальных данных из Figma вместо ручного копипаста.
  • Помогает держать дизайн‑систему в актуальном состоянии: одно изменение в Figma → одна команда в терминале → обновлённые цвета и изображения в проекте.

Ключевая идея

  • Утилита следует принципу conventions-over-configuration: если договориться о структуре фреймов и нейминге в Figma, конфигурации требуется минимально.
  • Вместо сложных YAML/JSON‑конфигов разработчик работает с понятными командами и ссылками на фреймы в Figma.

Что именно она умеет

  • Генерация кода по шаблону (Stencil) из палитры цветов, описанной во фрейме Figma: на вход — URL фрейма, на выход — Swift‑файл с enum/структурами цветов.
  • Генерация .xcassets с цветами (включая поддержку light/dark палитр, сопоставляемых по имени) и изображениями из заранее подготовленных фреймов.

Как устроен рабочий процесс

  • Дизайнеры подготавливают отдельные фреймы для цветов и иконок: палитра — это набор эллипсов с цветами и стилями/именами, иконки — фрейм, в котором каждая вложенная нода трактуется как отдельное изображение.
  • Разработчик один раз пишет Stencil‑шаблон под свои цели, а дальше просто вызывает CLI, интегрируя команды в build‑скрипты, make‑файлы или CI.

Для кого этот проект

  • Для iOS‑команд, строящих дизайн‑систему с единым источником правды в Figma и жёсткими требованиями к консистентности ассетов.
  • Для разработчиков, которые предпочитают автоматизацию и repeatable‑процессы вместо ручного обновления цветов и иконок через экспорт/импорт.