## 背景

[English](../en-US/ui-spec-modification-notes.md) | [中文](../zh-CN/ui-spec-modification-notes.md) | [日本語](../ja-JP/ui-spec-modification-notes.md)

プロトタイプ（Web + Mobile）が拡大すると、ページ数と種類が増えます。UI 規約が統一されていないと、次の問題が起きやすくなります：

- 似たページ間でレイアウトが不統一（テーブル/フォーム/詳細）
- ステータスの色や文言が不統一
- Web と Mobile の見た目・表現が分断される
- 操作パターンが不統一（作成導線、Drawer/Modal の使い分けなど）

これを防ぐため、プロトタイプ生成は編集可能な UI 規約ファイル `/prototype_ui_convention.md` によって制約されます。

## 変更点

- プロジェクトレベルの制約ファイル `/prototype_ui_convention.md` を追加（`/scheme.yaml` と同じ階層）
- `/vspec:verify` がプロトタイプを生成/更新する際：
  - `/prototype_ui_convention.md` がなければ、まずテンプレートを生成（既存ファイルは上書きしない）
  - 以後の UI 生成は `/prototype_ui_convention.md` に従う
  - より厳格な既存ルール（例：`/docs/current/ui_spec.md`）があれば `/prototype_ui_convention.md` に統合し、統合後のファイルを最終ソースにする

## UI 規約の変更方法

- 対象プロジェクトのルートで `/prototype_ui_convention.md` を編集
- 実装詳細よりも規約を更新する：
  - 色/ステータスの対応表
  - テーブル/フォーム/詳細の共通構造
  - Drawer/Modal の利用ルール
  - タイポグラフィと余白（Web/Mobile）
  - 文言とフィードバック（成功/失敗/権限/空/エラー状態）
- 変更後に `/vspec:verify` を再実行して、生成/更新ページを規約に揃える

## 非推奨

- 規約をページごとの例外集にしない（全体の一貫性が崩れる）
- プロジェクトの選定スタックにない UI ライブラリを導入しない
- ページ単位で色/サイズを大量に固定しない（少数のトークンと構造ルールを優先）
