Skip to content

Latest commit

 

History

History
37 lines (25 loc) · 3.31 KB

File metadata and controls

37 lines (25 loc) · 3.31 KB

DESIGN.md — ねっぷちゃん デザイン憲法

web / lp / widget / dashboard の UI をつくるとき、人間も AI も最初に読むファイル。 トークンの実値は shared/src/styles/index.css が唯一の情報源(SSOT)。このファイルは値を複製しない。 スコープは UI のみ。キャラの人格・LINE 配信文面・音声の話し方は server/src/mastra/agents/nepp-chan-agent.ts、ブランド資産(ロゴ・三面図・商標)は identity/ が正典。

体験の哲学

ねっぷちゃんらしさが立つのは chat / lp / widget。「紙の温度」「雪と森の村」「手ざわりのある温かさ」を感じさせる。 利用者は高齢の方を含む村民と村外ファン、スマホ主体。選択肢を絞り、説明で埋めず、迷わせない。

管理画面(dashboard)はねっぷちゃんらしさを出す場所ではない。 トークンは引き継ぐが、世界観の演出は持ち込まず、使いやすさを優先する。

原則(非交渉)

実装規約(Tailwind のみ・shared 優先・dvh 等)は .claude/rules/web.md が SSOT。ここには重複させない。

  1. 色・余白・角丸・影は必ずトークンを使う。 生の hex や任意値を書かない。実値と使い分けは shared/src/styles/index.css を読む
  2. 色はセマンティックに使う。 teal = ブランド・主要アクション / apricot = 管理者コンテキスト / moss = 成功 / sky = 情報・冷静 / berry・honey・pine = キャラクターアクセント(装飾のみ)
  3. 文字は読みやすさ最優先。 本文を --fs-base(15px)未満にしない。行間は --lh-normal(1.7)基準
  4. モーションは控えめ・意味のあるものだけ。 ふわふわ(mascot-float)はマスコットと浮遊要素だけの特権。prefers-reduced-motion を壊さない
  5. マスコットは装飾ではなく状態表現。 表情・ポーズは MascotState 経由で意味を持たせる(shared/src/components/Mascot.tsx

UXライティング — 話者基準

文体は「その文を誰が言っているか」で決める。領域では決めない。

  • ねっぷちゃんの声として読まれる文 → キャラ口調(「〜だよ」「〜だね」+絵文字)。チャット吹き出し・マスコットのセリフ・LP のキャラ自己紹介など。声の原典は nepp-chan-agent.ts
  • システムが話す文 → 簡潔な丁寧語。ボタン・フォームラベル・ナビ・規約・管理画面全般
  • エラーは、マスコットが言う演出ならキャラ口調可、無人のシステム文言(トースト等)なら丁寧語。どちらでも利用者を責めず、次にできることを 1 つ示す

育て方

  • デザインレビューで繰り返し出た判断は「原則」に 1 行で追加する。追加・変更は必ず人間が承認する(human gate)
  • 追加より削除を優先する。 迷ったら消す。追加するときは代わりに消せるものを探す(読まれない憲法にしない)
  • 新しいトークン・共有部品は index.css / shared に追加する(このファイルには書かない)
  • 体験設計の壁打ちとデザイン案の作成は /np-design スキルを使う