tanstack-start-best-practices について
フルスタック React アプリの開発者向けに、TanStack Start の実践パターンをまとめたガイドです。サーバー関数、ミドルウェア、SSR、認証、デプロイを優先度別のルールと良否の例で解説します。
主な機能
- 01サーバー関数と入力検証
- 02セキュリティ、ミドルウェア、認証
- 03API ルートと SSR
- 04エラー処理と環境設定
- 05コード構成とデプロイ
活用シーン
- 01サーバー側のデータ変更処理の実装
- 02ルート保護とセッション管理
- 03SSR、ハイドレーション、静的プリレンダリングの設定
- 04フルスタックコードの整理とデプロイ準備
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ deckardger/ tanstack-agent-skills --skill tanstack-start-best-practicesインストール後、Claude Code で/tanstack-start-best-practicesを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
rules/api-routes.mdauth-cookie-security.mdauth-route-protection.mdauth-server-functions.mdauth-session-management.mddeploy-adapters.mddeploy-env-config.mdenv-functions.mderr-not-found.mderr-redirects.mderr-server-errors.mdfile-functions-file.mdfile-separation.mdfile-shared-validation.mdmw-composability.mdmw-context-flow.mdmw-function-middleware.mdmw-request-middleware.mdsec-auth-middleware.mdsec-csrf-protection.mdsec-sensitive-data.mdsec-validate-inputs.mdsf-create-server-fn.mdsf-error-handling.mdsf-input-validation.mdsf-method-selection.mdsf-response-headers.mdssr-data-loading.mdssr-hydration-safety.mdssr-prerender.md詳細
TanStack Start のベストプラクティス
フルスタック React アプリケーションで TanStack Start のパターンを実装するための包括的なガイドラインです。サーバー関数、ミドルウェア、SSR、認証、デプロイを対象としています。
適用する場面
- データ変更のためのサーバー関数を作成するとき
- 認証やログ記録のためのミドルウェアを設定するとき
- SSR とハイドレーションを設定するとき
- 認証フローを実装するとき
- クライアントとサーバーの境界をまたいでエラーを処理するとき
- フルスタックのコードを整理するとき
- さまざまなプラットフォームにデプロイするとき
優先度別のルールカテゴリ
| 優先度 | カテゴリ | ルール | 影響 |
|---|---|---|---|
| CRITICAL | サーバー関数 | 5 ルール | データ変更の中核となるパターン |
| CRITICAL | セキュリティ | 4 ルール | 脆弱性を防止 |
| HIGH | ミドルウェア | 4 ルール | リクエスト/レスポンスの処理 |
| HIGH | 認証 | 4 ルール | ユーザーセッションを保護 |
| MEDIUM | API ルート | 1 ルール | 外部エンドポイントのパターン |
| MEDIUM | SSR | 5 ルール | サーバーレンダリングのパターン |
| MEDIUM | エラー処理 | 3 ルール | 適切なエラー処理 |
| MEDIUM | 環境 | 1 ルール | 設定の管理 |
| LOW | ファイル構成 | 3 ルール | 保守しやすいコード構成 |
| LOW | デプロイ | 2 ルール | 本番環境への対応 |
クイックリファレンス
サーバー関数(接頭辞:sf-)
sf-create-server-fn— サーバー側のロジックには createServerFn を使用しますsf-input-validation— サーバー関数の入力は必ず検証しますsf-method-selection— 適切な HTTP メソッドを選択しますsf-error-handling— サーバー関数のエラーを処理しますsf-response-headers— 必要に応じてレスポンスヘッダーをカスタマイズします
セキュリティ(接頭辞:sec-)
sec-validate-inputs— すべてのユーザー入力をスキーマで検証しますsec-auth-middleware— 認証ミドルウェアでルートを保護しますsec-sensitive-data— シークレットはサーバー側だけに保持しますsec-csrf-protection— データ変更に対する CSRF 保護を実装します
ミドルウェア(接頭辞:mw-)
mw-request-middleware— 横断的な関心事にはリクエストミドルウェアを使用しますmw-function-middleware— サーバー関数には関数ミドルウェアを使用しますmw-context-flow— ミドルウェアを通じてコンテキストを適切に渡しますmw-composability— ミドルウェアを効果的に組み合わせます
認証(接頭辞:auth-)
auth-session-management— セキュアなセッション処理を実装しますauth-route-protection— beforeLoad でルートを保護しますauth-server-functions— サーバー関数内で認証を検証しますauth-cookie-security— セキュアな Cookie 設定を構成します
API ルート(接頭辞:api-)
api-routes— 外部の利用者向けに API ルートを作成します
SSR(接頭辞:ssr-)
ssr-data-loading— SSR に適した方法でデータを読み込みますssr-hydration-safety— ハイドレーションの不一致を防ぎますssr-streaming— TTFB を短縮するためにストリーミング SSR を実装しますssr-selective— 効果がある場合は選択的 SSR を適用しますssr-prerender— 静的プリレンダリングと ISR を設定します
環境(接頭辞:env-)
env-functions— 設定には環境関数を使用します
エラー処理(接頭辞:err-)
err-server-errors— サーバー関数のエラーを処理しますerr-redirects— リダイレクトを適切に使用しますerr-not-found— 見つからない場合のシナリオを処理します
ファイル構成(接頭辞:file-)
file-separation— サーバーコードとクライアントコードを分離しますfile-functions-file— .functions.ts パターンを使用しますfile-shared-validation— 検証スキーマを共有します
デプロイ(接頭辞:deploy-)
deploy-env-config— 環境変数を設定しますdeploy-adapters— 適切なデプロイアダプターを選択します
使用方法
rules/ ディレクトリ内の各ルールファイルには、次の内容が含まれています。
- 説明 — このパターンが重要な理由
- 悪い例 — 避けるべきアンチパターン
- 良い例 — 推奨される実装
- コンテキスト — このルールを適用する場合、または適用しない場合
詳細なリファレンス
詳しいガイダンスとコード例については、rules/ ディレクトリ内の各ルールファイルを参照してください。
コメント
Markdown 対応