Как превратить дизайн из Figma в работающий сайт с помощью Codex

Этот гайд подойдёт дизайнерам и предпринимателям без знаний в программировании.

Привет! Меня зовут Ляйля. Я веб-дизайнер с 2020 года. За это время:

  • Разработала 300+ проектов для экспертов и бизнесов в нишах: стоматология, HR, флористика, криптовалюта, недвижимость, IT-продукты, одежда, бухгалтерия, театры, Event-агентства, благотворительность, производство, образование, строительство, инвестиции, LMS
  • Работаю с международными проектами. Мои клиенты: Meera Global, Квант, QOS Education, театр «Созвездие-Йолдызылк» и многие другие. Больше кейсов на сайте.
  • Являюсь финалистом всероссийского конкурса Art-Masters 2023 в специальности Веб-дизайн
  • Создала свое обучение веб-дизайну для новичков. Мои ученики работают в компаниях
В результате изучения этого материала вы получите первую работающую версию сайта, которую можно открыть в браузере, проверить на компьютере и телефоне.

Что понадобится

Перед началом подготовьте:
  • готовый дизайн сайта в Figma
  • отдельную версию для компьютера и телефона
  • приложение Codex на компьютере
  • подключение Figma к Codex.
Figma MCP — это связка, благодаря которой Codex может самостоятельно открыть ваш макет, увидеть размеры, тексты, цвета и скачать изображения.

Вам понадобится оплатить подписки в Chat GPT и Figma. Примерно 4000 руб./месяц за оба сервиса.

Шаг 1. Подготовьте макет в Figma

Создайте два отдельных экрана:
  • Landing — Desktop — 1440
  • Landing — Mobile — 390
В каждом экране должна находиться вся страница: от меню до подвала.

Не уменьшайте десктопную версию для телефона автоматически. Соберите мобильную версию отдельно: измените размеры текста, отступы, порядок блоков и расположение изображений.

Проверьте 6 вещей

1. Используйте Auto Layout и Frame.

Основные блоки страницы должны быть собраны через Auto Layout. Это поможет Codex понять, как элементы должны располагаться и перестраиваться.

Поэтому каждый блок собирайте отдельно во фрейме и все элементы внутри фрейма объединяйте в автолейауты.

2.Дайте слоям понятные названия

Вместо:
Frame 87
Rectangle 126
Group 4

используйте:
Header
Hero
MainButton
Services
CaseCard
Footer

3. Назначьте стили для текстов и палитры

Для каждого текста и цвета назначьте стили: отдельно для десктопа и мобильной версии.

4. Для кнопок, карточек, табов и других повторяющихся элементов создайте компоненты с разными состояниями

5. Фоновые изображения вставляйте изображениями в формате jpg, png или svg

Не оставляйте в макете сложные эффекты. Фотографии, логотипы и иконки должны находиться в макете отдельными элементами.

6. Проверьте макет на разных ширинах

Попробуйте сузить десктопный экран с 1440 до 1024 пикселей, а мобильный — с 390 до 320 пикселей.

Убедитесь, что:
  • текст не выходит за границы;
  • карточки не накладываются друг на друга;
  • кнопки не обрезаются;
  • изображения остаются на своих местах;
  • страница не уезжает вправо.
Если макет ломается при изменении ширины в Figma, Codex тоже может собрать его неправильно.

Это можно сделать в разделе Constrains, выставив точки расположения  для каждого элемента

Шаг 2. Установите Codex

Скачайте приложение Codex с официального сайта OpenAI и войдите в свой аккаунт.

Cоздайте новый проект. Разрешите полный доступ.

Шаг 3.  Подключите Figma

В настройках Codex найдите раздел с плагинами и выберите Figma.

Авторизуйтесь в своём аккаунте Figma и разрешите доступ к файлу.
После подключения откройте макет в Figma и скопируйте две ссылки:
  1. На десктопный экран.
  2. На мобильный экран.
Важно: выделите конкретный экран и скопируйте ссылку именно на него, а не на весь файл.
В ссылке должно быть указано node-id. Это означает, что Codex откроет нужный экран.

Шаг 4. Отправьте в чат Codex готовый промт

Скопируйте промт ниже и вставьте свои ссылки на макеты в Figma.
Ты — senior frontend-разработчик, специализирующийся на pixel-perfect верстке по Figma.
Твоя задача — полностью самостоятельно сверстать этот лендинг в текущем репозитории, максимально точно воспроизведя дизайн из Figma для десктопной и мобильной версии.
FIGMA — ИСТОЧНИК ИСТИНЫ

Десктопный фрейм:
{ссылка на ваш макет}

Мобильный фрейм:
{ссылка на ваш макет}

Работай автономно от начала до конца. Не останавливайся после анализа или плана. Не проси подтверждения перед каждым этапом и не перекладывай на меня скачивание изображений, иконок, SVG, шрифтов или других элементов.
Задавай вопрос только в случае реальной блокировки: отсутствует доступ к Figma MCP, ссылка не содержит node-id, невозможно открыть репозиторий или требуются закрытые учётные данные. Все незначительные неоднозначности разрешай самостоятельно, опираясь на Figma, скриншоты, структуру слоёв и наиболее прямую реализацию.

1. Сначала изучи проект
Перед изменениями:
Прочитай AGENTS.md и другие инструкции репозитория.
Изучи package.json, структуру проекта, существующие компоненты, стили, переменные, дизайн-токены и команды запуска.
Определи используемый стек самостоятельно.
Используй существующий стек и архитектуру. Не создавай параллельную дизайн-систему и не переписывай проект без необходимости.
Если репозиторий пустой, создай минимальный современный проект на React, TypeScript и Vite без лишних библиотек.
Составь краткий внутренний план и сразу приступай к реализации, не ожидая моего подтверждения.
2. Обязательный workflow через Figma MCP
Используй Figma MCP и Figma skill.
Для каждого переданного фрейма:
Сначала вызови get_design_context для точного node-id.

Если ответ обрезан или фрейм слишком большой:
вызови get_metadata;
найди дочерние секции;
повторно вызови get_design_context отдельно для каждой необходимой секции.

Вызови get_screenshot для точного десктопного фрейма.

Вызови get_screenshot для точного мобильного фрейма.

Получи используемые переменные и стили через get_variable_defs, если инструмент доступен.

Изучи компоненты, варианты, Auto Layout, Constraints, размеры, отступы, сетку, цвета, типографику и эффекты.

Только после получения design context и screenshot начинай верстку.

Не пытайся восстановить страницу только по одному скриншоту, пока доступен структурированный контекст Figma.
3. Ассеты
Самостоятельно получи из Figma все необходимые:
фотографии;
фоновые изображения;
иллюстрации;
логотипы;
SVG;
иконки;
декоративные элементы;
маски;
текстуры;
изображения, используемые в Fill.
Используй download_assets и сохраняй точные файлы в стандартную папку ассетов текущего проекта.
Если MCP возвращает временный URL или localhost-источник:
Получи по нему оригинальные байты файла.
Сохрани файл локально в проект.
Замени временную ссылку на локальный импорт или постоянный путь.
Убедись, что проект не зависит от работающего Figma MCP или localhost после завершения.
Для исходных фотографий по возможности используй оригинальные source images, а не скриншоты или повторно сжатые копии.
Запрещено:
оставлять placeholder;
использовать случайные изображения;
заменять иконки символами Unicode;
самостоятельно перерисовывать SVG, если оригинал можно получить из Figma;
добавлять сторонний пакет иконок вместо ассетов из Figma;
заменять сложную секцию одной большой картинкой;
растрировать весь лендинг ради визуального совпадения.
Если один ассет используется несколько раз, переиспользуй один и тот же файл.
4. Требования к точности
Воспроизведи максимально точно:
ширину контейнеров;
расположение и размеры секций;
высоту экранов;
поля и отступы;
сетку и выравнивание;
размеры изображений;
object-fit и object-position;
обрезку изображений;
типографику;
семейства и начертания шрифтов;
размеры текста;
line-height;
letter-spacing;
регистр;
цвета и прозрачность;
градиенты;
рамки;
радиусы;
тени;
blur;
наложения;
декоративные элементы;
абсолютное позиционирование там, где оно действительно заложено в дизайне;
порядок слоёв и z-index;
состояния кнопок и ссылок;
hover, focus и active-состояния, если они показаны или однозначно следуют из макета;
меню, формы, слайдеры, табы, аккордеоны и остальные интерактивные элементы.
Не улучшай дизайн по своему усмотрению. Не меняй композицию, тексты, цвета, изображения, пропорции и размеры только потому, что другой вариант кажется тебе более правильным.
Тексты перенеси из Figma дословно, включая знаки препинания и переносы, если они влияют на композицию.
Не используй приблизительные значения, когда точное значение можно получить из Figma MCP.
5. Шрифты
Определи точные:
font-family;
font-weight;
font-size;
line-height;
letter-spacing;
text-transform.
Сначала проверь, есть ли необходимые файлы шрифтов в проекте.
Если шрифт доступен через легальный публичный источник или передан в доступных ресурсах проекта, подключи его самостоятельно.
Если коммерческий файл шрифта недоступен, не останавливай всю работу и не задавай вопрос. Используй наиболее близкий доступный fallback только как последнюю меру и укажи это одним пунктом в финальном отчёте.
Не заменяй шрифт незаметно без проверки влияния на переносы строк и размеры блоков.
6. Адаптивность
Десктопный и мобильный фреймы являются отдельными источниками истины.
Не создавай мобильную версию простым пропорциональным уменьшением десктопа.
Для мобильной версии точно воспроизведи:
порядок элементов;
скрытие и появление элементов;
переносы;
размеры текста;
поля;
высоту секций;
ширину карточек;
направление flex/grid;
поведение меню;
кадрирование изображений;
положение декоративных элементов.
Между контрольными разрешениями сделай устойчивый адаптив без скачков, наложений и горизонтального скролла.
Используй разумное количество медиазапросов. Не хардкодь отдельное значение буквально под каждый пиксель ширины.
Проверь как минимум:
точную ширину десктопного Figma-фрейма;
1440 px;
1280 px;
1024 px;
768 px;
точную ширину мобильного Figma-фрейма;
430 px;
390 px;
375 px;
360 px;
320 px.
На всех промежуточных ширинах композиция должна оставаться корректной.
7. Самопроверка через браузер
После первой реализации:
Установи необходимые зависимости.

Запусти проект.

Убедись, что страница открывается без ошибок.

Используй Playwright или Playwright interactive.

Сделай полноразмерные скриншоты реализации на точных размерах десктопного и мобильного Figma-фреймов.

Сравни их со скриншотами, полученными через get_screenshot.

При возможности создай overlay или visual diff.

Последовательно проверь:
геометрию;
ширину контейнеров;
вертикальные координаты секций;
размеры текста;
переносы строк;
цвета;
изображения;
кадрирование;
декоративные элементы;
адаптивное поведение;
интерактивность.

Исправь найденные расхождения.

Повтори визуальное сравнение после исправлений.

Не ограничивайся проверкой того, что проект просто собирается. Главный критерий — визуальное совпадение с Figma.
Продолжай цикл:
реализация → браузерный скриншот → сравнение с Figma → исправление
до тех пор, пока не останется заметных визуальных расхождений, которые можно исправить средствами кода.
Не сообщай о завершении после первого приблизительного варианта.
8. Техническая проверка
Перед завершением обязательно:
запусти build;
запусти lint, если он настроен;
запусти существующие тесты;
проверь консоль браузера;
исправь ошибки и предупреждения, вызванные твоими изменениями;
проверь отсутствие битых изображений;
проверь отсутствие горизонтального скролла;
проверь кликабельность всех интерактивных элементов;
проверь отсутствие layout shift после загрузки изображений и шрифтов;
проверь корректность страницы после перезагрузки;
проверь, что временные MCP-ссылки не остались в production-коде.
Не удаляй и не ломай существующие функции проекта, если это не требуется для реализации лендинга.
9. Критерии готовности
Задача считается выполненной только когда:
десктопная версия максимально точно совпадает с десктопным фреймом;
мобильная версия максимально точно совпадает с мобильным фреймом;
промежуточные ширины работают корректно;
все доступные ассеты скачаны из Figma;
нет placeholders и случайных замен;
тексты совпадают с макетом;
изображения правильно обрезаны;
шрифты и интервалы максимально близки к Figma;
нет ошибок в консоли;
production build успешно выполняется;
выполнена визуальная проверка через Playwright;
после визуальной проверки были самостоятельно исправлены найденные отклонения.
10. Формат финального ответа
После полного завершения напиши только краткий отчёт:
Какие файлы созданы или изменены.
Какие разрешения проверены.
Какие команды проверки успешно выполнены.
Какие ассеты были получены из Figma.
Остались ли объективно неизбежные отклонения.
Не присылай длинную лекцию и не перечисляй каждое CSS-свойство.
Сейчас начни с анализа репозитория и вызова Figma MCP для обоих фреймов, а затем самостоятельно доведи страницу до готового результата.

Шаг 5.  Откройте готовый сайт

После выполнения задачи Codex должен запустить сайт и показать адрес примерно такого вида:
http://localhost:5173

Откройте его в браузере.

Проверьте:
  • компьютерную версию;
  • мобильную версию;
  • меню и кнопки;
  • загрузку изображений;
  • правильность текстов;
  • отсутствие элементов, которые съехали или обрезались.
Чтобы увидеть мобильную версию, можно просто уменьшить ширину окна браузера.

Важно: Codex может пропустить какие-то моменты. Вы можете его корректировать в чате.

Шаг 6. Попросите Codex проверить себя ещё раз

Если сайт похож на макет, но есть заметные отличия, не перечисляйте каждую ошибку вручную.

Отправьте одно сообщение:
Теперь проведи повторную визуальную проверку.

Открой готовый сайт в браузере и сравни его с десктопной и мобильной версиями в Figma.

Проверь:

- размеры блоков;
- расстояния между элементами;
- размеры текста;
- переносы строк;
- расположение изображений;
- цвета;
- скругления;
- декоративные элементы;
- мобильную версию.

Самостоятельно исправь найденные отличия, затем снова открой страницу и проверь результат.

Не завершай задачу, пока остаются заметные отличия, которые можно исправить.
На этом этапе можно попросить Codex добавить анимацию и ссылки

Какой результат вы получите

После выполнения этих шагов у вас должна появиться первая рабочая версия сайта:
  • она открывается в браузере;
  • похожа на макет в Figma;
  • адаптируется под телефон;
  • содержит оригинальные изображения;
  • имеет работающие кнопки и меню;
  • хранится в отдельной папке на вашем компьютере.
Это ещё не означает, что сайт автоматически опубликован в интернете. Сначала Codex создаёт и запускает его на вашем компьютере. После проверки сайт можно загрузить на хостинг, подключить домен или перенести на нужную платформу.
Если вы планируете разработку нового сайта или хотите понять, что можно улучшить в текущем проекте, запишитесь на бесплатную консультацию.

На консультации мы:
  • Разберем вашу задачу и цели бизнеса
  • Обсудим структуру будущего сайта
  • Определим, какой формат сайта подойдет именно вам
  • Отвечу на ваши вопросы по разработке
Напишите мне слово «САЙТ» в личные сообщения, и мы договоримся о времени консультации.
Поделиться статьей
  • /
  • /

Делимся актуальными кейсами, рассказываем о дизайне и маркетинге