mcpField
F
fastify-best-practices

fastify-best-practices

github.com/mcollina開発2.0k84.8k 回インストール1 週間前に更新
リポジトリ

fastify-best-practices について

バックエンド開発者向けの Fastify スキルです。プラグイン、ルート、スキーマ、テスト、本番運用の実践方法を扱います。

主な機能

  1. 01プラグインとルートの設計
  2. 02スキーマ検証とシリアライズ
  3. 03エラー処理とリクエストフック
  4. 04認証とセキュリティのパターン
  5. 05inject() によるテスト
  6. 06パフォーマンスとデプロイの指針

活用シーン

  1. 01Fastify バックエンドの構成
  2. 02スキーマベースのリクエスト検証の追加
  3. 03inject() を使ったルートのテスト
  4. 04本番環境に向けた Fastify サービスの準備

インストール

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

$npx skills add https://github.com/mcollina/skills --skill fastify-best-practices

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

同梱ファイル

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

tile.json
rules/
authentication.md
configuration.md
content-type.md
cors-security.md
database.md
decorators.md
deployment.md
error-handling.md
hooks.md
http-proxy.md
logging.md
performance.md
plugins.md
routes.md
schemas.md
serialization.md
testing.md
typescript.md
websockets.md

詳細

使用するタイミング

次のような場合に、このスキルを使用してください。

  • Fastify を使用してバックエンドアプリケーションを開発する
  • Fastify プラグインとルートハンドラーを実装する
  • Fastify のアーキテクチャとパターンについてガイダンスを得る
  • Fastify で TypeScript を使用する(型を取り除く)
  • Fastify の inject メソッドを使ってテストを実装する
  • バリデーション、シリアライゼーション、エラー処理を設定する

クイックスタート

すぐに始められる、最小限の実行可能な Fastify サーバーです。

import Fastify from 'fastify'

const app = Fastify({ logger: true })

app.get('/health', async (request, reply) => {
  return { status: 'ok' }
})

const start = async () => {
  await app.listen({ port: 3000, host: '0.0.0.0' })
}
start()

よくあるシナリオ別の推奨読書順

  • Fastify を初めて使いますか? plugins.md → routes.md → schemas.md の順に読み始めてください
  • 認証を追加する場合: plugins.md → hooks.md → authentication.md
  • パフォーマンスを向上させる場合: schemas.md → serialization.md → performance.md
  • テストを設定する場合: routes.md → testing.md
  • 本番環境へ移行する場合: logging.md → configuration.md → deployment.md

使い方

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

基本原則

  • カプセル化: Fastify のプラグインシステムは、自動的にカプセル化を行います
  • スキーマ優先: バリデーションとシリアライゼーションのためにスキーマを定義します
  • パフォーマンス: Fastify は速度に最適化されています。その機能を正しく使用してください
  • Async/await: すべてのハンドラーとフックで非同期関数を使用できます
  • 依存関係を最小限に: Fastify の組み込み機能と公式プラグインを優先してください

コメント