業種と要望から最適なデザインシステムを選定し、デザイン案の提案と、 AI (Claude 等) に渡すデザインプロンプトの生成を行うツール。
- GoDD-Design-Systems カタログに接続
- 業種 / 要望 -> デザイン案提案 + プロンプト合成
GoDD SSOT における item3 (選定/合成ツール)。データフローは 「要望 -> 軸決定 (業種/カラー/ムード) -> index 取込 / レンダー -> Claude 用プロンプト合成」。
提供形態:
- 静的 Web アプリ (GitHub Pages) — 現在の主提供形態。公開 URL で誰でも利用可能 (完全クライアントサイド)。
- stdio MCP サーバ — GitHub ネイティブに MCP クライアント (Claude Desktop 等) から使う。
- HTTP MCP トランスポート —
src/mcp/http.ts/api/にコードとして残るが、 現在はどこにもデプロイしていない (旧 Vercel プロジェクトは廃止済み)。自前ホストは可能。
公開 URL: https://autodevjapan.github.io/GoDD-Matrix/
ブラウザだけで動く完全クライアントサイドの静的サイト。サーバ / サーバレス関数を 持たないため、リクエスト課金や濫用リスクがない (閲覧者自身のブラウザで動くだけ)。
- データ取得: 公開 Design-Systems の
index-summary.json(raw main)を先読みし、件数・ ファセットをindex.json無しで描画する (issue #88 / DSindex-paging/ ADR-0003)。 初回ブート中(summary 到着前)は件数を0と出さず「読み込み中… / Loading…」と表示する (issue #94)。 明細の正本は GitHub Release タグindex-pagesの{n}.json。Release asset はブラウザ CORS 非対応のため、Pages デプロイ時に同オリジンへミラー同期して取得する。シャード取得 失敗時のみ非推奨ログ付きでindex.json全件へフォールバックする。DESIGN.mdはraw.githubusercontent.comから直接 fetch。JSIC コード→業種名は Matrix にバンドル済みのsrc/axes/jsic-catalog.ts(全 1,473 件)、カラー/ムード slug の表示名はsrc/axes/taxonomy.tsを利用。 - 検索/絞り込み: 左サイドバーでカテゴリ・スタイル・業種(JSIC 大分類)・色合い(系統) を絞り込み、自由文検索と併用できる。色フィルタは具体色ではなく色合いキーで展開するため、 選択直後に 0 件やグレー偏りになりにくい。表示件数は 10〜1000 をユーザーが選択可能。 結果カードはタイトルで方向性を示し、業種タグで差分を表示する。色軸だけが違う カードは小さなスウォッチと短い色系統ラベルで区別する (issue #97。タイトルや日付フッタには色を戻さない)。
- プロンプト合成 + コピペ: 材化済みセルは公開 raw URL から DESIGN.md 本文を取得し、
index の SHA-256 とブラウザ内で照合する。仮想セルは決定論的な standalone 仕様を
ブラウザ内で合成し、
renderedとして区別する。取得不能な材化済みセルはエラーを明示し、 未取得本文をコピーまたはダウンロードさせない。取得・合成できた本文はsrc/prompt/synthesizePromptで system / user プロンプトへ組み込み、詳細画面から 結合済みプロンプトをコピーまたはダウンロードできる。合成プロンプトには遵守事項・禁止事項・ 出力前チェックを含め、実運用でそのままエージェントへ渡せる品質を目指す。 hash 不一致時は本文を保持したまま警告を表示し、リンク共有は本文の取得状態にかかわらず利用できる。 ヘッダは GoDD Matrix ブランド(ロゴ / favicon 付き)。 - 仮想カタログ (issue #71 / #92): バージョン付き正準空間(カテゴリ×スタイル×JSIC×カラー× バリアント、v3 で約 196 億セル)をクライアントで定義する。件数は軸サイズの積で厳密に求め、 安定な rank/unrank とクエリ束縛カーソルでページングする。未材化セルもローカル合成で 表示でき、材化済みと軸が一致する場合は DESIGN.md を優先取得する。 フィルタはバッジ式マルチセレクトで、アコーディオン内をスクロールして全選択肢を選べる。
- 共有可能な状態 (URL 同期): 検索・ファセット・ソート・カーソルに加え、選択セルを
?cell=<id>として URL に反映する。遠いページ番号へのジャンプも同じカーソル契約で 復元できる。「共有リンク」は現在の閲覧状態を含む URL をコピーする。 - 秘密は一切扱わない (全て公開データ・クライアントサイド)。
- Browser E2E:
pnpm test:e2eはローカル専用。GitHub Actions では実行しない。
pnpm build:web # web/dist/ に静的成果物を生成 (esbuild)
pnpm typecheck:web # web の型チェック (DOM lib)
pnpm test:e2e # Playwright (ローカル専用; CI では走らせない)
npx serve web/dist # 任意の静的サーバで配信して確認
# もしくは: python -m http.server -d web/dist 8080http://localhost:<port>/ を開くと検索・コピーを試せる (crypto.subtle の hash 検証は
https / localhost の secure context で有効)。
.github/workflows/pages.yml が main への push (web/ や src/ の変更時) と手動
dispatch で pnpm build:web → web/dist を GitHub Pages へ公開する
(configure-pages + upload-pages-artifact + deploy-pages)。
basePath はリポジトリ名 /GoDD-Matrix (資産参照は相対パス)。
- Node.js >= 20
- pnpm
pnpm install # 依存インストール
pnpm build # dist/ へビルド (tsc)
pnpm typecheck # 型チェックのみ
pnpm test # 単体テスト (vitest)
pnpm lint # Lint + format チェック (biome)
pnpm lint:fix # 自動修正src/
axes/ 軸 (業種 JSIC / カラー PCCS / ムード) の型と決定ロジック
ds/ Design-Systems 接続 (index 取込 / DESIGN.md fetch)
generator/ Generator レンダー API クライアント
prompt/ Claude 用プロンプト合成
mcp/ MCP サーバ (GitHub ネイティブ提供形態)
index.ts 公開エントリ
既存パイプライン (軸決定 → index → DESIGN.md 解決 → プロンプト合成) を Model Context Protocol の stdio サーバとして公開する。
pnpm build
GODD_DS_INDEX=./path/to/index.json node dist/mcp/main.js # bin: godd-matrix-mcp| 変数 | 必須 | 説明 |
|---|---|---|
GODD_DS_INDEX |
○ | Design-Systems index.json の取込元 (ローカルパス / file: / http(s) URL)。 |
GODD_DS_BASE |
DESIGN.md 本文の解決 base。未指定なら GODD_DS_INDEX の所在から推定。 |
| tool | 概要 |
|---|---|
godd_matrix_compose |
要望 (業種/カラー/ムード) → 確定軸 → DESIGN.md 解決 → Claude 用プロンプト (system/user) 合成。 |
godd_matrix_decide_axes |
要望 → 各軸 (JSIC/カラー/ムード) の解決 (確定 context / 未解決軸 / 候補)。副作用なし。 |
godd_matrix_select_cells |
要望 → 確定軸 → index に一致する候補セル。 |
各ツールは共通入力 { industry: string; color?: string; mood?: string; tags?: string[] } を受け取る。
未解決軸がある場合、compose はプロンプトを合成せず候補を提示して isError を返す。
注記: この HTTP トランスポートはコードとして残しているが、現在はどこにも デプロイしていない。旧 Vercel プロジェクトは廃止済みで、デプロイ用ワークフロー (
deploy.yml) と関連 GitHub Secrets も撤去済み。現在稼働している公開提供形態は GitHub Pages の静的 Web アプリのみ。以下は自前ホスト (任意の Node ランタイム / 関数) する場合の参考であり、vercel.json/api/はその足場として残置している。
stdio エントリ (dist/mcp/main.js) に加え、同じ MCP サーバ (3 ツール) を
Streamable HTTP トランスポートで公開できる。
URL でホストできるため、任意のサーバレス関数 / Node ランタイムで配信可能。
GET /health— ヘルスチェック (200, 認証不要)。POST /mcp— MCP Streamable HTTP エンドポイント。stateless モード (セッション非永続) で、リクエスト毎に MCP サーバを生成する。- 認証:
x-api-keyヘッダ (期待値は envGODD_MCP_API_KEY)。未設定なら認証無効。
配信は api/mcp.ts / api/health.ts (Node Function) が共有ハンドラ
(src/mcp/http.ts) を呼ぶ。関数ランタイムが (req, res) で呼ぶ場合は
src/mcp/node-adapter.ts が Web 標準 Request / Response へ橋渡しする。
| 変数 | 必須 | 説明 |
|---|---|---|
GODD_MCP_API_KEY |
POST /mcp の x-api-key 期待値。未設定なら認証無効。 |
|
GODD_MCP_MAX_BODY_BYTES |
POST /mcp のリクエストボディ上限 (bytes)。既定 1 MiB。超過は 413。 |
|
GENERATOR_RENDER_URL |
未材化セルの Generator レンダー API ベース URL。未設定なら未材化は unavailable。 |
|
GENERATOR_RENDER_API_KEY |
同 API の認証キー。GENERATOR_RENDER_URL と両方揃った場合のみ有効。 |
販売者は AutoDevJapan、問い合わせ先は contact@autodevjapan.com を保持する。 氏名・所在地・電話番号の正式情報をこのリポジトリに複製せず、常時掲載しない。 既存の法的ページ・購入前条件欄、または法的ページのない公開サイトの共通フッターから 事業者情報の開示請求へ案内する。 メールでの開示請求も受け付ける。請求処理と正式原本は共通の公式サイトが管理する。 この変更は表示導線のみであり、本番POSTの受入、実課金、販売開始を完了扱いしない。 親ToDo2174が正式原本と本番POSTを受け入れるまで、導線のPRは下書きで保持する。