Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

GoDD-Matrix

業種と要望から最適なデザインシステムを選定し、デザイン案の提案と、 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 プロジェクトは廃止済み)。自前ホストは可能。

検索&コピペ Web ページ (GitHub Pages, issue #28)

公開 URL: https://autodevjapan.github.io/GoDD-Matrix/

ブラウザだけで動く完全クライアントサイドの静的サイト。サーバ / サーバレス関数を 持たないため、リクエスト課金や濫用リスクがない (閲覧者自身のブラウザで動くだけ)。

  • データ取得: 公開 Design-Systems の index-summary.json(raw main)を先読みし、件数・ ファセットを index.json 無しで描画する (issue #88 / DS index-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 8080

http://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     公開エントリ

MCP サーバ (GitHub ネイティブ提供形態)

既存パイプライン (軸決定 → 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 の所在から推定。

公開ツール (tools/list)

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 トランスポート (issue #8, コードのみ・未デプロイ)

注記: この 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 ヘッダ (期待値は env GODD_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 へ橋渡しする。

追加の環境変数 (HTTP)

変数 必須 説明
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 と両方揃った場合のみ有効。

事業者情報の開示請求(2026-10-10)

販売者は AutoDevJapan、問い合わせ先は contact@autodevjapan.com を保持する。 氏名・所在地・電話番号の正式情報をこのリポジトリに複製せず、常時掲載しない。 既存の法的ページ・購入前条件欄、または法的ページのない公開サイトの共通フッターから 事業者情報の開示請求へ案内する。 メールでの開示請求も受け付ける。請求処理と正式原本は共通の公式サイトが管理する。 この変更は表示導線のみであり、本番POSTの受入、実課金、販売開始を完了扱いしない。 親ToDo2174が正式原本と本番POSTを受け入れるまで、導線のPRは下書きで保持する。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages