implementing-ddd-tactical-patterns-with-zod
Installation
SKILL.md
Zod でドメイン層のモデルを実装する
class を使わず、type と関数と Zod でドメイン層を書く。
class を使わないのはモデルの書き方の話で、エラーだけは class で書く(Error の継承と instanceof のため)。エラーの class は、そのモデルのファイルの中に置いてよい(references/errors.md)。
対応範囲
TypeScript と Zod 4.6 以上を対象にする。この指針と references に書いた Zod の挙動は、この範囲の版で確かめたものを前提にしている。 プロジェクトの Zod が 4.6 より前なら、Zod を最新版に上げることを利用者に提案する。
書くのはドメイン層とインフラ層だけである。アプリケーション層(ユースケース・アプリケーションサービス)は書かない。 ドメインサービスやリポジトリを呼ぶ流れが要るときは、どこで何をどの順に呼ぶかを回答に示し、コードは書かない。