functional-ts-ja

Installation
SKILL.md

Functional Domain Modeling in TypeScript

サーバーサイドTypeScriptでドメインモデルを書くときの原則。classベースのOOPではなく、TypeScriptの型システムを最大限に活用した関数型アプローチを採る。

1. 型によるドメインモデリング

Discriminated Unionで状態を表現し、kind をdiscriminantとして統一する。typeinterface ではなく)、Companion Object、Branded Types、Readonly<>、関数プロパティ記法、1概念1ファイル構成を使う。

バリデーションライブラリの検出: プロジェクトの package.jsondependencies / devDependencies を確認:

詳細: domain-modeling.md

2. 関数による状態遷移

純粋関数で状態遷移を表現する。関数の引数型が有効な遷移元を制約し、戻り値型が遷移先を明示する。無効な遷移はコンパイルエラーになる。assertNever で網羅性をチェックする。

Related skills
Installs
10
GitHub Stars
16
First Seen
Apr 8, 2026