スキル一覧に戻る
horuz-ai

nextjs-16-architecture

by horuz-ai

1🍴 0📅 2026年1月21日
GitHubで見るManusで実行

SKILL.md


name: nextjs-16-architecture description: > Comprehensive Next.js v16 development with Cache Components, feature-based architecture, and best practices. Use for ANY Next.js 16 task to know - (1) Project structure with features folder pattern, (2) Where to fetch data with use cache, (3) Server vs Client component decisions, (4) One file per query/type/schema/hook pattern, (5) Cache invalidation with updateTag/revalidateTag, (6) Proper component organization within features. Apply to all Next.js 16 development tasks.

Next.js 16 Architecture

Architecture patterns for Next.js 16 with Cache Components and feature-based organization.

Core Philosophy

  1. Dynamic by default, cache what you choose - Use "use cache" explicitly
  2. Fetch in smallest possible component - Don't prop-drill data
  3. Keep everything static, stream only dynamic - Use Suspense for dynamic parts
  4. Suspense boundaries high - Place in pages/layouts, not feature components

Quick Reference

Feature Folder Structure

features/{feature}/
├── components/
│   ├── server/       # Async data-fetching components
│   ├── client/       # 'use client' interactive components
│   └── skeletons/    # Loading states for Suspense
├── data/             # Database queries (SELECT, INSERT, UPDATE, DELETE)
├── actions/          # Server Actions ('use server' + cache invalidation)
├── types/            # TypeScript types (1 file = 1 type)
├── schemas/          # Zod schemas (1 file = 1 schema)
├── hooks/            # Client-side hooks
└── lib/              # Feature-specific utilities

File Naming

TypePatternExample
Server componentkebab-case.tsxagent-header.tsx
Client componentkebab-case.tsxlogin-form.tsx
Skeleton{name}-skeleton.tsxagent-header-skeleton.tsx
GET queryget-{entity}.tsget-agent.ts
GET multipleget-{entities}.tsget-agents.ts
CREATEcreate-{entity}.tscreate-agent.ts
DELETEdelete-{entity}.tsdelete-agent.ts
Server Action{verb}-{entity}-action.tsdelete-agent-action.ts

Cache Pattern

// Data file (SELECT with cache)
export async function getEntity(id: number) {
  "use cache";
  cacheTag(`entity-${id}`);
  cacheLife("hours");
  return await db.select()...
}

// Server Action (mutation + invalidation)
"use server";
export async function deleteEntityAction(id: number) {
  await deleteEntity(id);
  updateTag(`entity-${id}`);
}

Import Rules

  • Always absolute: @/features/...
  • Never relative: ../../../
  • Direction: app/features/shared/

References

Load these based on what you need:

スコア

総合スコア

40/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です