nestjs-clean-typescript について
TypeScript で NestJS API を開発する人向けに、強い型付け、クリーンコード、アーキテクチャの指針をまとめています。モジュール、永続化、バリデーション、テストに関する NestJS 固有の推奨事項も含みます。
主な機能
- 01明示的な型と命名規則
- 02短い関数と不変データ
- 03ドメイン別 NestJS モジュール
- 04MikroORM による永続化の指針
- 05class-validator による DTO 検証
- 06Jest による単体・E2E テスト
活用シーン
- 01ドメイン別の NestJS API 構成
- 02一貫した TypeScript 規約の適用
- 03API DTO の検証
- 04単体テストと E2E テストの計画
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mindrally/ skills --skill nestjs-clean-typescriptインストール後、Claude Code で/nestjs-clean-typescriptを入力して読み込まれたか確認します。
詳細
NestJS Clean TypeScript
Alberto Basalo による、TypeScript を使用してクリーンな NestJS API を開発するためのガイドラインです。これらのルールでは、強い型付け、クリーンコードの原則、アーキテクチャのベストプラクティスを重視します。
TypeScript の一般原則
- 各変数と関数(パラメーターと戻り値)の型を必ず宣言します
- any の使用を避け、必要な型を作成します
- 公開クラスとメソッドには JSDoc を使用します
- 1 ファイルにつきエクスポートは 1 つにします
命名規則
- クラスには PascalCase を使用します
- 変数と関数には camelCase を使用します
- ファイルとディレクトリには kebab-case を使用します
- 環境変数には UPPERCASE を使用します
- 真偽値の変数には次の接頭辞を使用します:isX、hasX、canX
関数の設計
- 単一の目的を持つ短い関数を記述します。命令は 20 個未満にします
- ネストを避けるため、早期リターンを使用します
- RO-RO パターンを適用します。複数のパラメーターにはオブジェクトを渡し、結果はオブジェクトで返します
データとクラス
- readonly と as const を使用し、データの不変性を優先します
- SOLID 原則に従います
- クラスは次の条件を満たす必要があります:
- 命令は 200 個未満
- public メソッドは 10 個未満
- プロパティは 10 個未満
NestJS 固有のガイドライン
- ドメインまたはルートごとに 1 つのモジュールを設けるモジュラーアーキテクチャを使用します
- 永続化には MikroORM のエンティティを使用します
- エンティティごとに 1 つのサービスを設けます
- DTO を class-validator で検証します
- グローバルフィルター、ミドルウェア、ガード、インターセプターは core モジュールに配置します
テスト
- Jest フレームワークを使用します
- Arrange-Act-Assert の規約に従います
- 各公開関数のユニットテストを記述します
- API モジュールごとにエンドツーエンドテストを含めます
コメント
Markdown 対応