mcpField
N
nestjs-clean-typescript

nestjs-clean-typescript

github.com/mindrally開発287948 回インストール3 週間前に更新
リポジトリ

nestjs-clean-typescript について

TypeScript で NestJS API を開発する人向けに、強い型付け、クリーンコード、アーキテクチャの指針をまとめています。モジュール、永続化、バリデーション、テストに関する NestJS 固有の推奨事項も含みます。

主な機能

  1. 01明示的な型と命名規則
  2. 02短い関数と不変データ
  3. 03ドメイン別 NestJS モジュール
  4. 04MikroORM による永続化の指針
  5. 05class-validator による DTO 検証
  6. 06Jest による単体・E2E テスト

活用シーン

  1. 01ドメイン別の NestJS API 構成
  2. 02一貫した TypeScript 規約の適用
  3. 03API DTO の検証
  4. 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 モジュールごとにエンドツーエンドテストを含めます

コメント