コントリビューション
Tanrei が外部からの貢献を受け付けない理由、バグの報告と質問の方法、規則のありか。
外部からの貢献は受け付けていません
リポジトリは
github.com/chnotchy/tanrei で公開しています。Tanrei がどう作られているかを、誰でも読めるようにするためです。変更はすべてメンテナーが行います。外部からのプルリクエストはマージせずに閉じ、新しいコンポーネントやトークンの提案も受け付けません。理由はサプライチェーンの安全です。Tanrei はほかの人のプロダクトの中で動くコードであり、外部からの変更は、メンテナーが書いていないコードがそのプロダクトに届く経路になります。昨今のセキュリティの情勢を鑑みて、このプロジェクトはその危険を負いません。バグの報告と質問は、
Issue を開いてください。セキュリティの問題は Issue には書かず、リポジトリの SECURITY.md に書かれた方法で非公開に報告してください。
リポジトリのルートにある AGENTS.md が、人間であれ AI であれ、リポジトリを変更する者にとっての正式なガイドです。短い文書なので、最初に読んでおくと時間の節約になります。各パッケージやソースディレクトリには、ローカルな規則を書いた入れ子の AGENTS.md を置けます。最も近いファイルが適用されますが、どのファイルもルートの規則を弱めることはできません。詳しい版は、ルートの CONTRIBUTING.md です。
より長い資料は、リポジトリの docs/ ディレクトリにあります。アーキテクチャの概要と、誰が何を決めるかを定めたガバナンスです。
どの変更も、誰が行うかにかかわらず、次の手順に従います。
- 信頼できる情報源から始める。 コンポーネントの公開インターフェースの変更は
specs/から、デザイン値の変更はtokens/から始めます。プラットフォームのコードはその後です。 - チェックをローカルで実行する。
pnpm validate、pnpm generate、そしてpnpm checkです。ドリフトチェックが失敗したら、再生成してください。生成されたファイルを編集してはいけません。 - プラットフォームを正直に保つ。 あるプラットフォームを仕上げられないなら、そのステータスは実際のままにしておきます。ステータス表はリポジトリから生成されるもので、存在する以上のことを主張してはなりません。
- changeset を追加する。 利用者に見える変更にはすべて追加し、Conventional Commits(
feat(web): …、fix(tokens): …、docs: …)を使います。
- コンポーネントの中にハードコードされた色、半径、タイポグラフィ、スペーシング、モーション、不透明度。
- テストを通すために更新されたスナップショットのベースライン。
- 緩められたコントラストやアクセシビリティのしきい値。
- ほかのデザインシステムから写したドキュメントの文章。Tanrei の文章は、すべてオリジナルです。
このサイトは apps/docs/ にあります。文章は手で書いた MDX です。英語が原文で、各ページをサイトのほかの言語に翻訳しています(言語の一覧と、翻訳がどの原文から作られたかを記録する方法は、apps/docs/i18n/README.md にあります)。仕様、トークンファイル、ステータス表から得られる表は、そのデータから描画し、手で入力することはありません。ローカルな規則は apps/docs/AGENTS.md を参照してください。