thumbnail
Figma to Code 파이프라인 구축
Developer Tool
2025.06.21.

🚀 Figma → 코드 파이프라인 자동화 구축기

🧩 프로젝트 개요

  • 프로젝트명: Converter‑Figma
  • 목표: Figma에서 바로 JSON/XML로 디자인 데이터를 추출한 뒤, CI/CD 파이프라인을 통해 자동 배포까지 연결하는 엔드 투 엔드 자동화 시스템
  • 사용 기술:
    • Figma API + Node.js 스크립트
    • 구조화된 JSON → .clx / .xml 변환기 (CLEOPATRA 플랫폼용)
    • GitHub Actions 기반 CI/CD
    • 코드 정렬/포맷터 (Prettier / custom script)

1️⃣ Figma 데이터 추출 자동화

  • Figma API 활용 스크립트 작성
    • export 대상은 특정 Frame 및 컴포넌트
    • JSON 형식으로 저장 → 이후 XML 변환 모듈로 파이프라인 연결
  • 난관:
    • 디자인 스펙 누락 → 개발 중 예기치 않은 파싱 에러 발생
    • 해결: API 호출 전 스펙 유효성 검사 로직 추가, 누락 항목 감지 시 Slack/Webhook으로 알림

2️⃣ 중간 표현 (IR: Intermediate Representation)

  • Figma에서 추출된 JSON을 어떻게 변환해야 할까?
    • 커스텀 구조(AltNode) 설계 → 부모-자식 구조 재구성
    • 레이아웃 최적화:
      • auto-layout, 고정폭·반응형 처리가 핵심
      • JSON 내 레이아웃 키 재배치 및 중복 속성 제거 스크립트 적용

3️⃣ JSON → XML(.clx) 변환기 구성

  • **JSON → .clx/.xml**로 변환 담당 모듈 구현
  • 난관:
    • 속성 누락 및 순서 불일치 → CLEOPATRA 파싱 실패
    • 결실: 변환 후 자동 검사(Validator) 도입 + CI 워크플로에 통합 → 불일치 시 PR 실패 처리
// 예시: 자동 검사 스니펫
const xmlStr = generateCLX(altNodes);
if (!validateXML(xmlStr)) {
  throw new Error('⛔ CLX validation failed — 자동 배포 중단');
}

4️⃣ CI/CD 워크플로

  • GitHub Actions 설정:
on:
  push:
    paths:
      - 'figma/**'
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Figma 데이터 fetch & 변환
        run: npm run fetch-and-convert
      - name: XML 검사
        run: npm run validate-xml
      - name: 배포
        run: npm run deploy-to-cleopatra
  • Auto-rollback: 변환 실패 시 워크플로 중단 + Slack/Email Notification

5️⃣ 코드 정렬 / 스타일 일관성

  • Prettier 기반 XML 포맷 터 → 정렬 이슈 최소화
  • 문제 해결:
    • 포맷팅 규칙 미흡으로 발생하는 XML diff 과도 → CI 검사에 git diff --exit-code 추가

6️⃣ 🎯 실전 적용 피드백

  • 효과:
    • Figma 디자인 → 코드 반영까지 걸리는 시간 10분 → 1분으로 단축
    • 수동 누락 실수 ↓, 린트 에러 및 형식 문제 사전 차단
  • 아쉬움 & 개선점:
    • 복잡한 design token/variable 관리까지 확대 예정
    • Workflow 안정성 보강 위한 테스트 케이스 추가 예정

📝 코드·스크린샷·CI 예시 준비 방법

항목 설명
코드 스니펫 주요 파이프라인, CLI 스크립트, XML 변환 코드
CI 설정 GitHub Actions 워크플로 전체 YAML
스크린샷 Figma 발췌 예시, CI 실행 로그 캡처
결과물 생성된 .clx 파일 비교(전/후 diff)

✍️ 마무리 코멘트

이 프로젝트는 디자인 → 코드 배포까지 한 줄 자동화라는 꿈을 실제로 구현한 경험입니다.
“자동화할 수 있는 단계는 모두 코드로” 라는 원칙 아래, 적중한 스펙 검증·포맷 자동화·CI 차단 로직이 핵심입니다.
이제는 디자인 한 번 바뀌면 코드가 바로 적용되는 시대 입니다. 😉

MCP: Model Context Protocol
MCP: Model Context Protocol
2024.11.20.
Developer Tool
AI 모델과 도구 간의 표준화된 통신 프로토콜
Vibe Coding: 개발 생산성 향상 도구
Vibe Coding: 개발 생산성 향상 도구
2024.11.20.
Developer Tool
Vibe Coding을 활용한 개발 워크플로우 최적화
CLEOPATRA XML 구조와 코드 자동화 도구 구축기
CLEOPATRA XML 구조와 코드 자동화 도구 구축기
2025.06.25.
ETC
Figma → XML 자동 변환 → 정합성 검증 → 배포 자동화
🔒 Web Locks API 완벽 가이드: 브라우저 다중 탭 동시성 제어와 리더 선출
🔒 Web Locks API 완벽 가이드: 브라우저 다중 탭 동시성 제어와 리더 선출
2026.10.17.
Web
탭이 10개 열려도 데이터 꼬임 없는 브라우저 락

Thank You for Visiting My Blog, Have a Good Day 🌿

© 2024 Developer LIM.