nest について
nest は NestJS でサーバーサイドアプリケーションを開発するためのリファレンススキルです。フレームワークの基礎からセキュリティ、連携、アプリケーション設計までを扱います。
主な機能
- 01NestJS CLI とモノレポのガイダンス
- 02コントローラー、モジュール、プロバイダー
- 03バリデーションと依存性注入
- 04セキュリティと認証のトピック
- 05GraphQL、WebSockets、マイクロサービス
- 06データベースとデプロイの技術
活用シーン
- 01NestJS アプリケーションの雛形作成
- 02認証と認可の実装
- 03GraphQL または WebSocket 機能の追加
- 04データベースとバックグラウンドジョブの設定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ hairyf/ skills --skill nestインストール後、Claude Code で/nestを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
GENERATION.mdreferences/best-practices-request-lifecycle.mdcli-monorepo.mdcli-overview.mdcore-controllers.mdcore-dependency-injection.mdcore-middleware.mdcore-modules.mdcore-providers.mdfaq-raw-body-hybrid.mdfundamentals-circular-dependency.mdfundamentals-custom-decorators.mdfundamentals-dynamic-modules.mdfundamentals-exception-filters.mdfundamentals-execution-context.mdfundamentals-guards.mdfundamentals-interceptors.mdfundamentals-lazy-loading.mdfundamentals-lifecycle-events.mdfundamentals-module-reference.mdfundamentals-pipes.mdfundamentals-provider-scopes.mdfundamentals-testing.mdgraphql-overview.mdgraphql-resolvers-mutations.mdgraphql-scalars-unions-enums.mdgraphql-subscriptions.mdmicroservices-grpc.mdmicroservices-overview.mdmicroservices-transports.md詳細
NestJS は、効率的でスケーラブルなサーバーサイドアプリケーションを構築するための、プログレッシブな Node.js フレームワークです。デフォルトで TypeScript を使用し、Express と Fastify の両方をサポートします。また、Angular に着想を得たアプリケーションアーキテクチャを標準で提供します。NestJS は OOP、FP、FRP の要素を組み合わせており、エンタープライズグレードのアプリケーション構築に適しています。
このスキルは、2026-02-01 に生成された NestJS のドキュメントに基づいています。
CLI
| トピック | 説明 | リファレンス |
|---|---|---|
| CLI の概要 | アプリケーションのスキャフォールディング、ビルド、実行 | cli-overview |
| モノレポとライブラリ | ワークスペース、アプリ、共有ライブラリ | cli-monorepo |
コアリファレンス
| トピック | 説明 | リファレンス |
|---|---|---|
| コントローラー | ルートハンドラー、HTTP メソッド、リクエストとレスポンスの処理 | core-controllers |
| モジュール | アプリケーション構造、機能モジュール、共有モジュール、動的モジュール | core-modules |
| プロバイダー | サービス、依存性注入、カスタムプロバイダー | core-providers |
| 依存性注入 | DI の基礎、カスタムプロバイダー、スコープ | core-dependency-injection |
| ミドルウェア | リクエストとレスポンスのミドルウェア、関数型ミドルウェア | core-middleware |
基礎
| トピック | 説明 | リファレンス |
|---|---|---|
| パイプ | データ変換と検証用のパイプ | fundamentals-pipes |
| ガード | 認可ガード、ロールベースのアクセス制御 | fundamentals-guards |
| インターセプター | アスペクト指向プログラミング、レスポンスの変換 | fundamentals-interceptors |
| 例外フィルター | エラー処理、カスタム例外フィルター | fundamentals-exception-filters |
| カスタムデコレーター | カスタムパラメーターデコレーターの作成 | fundamentals-custom-decorators |
| 動的モジュール | 設定可能なモジュール、モジュール設定 | fundamentals-dynamic-modules |
| 実行コンテキスト | リクエストコンテキストへのアクセス、メタデータのリフレクション | fundamentals-execution-context |
| プロバイダースコープ | シングルトン、リクエストスコープ、トランジェントプロバイダー | fundamentals-provider-scopes |
| ライフサイクルイベント | アプリケーションとプロバイダーのライフサイクルフック | fundamentals-lifecycle-events |
| 遅延読み込み | サーバーレス向けのオンデマンドなモジュール読み込み | fundamentals-lazy-loading |
| 循環依存 | forwardRef を使用した循環依存の解決 | fundamentals-circular-dependency |
| モジュールリファレンス | ModuleRef を使用したプロバイダーへの動的なアクセス | fundamentals-module-reference |
| テスト | @nestjs/testing を使用したユニットテストと E2E テスト | fundamentals-testing |
技法
| トピック | 説明 | リファレンス |
|---|---|---|
| バリデーション | ValidationPipe、class-validator、DTO のバリデーション | techniques-validation |
| 設定 | 環境変数、ConfigModule、設定管理 | techniques-configuration |
| データベース | TypeORM、Prisma、MongoDB の統合 | techniques-database |
| キャッシュ | キャッシュマネージャー、Redis の統合、自動キャッシュ | techniques-caching |
| ロギング | 組み込みロガー、カスタムロガー、JSON ロギング | techniques-logging |
| ファイルアップロード | multer によるファイルアップロード処理、バリデーション | techniques-file-upload |
| バージョニング | URI、ヘッダー、メディアタイプによる API バージョニング | techniques-versioning |
| シリアライズ | class-transformer によるレスポンスのシリアライズ | techniques-serialization |
| キュー | BullMQ によるバックグラウンドジョブ処理 | techniques-queues |
| タスクスケジューリング | Cron ジョブ、インターバル、タイムアウト | techniques-task-scheduling |
| イベント | EventEmitter によるイベント駆動型アーキテクチャ | techniques-events |
| HTTP モジュール | Axios による HTTP リクエストの送信 | techniques-http-module |
| Fastify | パフォーマンス向上のための Fastify の使用 | techniques-fastify |
| セッションと Cookie | ステートフルアプリ向けの HTTP セッションと Cookie | techniques-sessions-cookies |
| ストリーミングと SSE | 圧縮、ファイルストリーミング、Server-Sent Events | techniques-compression-streaming-sse |
| MVC と静的ファイルの配信 | テンプレートのレンダリング(Handlebars)と SPA の静的ファイル配信 | techniques-mvc-serve-static |
セキュリティ
| トピック | 説明 | リファレンス |
|---|---|---|
| 認証 | Passport の統合、JWT 認証 | recipes-authentication |
| 認可 | RBAC、クレームベースの認可、CASL の統合 | security-authorization |
| CORS とレート制限 | CORS、Helmet、ThrottlerModule | security-cors-helmet-rate-limiting |
| 暗号化とハッシュ化 | bcrypt、argon2、パスワードのハッシュ化 | security-encryption-hashing |
OpenAPI
| トピック | 説明 | リファレンス |
|---|---|---|
| Swagger | OpenAPI ドキュメントの生成 | openapi-swagger |
WebSocket
| トピック | 説明 | リファレンス |
|---|---|---|
| ゲートウェイ | Socket.IO/ws によるリアルタイム通信 | websockets-gateways |
| ガードと例外フィルター | WsException、BaseWsExceptionFilter、インターセプター、パイプ | websockets-advanced |
マイクロサービス
| トピック | 説明 | リファレンス |
|---|---|---|
| 概要 | トランスポート層、メッセージパターン、イベント | microservices-overview |
| gRPC | Protocol Buffers、ストリーミング、メタデータ、リフレクション | microservices-grpc |
| トランスポート | Redis、Kafka、NATS、RabbitMQ の設定 | microservices-transports |
GraphQL
| トピック | 説明 | 参照 |
|---|---|---|
| 概要 | コードファーストとスキーマファーストのアプローチ | graphql-overview |
| リゾルバーとミューテーション | クエリ、ミューテーション、フィールドリゾルバー | graphql-resolvers-mutations |
| サブスクリプション | PubSub によるリアルタイムサブスクリプション | graphql-subscriptions |
| スカラー、ユニオン、列挙型 | インターフェース、スカラー、ユニオン型、列挙型 | graphql-scalars-unions-enums |
レシピ
| トピック | 説明 | 参照 |
|---|---|---|
| CRUD ジェネレーター | Nest CLI のリソースジェネレーター | recipes-crud-generator |
| ドキュメント | OpenAPI/Swagger の統合 | recipes-documentation |
| TypeORM | TypeORM の統合と使用方法 | recipes-typeorm |
| Prisma | Prisma ORM の統合 | recipes-prisma |
| Mongoose | Mongoose ODM による MongoDB | recipes-mongoose |
| CQRS | コマンドクエリ責務分離 | recipes-cqrs |
| Terminus | ヘルスチェックとレディネス/ライブネスプローブ | recipes-terminus |
FAQ
| トピック | 説明 | 参照 |
|---|---|---|
| Raw Body と Hybrid | Webhook の署名検証、HTTP とマイクロサービス | faq-raw-body-hybrid |
ベストプラクティス
| トピック | 説明 | 参照 |
|---|---|---|
| リクエストライフサイクル | 実行順序とフローの理解 | best-practices-request-lifecycle |
コメント
Markdown 対応