Skip to content

feat(registry): 8341-ui を使うプロダクトに DESIGN.md と design-principles を配る @8341/design-md を追加 - #27

Merged
tkc310 merged 3 commits into
mainfrom
feat/product-design-md
Oct 24, 2026
Merged

tkc310 merged 3 commits into
mainfrom
feat/product-design-md

Conversation

@tkc310

@tkc310 tkc310 commented Oct 23, 2026

Copy link
Copy Markdown
Owner

変更内容

#26 の後にマージしてください。 このブランチは #26 の上に作っています(原則の要約に #26 の追記を含めるため)。#26 がマージされるまでは、差分に #26 のコミットも出ます。

8341-ui の部品を使うプロダクトにも、デザイン原則が DESIGN.md として届くようにしました(ADR-0019)。これまでは雛形を手でコピーし、原則は GitHub のリンクで読む前提で、プロダクト側のエージェントは原則を参照できませんでした。

使い方(プロダクト側)

npx shadcn@latest add @8341/design-md   # リポジトリ直下に DESIGN.md、docs/design-principles/ に原則の全文

プロダクト用 DESIGN.md の中身

コードから読み取れない設計の考え方だけ を書く構成にしました。トークンの値や部品の一覧はコードが正なので載せません。

  1. プロダクトの前提(誰が・何のために・ドメイン・使う場面と機器・アクセシビリティ目標)
  2. 画面領域ごとの UI の方向性とサービス種別
  3. このプロダクトで大事にすること(体験の性格・言葉づかい・画面の構成・避けること)
  4. 採用したルールと外したもの(外した必須の理由、8341-ui に足したものの「なぜ」)
  5. デザイン原則(<!-- auto:principles -->。判断の順序・ルールの強さ・UI の方向性と 15 の原則の必須)

冒頭の「エージェントへ」で、空欄は hearing.md の項目で聞いて埋めること、詳しくは docs/design-principles/ の該当節だけを読むことを指示しています。

仕組み

  • scripts/sync-product-design.ts: 原則の要約を docs/design-principles/ から生成(make design-md)。make check で鮮度を検査。15 の原則すべてで、必須の件数が元の文書と一致することを確認済み
  • packages/ui/scripts/build-registry-assets.ts(旧 build-registry-css.ts): DESIGN.md と原則も registry-assets/ に作る。原則の文書からはファクトリーの部分を除く。仮のトークンで実行し、配るファイルの一覧が registry.json と一致することを確認済み
  • generate-registry.ts: design-md(registry:file、target は ~/DESIGN.md と ~/docs/design-principles/…。~ はプロジェクトのルート)
  • design-principles/README の、配布先で切れるリンク(../ai-agents.md)を GitHub の URL にし、「プロダクトで使う」節を足した

Storybook プレビュー

なし(コンポーネントとトークンの見た目は変更なし)

完了の定義

  • PR のタイトルが Conventional Commits の形式
  • make check と make test が通る(CI で確認。sync-product-design --check・generate-registry --check・スキルとスライドの検査は手元で通過)
  • changeset を追加した(patch。レジストリに item を追加)
  • ライト / ダークの両方で見た目を確認した(見た目の変更なし)
  • キーボードで操作でき、フォーカス表示が見える(該当なし)
  • 新しい semantic カラーを足した場合 → 追加なし
  • 値や方針を変えた場合、docs/decisions/ に ADR を足した(0019)

マージ後、main の CI が shadcn build で r/design-md.json を公開します(~ の target はこのリポジトリで初めて使うため、公開後に実際の取り込みを確認するのが安全です)。

改善ループ

  • docs/improvement/log.md に 1 行追記した
  • 再発防止として追加したもの: sync-product-design.ts --check(make check)、配る原則のファイル一覧の registry.json での追従

Generated by Claude Code

tkc310 and others added 2 commits October 23, 2026 11:25
原則「削る」に、部品を組み合わせたページで適用するルールを追加した。

- 必須: 見出し・配置・まとまりで伝わることを、小見出し・補助ラベル・説明文で繰り返さない
- 必須: 項目どうしの関係(グループ・主従)はレイアウトで示し、説明文で補わない
- 必須: 削るのは重複した表示だけ。入力欄の見えるラベル(WCAG 3.3.2)と構造(1.3.1)、アイコンだけの操作の名前は残す
- 推奨: 補足文が要りそうなら、先に配置・見出し・ラベルの語を直す
- 出典カタログ(ゲシュタルトの近接・共通地域)、ルールブック 01・05、DESIGN.md の Don't に反映

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Yb44feYKDNj2ukQeT2j8Ks
…8341/design-md を追加

- レジストリ item `design-md`: リポジトリ直下に DESIGN.md、docs/design-principles/ に原則の全文を置く
- プロダクト用 DESIGN.md(templates/PRODUCT-DESIGN.md)を、コードから読み取れない考え方だけの構成に書き直した(プロダクトの前提・画面領域ごとの方向性・大事にすること・外した必須)。トークンや部品の一覧は載せない
- 原則の要約(判断の順序・ルールの強さ・方向性と各原則の必須)は scripts/sync-product-design.ts が docs/design-principles から生成し、make check で鮮度を検査
- build-registry-css.ts を build-registry-assets.ts に改名し、DESIGN.md と原則(ファクトリーの部分を除く)も registry-assets/ に作る
- README のクイックスタート、ds-build-ui、DESIGN.md、ルールブック 01、design-principles/README を更新。ADR-0019、changeset、改善ログ

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Yb44feYKDNj2ukQeT2j8Ks
@tkc310
tkc310 merged commit 31ae902 into main Oct 24, 2026
3 checks passed
@tkc310
tkc310 deleted the feat/product-design-md branch October 24, 2026 02:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant