nestjs-best-practices について
NestJS 開発者やコーディングエージェント向けの実践ガイドです。40のルールを優先度別の10カテゴリに整理し、コード生成、レビュー、リファクタリングに役立ちます。
主な機能
- 0110カテゴリにわたる40のルール
- 02優先度別のガイド
- 03アーキテクチャと依存性注入
- 04セキュリティ、性能、テスト
- 05データベース、API、マイクロサービス
活用シーン
- 01NestJS モジュールやサービスの設計
- 02アーキテクチャとセキュリティのレビュー
- 03既存 NestJS コードのリファクタリング
- 04クエリと性能の改善
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ kadajett/ agent-nestjs-skills --skill nestjs-best-practicesインストール後、Claude Code で/nestjs-best-practicesを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
rules/_sections.md_template.mdapi-use-dto-serialization.mdapi-use-interceptors.mdapi-use-pipes.mdapi-versioning.mdarch-avoid-circular-deps.mdarch-feature-modules.mdarch-module-sharing.mdarch-single-responsibility.mdarch-use-events.mdarch-use-repository-pattern.mddb-avoid-n-plus-one.mddb-use-migrations.mddb-use-transactions.mddevops-graceful-shutdown.mddevops-use-config-module.mddevops-use-logging.mddi-avoid-service-locator.mddi-interface-segregation.mddi-liskov-substitution.mddi-prefer-constructor-injection.mddi-scope-awareness.mddi-use-interfaces-tokens.mderror-handle-async-errors.mderror-throw-http-exceptions.mderror-use-exception-filters.mdmicro-use-health-checks.mdmicro-use-patterns.mdmicro-use-queues.md詳細
NestJS のベストプラクティス
NestJS アプリケーション向けの包括的なベストプラクティスガイドです。10 のカテゴリにわたる 40 のルールを収録し、影響度に基づいて優先順位を付けることで、自動リファクタリングやコード生成を支援します。
適用するタイミング
以下のような場合に、このガイドラインを参照してください。
- NestJS の新しいモジュール、コントローラー、サービスを作成する場合
- 認証と認可を実装する場合
- アーキテクチャとセキュリティの問題についてコードをレビューする場合
- 既存の NestJS コードベースをリファクタリングする場合
- パフォーマンスやデータベースクエリを最適化する場合
- マイクロサービスアーキテクチャを構築する場合
優先度別のルールカテゴリ
| 優先度 | カテゴリ | 影響度 | プレフィックス |
|---|---|---|---|
| 1 | アーキテクチャ | CRITICAL | arch- |
| 2 | 依存性注入 | CRITICAL | di- |
| 3 | エラー処理 | HIGH | error- |
| 4 | セキュリティ | HIGH | security- |
| 5 | パフォーマンス | HIGH | perf- |
| 6 | テスト | MEDIUM-HIGH | test- |
| 7 | データベースと ORM | MEDIUM-HIGH | db- |
| 8 | API 設計 | MEDIUM | api- |
| 9 | マイクロサービス | MEDIUM | micro- |
| 10 | DevOps とデプロイ | LOW-MEDIUM | devops- |
クイックリファレンス
1. アーキテクチャ(CRITICAL)
arch-avoid-circular-deps- モジュール間の循環依存を避けるarch-feature-modules- 技術レイヤーではなく機能ごとに整理するarch-module-sharing- モジュールのエクスポートとインポートを適切に行い、プロバイダーの重複を避けるarch-single-responsibility- 「ゴッドサービス」ではなく、責務を絞ったサービスを使用するarch-use-repository-pattern- テスト容易性のためにデータベースロジックを抽象化するarch-use-events- 疎結合を実現するイベント駆動型アーキテクチャを使用する
2. 依存性注入(CRITICAL)
di-avoid-service-locator- サービスロケーターのアンチパターンを避けるdi-interface-segregation- インターフェース分離の原則(ISP)di-liskov-substitution- リスコフの置換原則(LSP)di-prefer-constructor-injection- プロパティ注入よりコンストラクター注入を優先するdi-scope-awareness- シングルトン、リクエスト、トランジェントの各スコープを理解するdi-use-interfaces-tokens- インターフェースにはインジェクショントークンを使用する
3. エラー処理(HIGH)
error-use-exception-filters- 例外処理を一元化するerror-throw-http-exceptions- NestJS の HTTP 例外を使用するerror-handle-async-errors- 非同期エラーを適切に処理する
4. セキュリティ(HIGH)
security-auth-jwt- JWT 認証を安全に行うsecurity-validate-all-input- class-validator でバリデーションするsecurity-use-guards- 認証ガードと認可ガードを使用するsecurity-sanitize-output- XSS 攻撃を防ぐsecurity-rate-limiting- レート制限を実装する
5. パフォーマンス(HIGH)
perf-async-hooks- 非同期ライフサイクルフックを適切に使用するperf-use-caching- キャッシュ戦略を実装するperf-optimize-database- データベースクエリを最適化するperf-lazy-loading- 起動を高速化するためにモジュールを遅延読み込みする
6. テスト(MEDIUM-HIGH)
test-use-testing-module- NestJS のテストユーティリティを使用するtest-e2e-supertest- Supertest で E2E テストを行うtest-mock-external-services- 外部依存関係をモックする
7. データベースと ORM(MEDIUM-HIGH)
db-use-transactions- トランザクションを管理するdb-avoid-n-plus-one- N+1 クエリの問題を避けるdb-use-migrations- スキーマ変更にはマイグレーションを使用する
8. API 設計(MEDIUM)
api-use-dto-serialization- DTO とレスポンスのシリアライズを行うapi-use-interceptors- 横断的関心事にインターセプターを使用するapi-versioning- API のバージョニング戦略を使用するapi-use-pipes- パイプで入力を変換する
9. マイクロサービス(MEDIUM)
micro-use-patterns- メッセージとイベントのパターンを使用するmicro-use-health-checks- オーケストレーション向けのヘルスチェックを実装するmicro-use-queues- バックグラウンドジョブを処理する
10. DevOps とデプロイ(LOW-MEDIUM)
devops-use-config-module- 環境設定を行うdevops-use-logging- 構造化ログを使用するdevops-graceful-shutdown- ダウンタイムなしでデプロイする
使用方法
詳しい説明とコード例については、各ルールファイルをお読みください。
rules/arch-avoid-circular-deps.md
rules/security-validate-all-input.md
rules/_sections.md
各ルールファイルには、次の内容が含まれています。
- 重要な理由の簡潔な説明
- 説明付きの誤ったコード例
- 説明付きの正しいコード例
- 追加のコンテキストと参考資料
完全版ドキュメント
すべてのルールを展開して1つのドキュメントにまとめた完全版ガイドについては、 リポジトリ内の AGENTS.mdをご覧ください。
コメント
Markdown 対応