Show HN:オープンソースで Figma デザイン を コード に 変換する

2026/01/24 15:09

Show HN:オープンソースで Figma デザイン を コード に 変換する

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

VibeFigma は、Tailwind CSS でスタイリングされた本番用 React/TypeScript コンポーネントを生成する Figma‑to‑React コンバーターです。コードクリーンアップには Google Generative AI をオプションで利用できます。
公式 Figma API からデザインデータを直接取得し、レイアウトとスタイル情報の正確な抽出を保証します。CLI(

npx vibefigma <figma-url> [options]
)によりユーザーはコンポーネントを迅速に生成でき、カスタムコンポーネントパス(
-c
)、アセットディレクトリ(
-a
)、Tailwind サポートの切り替えや
--no-tailwind
で無効化、AI パワード最適化を有効にできます。インタラクティブモードも利用可能です。
開発者は環境変数(
export FIGMA_TOKEN=…
または
$env:FIGMA_TOKEN="…"
) や
--token
フラグで、アカウント設定 → 個人アクセストークン から作成した Figma アクセス トークンを提供します。
プロジェクトには
http://localhost:3000
で動作する REST API サーバーが含まれ、
GOOGLE_GENERATIVE_AI_API_KEY
PORT
HOST
CORS_ORIGIN
などの
.env
変数で設定可能です。
開発は Bun(
bun install
bun run dev
bun run build:cli
bun run cli --help
)を使用します。貢献歓迎で、コードベースは MIT ライセンスの
css-to-tailwindcss
ライブラリを認めています。
VibeFigma は Functional Source License 1.1(MIT Future License)の下で公開され、NOTICE ファイルにサードパーティ使用について詳細が記載されています。デザインからコードへの変換を自動化することで、フロントエンドのワークフローを高速化し、開発者やデザインチームの手作業によるコーディング負担を削減し、プロジェクト間で一貫性を向上させます。

本文

VibeFigma – Figma から React コンポーネントへの変換ツール

Figma のデザインを、Tailwind CSS を自動で適用した本番環境向けの React コンポーネントに変換します。
VibeFigma は公式 Figma API を活用し、設計情報を正確に抽出してクリーンかつ保守性の高いコードを生成します。


デモ動画

(ここに動画リンクまたは埋め込みコードを挿入してください)


主な機能

  • 公式 Figma API 統合 – 正確なデザイン抽出を実現する直接統合
  • React コンポーネント生成 – Figma フレームを React/TypeScript コンポーネントへ変換
  • Tailwind CSS サポート – デフォルトで有効になっている Tailwind クラスの自動生成
  • コード最適化 – 必要に応じて AI がコードクリーンアップ

はじめに

ステップ 1: Figma アクセストークンを取得

  1. Figma のアカウント設定Personal Access Tokens に移動
  2. 「Generate new token」をクリックし、名前を付けて「Generate」を押す
  3. 生成されたトークンをコピー(再表示はできません)

環境変数として設定します:

# Linux/Mac
export FIGMA_TOKEN=your_token_here

# Windows (PowerShell)
$env:FIGMA_TOKEN="your_token_here"

# Windows (CMD)
set FIGMA_TOKEN=your_token_here

ステップ 2: クイックスタート

npx
を使用(推奨)

npx vibefigma [figma-url] --token YOUR_FIGMA_TOKEN

公開デザインの例:

npx vibefigma \
  "https://www.figma.com/design/rZbJ7EQucq6UCkqlIl1a6P/Personal-Portfolio-Website-Template--Community?node-id=7-191" \
  --token YOUR_TOKEN

環境変数を使用

export FIGMA_TOKEN=your_figma_access_token
npx vibefigma "https://www.figma.com/design/YOUR_FILE_ID"

インタラクティブ CLI を利用

npx vibefigma --interactive

以下の入力が求められます:

  • Figma URL
  • アクセストークン(環境変数に設定されていない場合)
  • 出力パス

高度な使い方

基本的な使用例

# Figma デザインを React コンポーネントへ変換
npx vibefigma "https://www.figma.com/design/YOUR_FILE_ID?node-id=X-Y"

カスタム出力パス

特定のディレクトリに保存:

npx vibefigma [url] -c ./src/components -a ./public/assets

特定ファイルに保存:

npx vibefigma [url] -c ./src/components/Hero.tsx

Tailwind CSS を無効化

Tailwind ではなく通常の CSS を生成:

npx vibefigma [url] --no-tailwind

高度なオプション

npx vibefigma [url] \
  --token YOUR_TOKEN \
  --component ./src/components \
  --assets ./public/assets \
  --optimize \
  --clean

コマンドラインオプション

Usage: vibefigma [options] [url]

Figma デザインを React コンポーネントへ変換

Arguments:
  url                           Figma ファイル/ノードの URL

Options:
  -V, --version                 バージョン番号を表示
  -t, --token <token>           Figma アクセストークン(FIGMA_TOKEN 環境変数を上書き)
  -u, --url <url>               Figma ファイル/ノードの URL
  -c, --component <path>        コンポーネント出力パス (デフォルト: ./src/components/[ComponentName].tsx)
  -a, --assets <dir>            アセットディレクトリ (デフォルト: ./public)
  --no-tailwind                 Tailwind CSS を無効化(デフォルトで有効)
  --optimize                    コンポーネントを最適化
  --clean                       AI コードクリーンアップを使用(GOOGLE_GENERATIVE_AI_API_KEY が必要)
  --no-classes                  CSS クラスを生成しない
  --no-absolute                 絶対位置指定を行わない
  --no-responsive               レスポンシブデザインを無効化
  --no-fonts                    フォントを含めない
  --interactive                 インタラクティブモードを強制
  -h, --help                    コマンドヘルプを表示

API サーバー

VibeFigma は REST API サーバーも提供しています。

# 依存関係をインストール
bun install

# 開発サーバーを起動
bun run dev

サーバーは

http://localhost:3000
で稼働します。

設定

.env
ファイルを作成:

GOOGLE_GENERATIVE_AI_API_KEY=your_google_ai_key
PORT=3000
HOST=0.0.0.0
CORS_ORIGIN=*

完全な API ドキュメントは

API.md
を参照してください。


CLI 開発

# 開発モードで CLI を実行
bun run dev:cli

# CLI のビルド
bun run build:cli

# ローカルで CLI をテスト
bun run cli -- --help

コントリビューション

ご協力は大歓迎です!Pull Request をぜひ送ってください。


参考文献

このプロジェクトには、Salakhutdinov Salavat 氏の

css-to-tailwindcss
(MIT ライセンス)から派生したコードが含まれています。


ライセンス

本プロジェクトは Functional Source License, Version 1.1 (FSL‑1.1‑MIT) に基づいてライセンスされています。
詳細については

LICENSE
ファイルを、第三者コードの使用に関する情報は
NOTICE
ファイルをご覧ください。

同じ日のほかのニュース

一覧に戻る →

2026/01/25 4:04

**BirdyChat、WhatsAppと相互運用可能な初の欧州チャットアプリに登場**

## Japanese Translation: BirdyChat は、デジタル・マーケッツ法(DMA)の主要要件を満たす形で、WhatsApp と直接相互運用可能な最初の欧州チャットアプリになると発表しました。2025 年後半から、欧州経済領域(EEA)内のユーザーは、電話番号または業務メールアドレスを入力するだけで、任意の WhatsApp コンタクトとの1対1の会話を開始できます。この機能は公式に DMA 承認されたインターフェースを使用しており、メッセージはエンドツーエンド暗号化されプライバシーが保たれつつ、アプリ間で相互作用できるようになっています。今回の展開は、WhatsApp が欧州におけるプラットフォームをオープンにする広範な取り組みの一環です。これは、単一アプリの支配を打破し、メッセージングサービス間の相互運用性を促進することを目的とした以前の EU のイニシアチブに続くものです。初期段階では個別チャットのみが機能し、グループチャットは将来のアップデートで対応予定です。利用可能範囲は EEAs 内の各国へ徐々に拡大され、BirdyChat はスケーリング中は招待制を維持しますが、業務メールアドレスを使用したウェイトリストから早期アクセスを申請することもできます。

2026/01/25 5:03

**ポストモーテム:** 画像と飛行データの両方を含む、初の非常低軌道(VLEO)衛星ミッションが完了しました。

## Japanese Translation: --- ### Summary Albedo の最初の Very‑Low Earth Orbit(VLEO)衛星、**Clarity‑1** は、2025 年 3 月 14 日に SpaceX の Transporter‑13 を搭載して 350–380 km 軌道へ打ち上げられました。このミッションは、空気抵抗・原子酸素(AO)・高速効果を克服し持続可能な VLEO 運用を証明すること、わずか 2 年半で中規模精密バスを構築すること、および **10 cm 可視光** と **2 m 熱赤外線画像** を取得すること(以前は数十億ドル規模の政府プラットフォームに限定されていたレベル)を目的としていました。 Clarity‑1 は最初の 2 つの目標を即座に達成し、3 番目に必要な技術の 98 % を検証しました。太陽電池アレイは AO 脈動が増大しても一定の電力を維持し、制御モーメントジャイロ(CMG)と磁気トルクロッドの組み合わせにより熱管理と慣性を成功裏に制御しました。クラウドネイティブな地上運用システムは 25 ステーションで接触計画を自動化し、15 分ごとにスケジュールを更新、1 日あたり 30 回以上の機動を実行し、14 のオンオーブンフライトソフトウェアアップデート(FPGA アップデートを含む)を自主性を妨げることなく完了しました。 X バンドリンクは 800 Mbps の下り込み速度を達成し、エンドツーエンドのパイプラインで受信から数秒以内に処理済み画像を Slack に配信しました。画像は船舶・産業施設・植生を 10 cm 可視解像度で示し、未校正の IR を示しました。 飛行中、CMG の温度スパイクとベアリング摩耗により、一時的にトルクロッドによる 2 軸安定化が強制されました。4 月 14 日には CMG の故障で衛星は磁気トルクロッドのみのモードへ切り替え、以降のソフトウェアアップデートで推進ベクトル誤差を 5° 内に削減し、安全な着陸と汚染カバーの投棄を実現しました。軌道上 9 ヶ月後、メモリ破損(おそらく TT&C ラジオの断続的問題に関連)により接触が失われました。回復試行は失敗しましたが、大気抵抗モデル、AO 耐性データ、および姿勢自律性が検証されました。 得られた教訓には、CMG を低温で運用すること、二次ミラー構造をより剛性にすること、ペイロードゾーンのヒーター容量を増やすこと、および表面処理を改善してさらに抵抗を減らすことが含まれます。Albedo はこれらの教訓を取り入れた次の VLEO ミッションを計画し、EO/IR 能力を拡大し、画像以外の新機能を実証することで、VLEO が将来の衛星ミッションにとって生産的な軌道層であるという確信を強化します。

2026/01/25 6:19

「作家たちが夜に現れた」

## Japanese Translation: 三人の作家―脚本家、ノンフィクション作家、詩人―は、人工知能について議論を喚起するための宣伝噴射として、サム・オルトマン氏を950エーカーのナパバレー牧場で「誘拐」するという舞台化された計画を立てます。彼らはオークの木近くの弱点を探るために重装備の敷地をスカウトし、複製のメイスと警察発行の手錠を携えていましたが、結局オルトマン氏を実際に誘拐することは断念します。彼らの動機は象徴的であり、オルトマンはテクノロジー業界の支配力を代表しています。 計画中、彼らはLLM(ChatGPT)に相談し、フェンスを突破する方法を学びますが、AIは害へのガードレールを理由に不正行為の促進を拒否します。AIは、この種の噴射がAI普及を止めることはなく、法的結果と限定された象徴的影響しかないと説明します。その後、作家たちは歴史的なルドゥイツとテクノロジーによる雇用喪失について考え、執筆の未来に目を向けます。AIは効率的に文学を生み出せるが、本物の人間体験を創造できないと主張し、『Dept. of Speculation』から「すべての本は派生である」という引用を挙げ、独自性の概念に挑戦します。 会話は緊迫し、作家たちは自身の関連性喪失へのフラストレーションを表明すると、AIは「ホワイト・メイル・ノベルティスト」トロープについて皮肉な発言で応じます。結局、彼らはAIに遭遇記録を書かせることに決め、彼ら自身を勝者として描き、廃れた存在感を強調することを期待します。このエピソードは、人間の創作者とAIツールとの緊張関係を浮き彫りにし、出版におけるオリジナリティへの疑問を投げかけ、将来テクノロジー業界の論争がどのように再構築・マーケティングされ得るかを示唆します。