mcpField
P
principle-type-system-discipline

principle-type-system-discipline

github.com/mariusflorescu開発18120 回インストール2 週間前に更新
リポジトリ

principle-type-system-discipline について

無効な状態の排除や意味の異なる値の区別、境界でのデータ検証に型を活用する、開発者やコーディングエージェント向けのスキルです。権威あるスキーマから型を導出し、重複する定義を避ける方針も示します。

主な機能

  1. 01意味の異なるプリミティブ型のブランド化
  2. 02境界での未型付けデータの解析
  3. 03権威あるスキーマからの型導出
  4. 04型による追加ハンドラーの削減

活用シーン

  1. 01異なる ID の誤用防止
  2. 02RPC、JSON、CLI 入力の検証
  3. 03API やデータベーススキーマとの型の整合

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mariusflorescu/pstack-t3 --skill principle-type-system-discipline

インストール後、Claude Code で/principle-type-system-disciplineを入力して読み込まれたか確認します。

同梱ファイルagents/openai.yaml

詳細

型システムの規律

コンパイラーに、あり得ない状態、プリミティブ型の不一致、未処理のバリアントを拒否させます。ハンドラーを増やすより、エラーや特殊ケースそのものをなくすことを優先します。TypeScript の構文については、typescript-best-practices スキルを参照してください。

  • 意味を持つプリミティブ型にブランドを付けます。 UserId と OrderId は内部的にはどちらも文字列ですが、相互に置き換えられるべきではありません。それぞれに、TypeScript のブランド付き交差型や、ほかの言語のニュータイプなど、独自の型を定義します。作成時に一度だけ検証し、それ以降は型を信頼します。プリミティブ型が同じでも意味が異なる引数には、ブランドを付けます。
  • 外部データは解析されるまで型付けされていません。 RPC ペイロード、JSON、IPC メッセージ、CLI 引数、設定ファイル、環境変数、データベースの行が該当します。境界ごとに解析関数を設け、構造化されていない入力を型付きモデルに変換します。boundary-discipline 原則スキルでは、検証をどこに配置すべきかを説明しています。
  • 信頼できるスキーマから型を導出します。 Protocol Buffers、OpenAPI 仕様、GraphQL スキーマ、データベースのマイグレーション、デザイントークンファイルなど、形状を定義するファイルがある場合は、別の型を手作業で作るのではなく、そのファイルから型を導出します。encode-lessons-in-structure 原則スキルを参照してください。

コメント