マルチブランドFigmaトークン連携 2025 — CSS変数と配信をCIで同期する
公開: 2025年10月5日 · 読了目安: 6 分 · 著者: Unified Image Tools 編集部
マルチブランドでデザイントークンを管理する企業では、FigmaのテーマとコードベースのCSS変数が乖離しがちです。ブランドリニューアルや季節キャンペーンの度に tokens.json
を手作業で編集すると、反映漏れやアクセシビリティ違反が発生し、エンジニア・デザイナー双方の再作業が膨らみます。本稿では、Figma Tokens・Style Dictionary・Next.jsを組み合わせ、CI/CDで整合性を担保するワークフローを紹介します。
TL;DR
- Figma APIとDesign Tokensプラグインでブランド別のモードを抽出し、
figma/<brand>.json
を生成する。 - Hex→CSSトークン変換 を利用して
:root
とdata-theme
切り替え用のCSS変数を自動生成し、TypeScriptの型定義まで一括出力する。 - GitHub Actionsで
tokens:pull → lint → contrast-check → build → deploy
の順にCIを構築し、Palette Balancer APIでテーマごとのWCAG比率を検証する。 - Pipeline Orchestrator と連携し、ブランドごとの配信環境(CDN/エッジ)へ差分デプロイする。
- ダッシュボードで色差 (ΔE)、LCP、テーマ切替率をモニタリングし、ブランドガイドラインの実効性を定量化する。
1. 情報設計とリポジトリ構成
1.1 データモデル
まずはトークンを「コア」「ブランド」「コンポーネント」の3層に分け、抽象度の高い順に継承させます。
レイヤー | 説明 | 主な属性 | 備考 |
---|---|---|---|
Core | タイポ・スペーシング等、全ブランド共通の基準 | font.family, spacing.scale, radius.scale | リポジトリ直下の tokens/core.json |
Brand | ブランド固有の色・シャドウ・ロゴ | color.primary, elevation.shadow, logo.assets | tokens/brands/<brand>.json に配置 |
Component | DSコンポーネント単位の派生値 | button.primary.background, card.border | tokens/components/<component>.json として管理 |
1.2 リポジトリのディレクトリ例
/design-system
├─ tokens/
│ ├─ core.json
│ ├─ brands/
│ │ ├─ default.json
│ │ ├─ premium.json
│ │ └─ youth.json
│ └─ components/
│ ├─ button.json
│ └─ input.json
├─ scripts/
│ ├─ pull-figma.mjs
│ ├─ build-css.mjs
│ └─ validate-contrast.mjs
└─ packages/
├─ tokens-css/
└─ tokens-ts/
pull-figma.mjs
はFigma APIを叩いてブランドモードの差分を取得し、git diff
を出力してレビュアーが視認できるようにします。build-css.mjs
では Hex→CSSトークン変換 のAPIを利用し、tokens-css
パッケージに:root
用とdata-theme
用のCSS変数を出力します。- TypeScriptの型は
tokens-ts
に生成し、Next.jsアプリでimport type { ThemeToken } from '@uit/tokens-ts';
のように型安全なアクセスを提供します。
2. CI/CD パイプライン構築
2.1 GitHub Actionsの構成
以下はActionsワークフローの例です。
name: Tokens Sync
on:
workflow_dispatch:
schedule:
- cron: '0 */6 * * *'
push:
paths:
- 'tokens/**'
- 'scripts/**'
jobs:
sync:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm ci
- run: node scripts/pull-figma.mjs
- run: npm run lint:tokens
- run: node scripts/validate-contrast.mjs
- run: node scripts/build-css.mjs
- run: npm run test:visual
- run: npm run build
- run: npm run deploy
env:
CDN_TOKEN: ${{ secrets.CDN_TOKEN }}
lint:tokens
では JSON Schema を使って必須キーを検証します。validate-contrast.mjs
は Palette Balancer のAPIを用い、ブランドモード別に3:1 / 4.5:1 ラベルを付けてレポート出力します。test:visual
は Storybook + Playwright でテーマ切り替えのスクリーンショット差分を比較します。
2.2 CI結果の通知
- 成功時は
tokens-sync
Slackチャンネルにdiff summary
を投稿し、Excel等での手入力を介さず意思決定できます。 - 失敗時は
Palette Balancer
の結果を添付し、コントラストが不足するトークンを自動ハイライトします。
3. 配信パイプラインとキャッシュ戦略
3.1 Pipeline Orchestrator の活用
Pipeline Orchestrator を利用すると、ブランド別の配信先CDNに差分だけを転送できます。
ブランド | ターゲット環境 | 更新トリガー | キャッシュ戦略 |
---|---|---|---|
Default | Global CDN | 毎日午前4時(JST) | immutable + stale-while-revalidate(86400) |
Premium | エッジKV + EUリージョン | 手動 + キャンペーン開始30分前 | 短期キャッシュ(600秒) + Prefetch |
Youth | APAC CDN + PWA | アプリバージョン更新時 | Service Workerキャッシュ + バージョンハッシュ |
- CDN転送後は
pwa-update
イベントを発火し、Service Workerが新トークンを取得できるようにします。 - Next.jsの
app/layout.tsx
でdata-theme
をサーバーサイドレンダリングし、初回描画時から正しいブランドテーマを表示させます。詳細は Web to Print Workflow 2025 — ブランド配布と品質保証 の配信章を参照してください。
4. ガバナンスと可視化
4.1 KPIダッシュボード
LookerまたはGrafanaで以下のメトリクスを可視化します。
- ΔE差分: ブランド更新ごとの色差(Palette Balancer出力)。
- LCP(P75): テーマ切り替え時の描画遅延を監視。
- Theme Toggle Rate: ユーザーがダーク/ライトを切り替えた比率。
- Deployment Frequency: トークン更新の頻度と成功率。
4.2 レビュー体制
- 毎週の「Design Ops Sync」でトークン差分を確認し、逸脱があれば直ちにFigma側へフィードバックします。
- 四半期ごとに
tokens-audit.md
を更新し、ブランドごとの投資配分と改善指標を整理します。
5. ケーススタディ
大手EC企業での導入では以下の成果がありました。
- トークン同期にかかる時間が平均5.5時間 → 1.2時間に短縮。
- WCAG違反カラーの検出件数が月18件 → 1件に激減。
- ブランド別テーマ切り替え時のLCP(P75)が3.1秒 → 2.2秒に改善。
指標 | 導入前 | 導入後 | 改善率 |
---|---|---|---|
同期リードタイム | 5.5時間 | 1.2時間 | -78% |
手動修正差分 | 42件/月 | 6件/月 | -86% |
ブランドオーナー承認待ち時間 | 2.3日 | 0.8日 | -65% |
まとめ
マルチブランドのデザイントークン運用は、Figmaとコードの“二重管理”をなくし、CI/CDに統合することで初めてスケールします。Hex→CSSトークン や Palette Balancer の自動検証を組み合わせれば、アクセシビリティやパフォーマンスの劣化を防ぎながら高速にブランド展開が可能です。まずはFigmaのモード構造を棚卸し、tokens:pull
ワークフローを試すところから始めてください。
関連ツール
関連記事
AIラインベクターゲートウェイ 2025 — イラストレーターのための高忠実ライン抽出とベクター化SOP
アナログ原稿から最終ベクターアセットまでを高精度に統合するワークフローを解説。ライン抽出AI、ベクター整形、自動QA、チーム配信を一体化した最新のIllustrator向け手順。
デザインコード変数同期 2025 — Figma変数とDesign Token CIで破綻を防ぐ
Figma変数とコードトークンの差分を1日で解決するための設計。変数管理のバージョン戦略、CIステップ、リリースチェックリストを提示し、デザインコーダーが品質を維持したまま高速に反映できるワークフローを解説。
AI配色ガバナンス 2025 — Webデザイナーのためのプロダクション色管理フレームワーク
AI支援時代のWebデザインで配色の一貫性とアクセシビリティを担保するためのプロセスとツール連携。トークン設計、ICC変換、レビュー自動化まで網羅。
AIデザインハンドオフQA 2025 — Figmaと実装レビューを束ねる自動化レール
Figma生成のデザイン更新をAIで評価し、コードレビューと配信監査を同時進行させるパイプラインを構築。プロンプト運用、ガバナンス、監査証跡の作り方を解説します。
デザインシステム継続監査 2025 — FigmaとStorybookを反復同期させる運用レシピ
FigmaライブラリとStorybookコンポーネントを崩さずに同期させるための監査パイプライン。差分検出、アクセシビリティ指標、リリース承認フローを解説。
レスポンシブアイコン制作 2025 — スプリント設計と自動検証でUI破綻をゼロにする
マルチプラットフォームに対応するアイコン制作を、デザインスプリントと自動QAで安定させる実務ノウハウ。Figma運用、コンポーネント設計、描画テスト、配信パイプラインまで一気通貫で解説。