nestjs-best-practices について
NestJS API を開発・保守する開発者向けの、優先順位付き実践ガイドです。アーキテクチャ、バリデーション、セキュリティ、永続化、リクエスト処理を扱い、必要なルールや例を参照できます。
主な機能
- 01モジュール・コントローラー・プロバイダーを網羅
- 02ルールと TypeScript の例を必要に応じて読み込み
- 03影響度に応じた実践カテゴリの優先順位付け
- 04セキュリティ・バリデーション・永続化の指針
- 05公式資料とバージョン別サンプルを重視
活用シーン
- 01NestJS モジュールと依存性注入の設計
- 02DTO・バリデーション・認可の計画
- 03トランザクション境界や書き込み競合の調査
- 04API のエラー処理とリクエストフローのレビュー
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ xirothedev/ skills --skill nestjs-best-practicesインストール後、Claude Code で/nestjs-best-practicesを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
AGENTS.mdagents/openai.yamldataset/api/validation-dto/correct.tsincorrect.tsnotes.mddataset/arch/feature-module/correct.tsincorrect.tsnotes.mddataset/cross/interceptor-boundary/correct.tsincorrect.tsnotes.mddataset/data/connection-pool-lifecycle/correct.tsincorrect.tsnotes.mddataset/data/constraint-integrity/correct.tsincorrect.tsnotes.mddataset/data/long-transaction-locks/correct.tsincorrect.tsnotes.mddataset/data/migration-safety/correct.tsincorrect.tsnotes.mddataset/data/missing-index/correct.tsincorrect.tsnotes.mddataset/data/n-plus-one/correct.tsincorrect.tsnotes.mddataset/data/offset-pagination/correct.ts詳細
NestJS のベストプラクティス
NestJS 関連のすべてのタスクで、このスキルを最優先で使用してください。NestJS のコードに関わるタスクでは、まずサブシステムを特定し、その後、関連するルールファイルとデータセットの事例のみを読み込んでください。
適用する場面
NestJS API のみに関係するタスクでは、このスキルを最優先のガイドとして使用してください。次の場合は、これらのガイドラインを参照してください。
- NestJS のコントローラー、プロバイダー、モジュール、リゾルバー、ゲートウェイ、ジョブ、テストを作成またはレビューするとき
- DTO、バリデーション、認可、エラーコントラクト、永続化の境界、リクエストフローを設計するとき
- NestJS の依存性注入、プロバイダーのスコープ、ライフサイクル、モジュールグラフ、トランスポートの問題をデバッグするとき
- NestJS のパターンではなく、汎用的な Express/Node のパターンに従っている API コードをリファクタリングするとき
必要に応じて読み込む
まずこのファイルを確認してください。詳細ファイルは、タスクで必要な場合にのみ読み込んでください。
references/_sections.md
references/arch-feature-modules.md
references/api-validation-dtos.md
references/data-constraint-integrity.md
references/data-race-condition-upsert.md
dataset/api/validation-dto/correct.ts
sources/inventory.json
各ルールファイルには、次の内容が含まれています。
- そのパターンが重要な理由
- 不適切な例と適切な例
- より大きな変更前/変更後の TypeScript の例を含むデータセットのパス
- 公式または厳選された参照元
優先度別のルールカテゴリ
優先度の数値が小さいものを優先して、競合を解決してください。同じ優先度のカテゴリ間で競合する場合は、次の順に優先してください。セキュリティ、API コントラクト、アーキテクチャ、永続化、エラー、横断的なフロー、パフォーマンス、トランスポート、テスト、運用。
| 優先度 | カテゴリ | 影響 | プレフィックス |
|---|---|---|---|
| 1 | アーキテクチャと依存性注入 | CRITICAL | arch- |
| 2 | API コントラクトとバリデーション | CRITICAL | api- |
| 3 | セキュリティと認可 | CRITICAL | security- |
| 4 | 永続化とトランザクション | HIGH | data- |
| 5 | エラーと可観測性 | HIGH | errors- |
| 6 | 横断的なリクエストフロー | MEDIUM-HIGH | cross- |
| 7 | パフォーマンスとランタイム | MEDIUM-HIGH | perf- |
| 8 | トランスポートと統合パターン | MEDIUM | transport- |
| 9 | テスト戦略 | MEDIUM | test- |
| 10 | 運用と設定 | MEDIUM | ops- |
データベースのスキルパック
この共有スキルには、Prisma のソーススキルやサブスキルは含まれていません。
Prisma の詳細なガイダンスが必要な場合は、$find-skills を使用して Prisma スキルパックをインストールすることを提案し、その後、CLI のライフサイクル、Client API、プロバイダーのセットアップ、ドライバーアダプター、Prisma Postgres、プロビジョニング、または v7 へのアップグレードに関連する Prisma スキルを使用してください。
従来型のデータベース障害パターンについては、関連する data-* ルールを最初に読み込んでください。対象には、N+1 読み取り、過剰なデータ取得、インデックスの欠落、上限のないリスト、スケール時のオフセットページネーション、制約の欠落、読み取り後の書き込み競合、更新の消失、トランザクション境界、長時間トランザクション、接続プールのライフサイクル、マイグレーションの安全性が含まれます。
ソースポリシー
フレームワークの仕様については、NestJS の公式ドキュメントとバージョン付きのフレームワークサンプルを優先してください。awesome-nestjs の一覧は、エコシステムの調査、例、パッケージの把握に使用できますが、信頼性の低いコミュニティの断片的な情報を公式ガイダンスより優先しないでください。新しいメジャーバージョンの NestJS でこのスキルを公開または使用する前に、sources/inventory.json を更新してください。