mcpField
N
nextjs-architecture

nextjs-architecture

github.com/89jobrien開発465 回インストール10 週間前に更新
リポジトリ

nextjs-architecture について

Next.jsアプリ開発向けにアーキテクチャを案内するスキルです。App Router、Server Components、パフォーマンス改善、Pages Routerからの移行を扱います。

主な機能

  1. 01アプリ構成の設計
  2. 02App Routerパターン
  3. 03Server Components
  4. 04パフォーマンス最適化
  5. 05Pages Routerからの移行

活用シーン

  1. 01Next.jsアプリの構成計画
  2. 02Pages RouterからApp Routerへの移行
  3. 03Server Componentsの実装
  4. 04本番環境のパフォーマンス改善

インストール

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

$npx skills add https://github.com/89jobrien/steve --skill nextjs-architecture

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

詳細

Next.js アーキテクチャ

このスキルでは、App Router、Server Components、パフォーマンス最適化、移行戦略など、Next.js アーキテクチャに関する専門知識を提供します。

このスキルを使用する場面

  • Next.js アプリケーションのアーキテクチャを設計するとき
  • Pages Router から App Router に移行するとき
  • Server Components を実装するとき
  • Next.js のパフォーマンスを最適化するとき
  • Next.js のアーキテクチャに関する意思決定を行うとき
  • フルスタックの Next.js アプリケーションを構築するとき

このスキルでできること

  1. アーキテクチャ設計:Next.js アプリケーションの構成を設計します
  2. App Router:App Router のパターンとルーティングを実装します
  3. Server Components:Server Components を効果的に活用します
  4. パフォーマンス:本番環境向けに Next.js を最適化します
  5. 移行:Pages Router から App Router に移行します
  6. ベストプラクティス:Next.js のベストプラクティスを適用します

使用方法

アーキテクチャを設計する
Design the architecture for this Next.js application
Migrate this Pages Router app to App Router
特定のパターン
Implement Server Components for this feature

アーキテクチャパターン

App Router の構成
app/
├── (auth)/
│   ├── login/page.tsx
│   └── register/page.tsx
├── dashboard/
│   ├── layout.tsx
│   ├── page.tsx
│   └── analytics/page.tsx
├── api/
│   └── users/route.ts
└── layout.tsx
Server Components

パターン:

  • デフォルトでは Server Components を使用します
  • 'use client' を指定して Client Components を使用します
  • Server Components からデータベースに直接アクセスします
  • Suspense を使用してストリーミングします
パフォーマンス

戦略:

  • 内容が既知の場合は静的生成を使用します
  • 頻繁に変更される内容には ISR を使用します
  • クエリに時間がかかる場合はストリーミングします
  • 画像を最適化します
  • コードを分割します

例

例 1:App Router への移行

入力:Pages Router から App Router への移行

出力:

## Next.js Migration: Pages Router → App Router

### Migration Steps

**1. Convert Layout**
```typescript
// Before: pages/_app.tsx
export default function App({ Component, pageProps }) {
  return <Component {...pageProps} />;
}

// After: app/layout.tsx
export default function RootLayout({ children }) {
  return (
    <html>
      <body>{children}</body>
    </html>
  );
}

2. ページを変換する

// Before: pages/users/[id].tsx
export default function UserPage({ user }) {
  return <UserProfile user={user} />;
}

// After: app/users/[id]/page.tsx
export default async function UserPage({ params }) {
  const user = await getUser(params.id);
  return <UserProfile user={user} />;
}

## Best Practices

### Next.js Architecture

1. **Server First**: Use Server Components by default
2. **Client When Needed**: Add 'use client' only when necessary
3. **Static When Possible**: Generate static pages when feasible
4. **Stream Slow Queries**: Use Suspense for slow data
5. **Optimize Images**: Use Next.js Image component

## Related Use Cases

- Next.js architecture design
- App Router migration
- Server Components implementation
- Next.js performance optimization
- Full-stack Next.js development

コメント