mcpField
N
nestjs-best-practices

nestjs-best-practices

github.com/xirothedev開発13289 回インストール39 週間前に更新
リポジトリ

nestjs-best-practices について

NestJSアプリケーションの開発とレビューに使う実践ガイドです。セキュリティ、アーキテクチャ、性能、バリデーション、データベースなどを優先度別に扱い、エージェントでの実装やレビュー向けに26のルールと例を収録しています。

主な機能

  1. 0113の開発カテゴリを網羅
  2. 02優先度付きの26ルール
  3. 03セキュリティとバリデーションの指針
  4. 04Prisma v7のデータベースパターン
  5. 05コード例とレビュー用チェックリスト

活用シーン

  1. 01NestJSのモジュール、コントローラー、サービスの設計
  2. 02認証、認可、入力検証の実装
  3. 03アプリケーションのセキュリティと構成のレビュー

インストール

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

$npx skills add https://github.com/xirothedev/agent-skills --skill nestjs-best-practices

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

AGENTS.md
metadata.json
README.md
rules/
_sections.md
_template.md
advanced-lazy-loading.md
advanced-scheduled-tasks.md
api-cursor-pagination.md
api-swagger-docs.md
architecture-enum-classes.md
architecture-event-driven.md
architecture-feature-modules.md
architecture-naming-conventions.md
architecture-no-dead-code.md
architecture-short-functions.md
architecture-thin-controllers.md
auth-custom-decorators.md
auth-password-hashing.md
auth-route-guards.md
config-no-secrets.md
database-parameterized-queries.md
database-repository-pattern.md
deployment-health-checks.md
error-handling-exception-filter.md
error-handling-logger-context.md
error-handling-structured-logging.md
interceptors-response-transform.md
middleware-compression.md
middleware-rate-limiting.md
performance-redis-caching.md

詳細

NestJS のベストプラクティス

本番環境に対応した NestJS アプリケーションを構築するための包括的なガイドです。セキュリティ、アーキテクチャ、パフォーマンス、バリデーション、データベース操作、認証、高度なパターンを網羅した、13 カテゴリ・26 ルールが含まれています。

適用するタイミング

次の場合に、これらのガイドラインを参照してください。

  • 新しい NestJS モジュール、コントローラー、サービスを作成するとき
  • 認証と認可を実装するとき
  • Prisma のデータベース操作を設定するとき
  • DTO とバリデーションパイプを作成するとき
  • ミドルウェアやガードを追加するとき
  • エラー処理とロギングを実装するとき
  • ベストプラクティスに沿って NestJS コードをレビューするとき
  • 既存の NestJS アプリケーションをリファクタリングするとき

優先度別のルールカテゴリ

優先度カテゴリ影響度プレフィックス
1セキュリティCRITICALsecurity-
2パフォーマンスHIGHperformance-
3アーキテクチャHIGHarchitecture-
4エラー処理HIGHerror-handling-
5バリデーションCRITICALvalidation-
6データベースCRITICALdatabase-
7認証CRITICALauth-
8APIMEDIUMapi-
9設定CRITICALconfig-
10テストMEDIUMtesting-
11デプロイMEDIUMdeployment-
12ミドルウェアMEDIUMmiddleware-
13高度なパターンHIGHadvanced-

クイックリファレンス

1. セキュリティ(CRITICAL)
  • security-cors-whitelist - 許可リストに登録されたオリジンのみで CORS を有効にする
  • security-dependency-audit - bun で依存関係のセキュリティ監査を定期的に実施する
  • security-helmet-headers - セキュリティヘッダーに Helmet ミドルウェアを使用する
2. パフォーマンス(HIGH)
  • performance-redis-caching - 頻繁に使用するデータを Redis でキャッシュする
3. アーキテクチャ(HIGH)
  • architecture-short-functions - 関数を短く保ち、単一の目的を持たせる
  • architecture-feature-modules - 機能ごとにコードをモジュールに整理する
  • architecture-no-dead-code - 未使用のコードと依存関係を削除する
  • architecture-thin-controllers - 単一責任の原則に従い、コントローラーとサービスを分離する
  • architecture-naming-conventions - 一貫した命名規則を使用する
  • architecture-event-driven - 疎結合を実現するためにイベント駆動型アーキテクチャを使用する
4. エラー処理(HIGH)
  • error-handling-exception-filter - グローバル例外フィルターを有効にする
  • error-handling-structured-logging - 適切なロギング戦略を実装する
5. バリデーション(CRITICAL)
  • validation-custom-pipes - クエリパラメーターを変換するカスタムパイプを作成する
  • validation-dto-validation - DTO と ValidationPipe ですべての入力を検証する
6. データベース(CRITICAL)
  • database-parameterized-queries - SQL インジェクションを防ぐためにパラメーター化クエリを使用する(Prisma v7)
7. 認証(CRITICAL)
  • auth-password-hashing - 安全なパスワードのハッシュ化に Bun 組み込みの Crypto を使用する(argon2/bcrypt)
  • auth-route-guards - ルートの保護にガードを使用する
8. API(MEDIUM)
  • api-cursor-pagination - 大規模なデータセットにはカーソルベースのページネーションを使用する
  • api-swagger-docs - Swagger/OpenAPI ドキュメントを生成する
9. 設定(CRITICAL)
  • config-no-secrets - シークレットをハードコードせず、環境変数を使用する
10. テスト(MEDIUM)
  • testing-unit-tests - 包括的なユニットテストを作成する
11. デプロイ(MEDIUM)
  • deployment-health-checks - ヘルスチェック用エンドポイントを実装する
12. ミドルウェア(MEDIUM)
  • middleware-compression - レスポンス向けの圧縮ミドルウェアを有効にする
  • middleware-rate-limiting - すべてのルートにレート制限を実装する
13. 高度なパターン(HIGH)
  • advanced-lazy-loading - 重要度の低いモジュールを遅延読み込みする
  • advanced-scheduled-tasks - cron ジョブとスケジュール済みタスクに @nestjs/schedule を使用する

使用方法

詳細な説明とコード例については、各ルールファイルをお読みください。

rules/security-cors-whitelist.md
rules/auth-route-guards.md
rules/validation-dto-validation.md
rules/_sections.md

各ルールファイルには、以下が含まれています。

  • 実装手順を順を追って説明する「AI エージェント向け」セクション
  • コードレビュー用のクイックリファレンスチェックリスト
  • ファイルの場所を示した❌ WRONG と ✅ CORRECT のパターン
  • bun add を使用したインストールコマンド
  • NestJS + Prisma の包括的なコード例
  • セキュリティとパフォーマンスに関する考慮事項

重要なパターン

エージェントに適した形式

すべてのルールは、AI エージェント向けに最適化されています。次の内容が含まれています。

  • ファイルの場所を明示(例:src/users/users.service.ts)
  • 手順を順を追って説明する「AI エージェント向け」セクション
  • ✅ CORRECT と ❌ WRONG のパターン比較
  • クイックリファレンスチェックリスト
  • 明確なインストール手順
技術スタック
  • フレームワーク:Express/Fastify アダプターを使用した NestJS
  • ランタイム:Bun(ネイティブの暗号化、スケジューリング)
  • データベース:Prisma v7(sql テンプレートタグ、インタラクティブトランザクション)
  • バリデーション:class-validator + class-transformer
  • セキュリティ:Helmet、CORS の許可リスト、レート制限
  • スケジューリング:cron/interval デコレーターを使用した @nestjs/schedule
  • イベント:疎結合を実現する EventEmitter2

完全版のコンパイル済みドキュメント

すべてのルールを展開した完全なガイドについては、AGENTS.md をご覧ください。

ビルドコマンド

cd packages/nestjs-best-practices-build
bun install
bun run build      # Generate AGENTS.md
bun run validate   # Validate rule files
bun run dev        # Build and validate

統計情報

  • NestJS 開発のあらゆる側面を網羅する13 のセクション
  • 影響度(CRITICAL、HIGH、MEDIUM)で優先順位付けされた26 のルール
  • Prisma v7 に対応したデータベースパターン
  • Bun ランタイムのネイティブ機能(Crypto.hashPassword、@nestjs/schedule)
  • 自動コード生成とレビューに最適化されたエージェント向け設計

コメント