nextjs-performance

📁 srbhr/resume-matcher 📅 1 day ago
30
总安装量
4
周安装量
#12326
全站排名
安装命令
npx skills add https://github.com/srbhr/resume-matcher --skill nextjs-performance

Agent 安装分布

opencode 4
gemini-cli 4
github-copilot 4
codex 4
kimi-cli 3
amp 3

Skill 文档

Next.js Performance

Before Writing Code

  1. Read docs/agent/architecture/nextjs-critical-fixes.md for full patterns
  2. Check existing components in apps/frontend/components/

Critical Rules

Waterfalls

  • Use Promise.all() for independent fetches
  • Wrap slow data in <Suspense> boundaries
  • Defer await into branches where needed
// WRONG
const resumes = await fetchResumes();
const jobs = await fetchJobs();

// RIGHT
const [resumes, jobs] = await Promise.all([fetchResumes(), fetchJobs()]);

Bundle Size

  • NO barrel imports: import X from 'lucide-react' is WRONG
  • YES direct imports: import X from 'lucide-react/dist/esm/icons/x'
  • Use next/dynamic for heavy components (editors, charts, PDF)
  • Defer analytics with ssr: false
import dynamic from 'next/dynamic';
const HeavyEditor = dynamic(() => import('./HeavyEditor'), { ssr: false });

Server Actions

  • ALWAYS check auth INSIDE the action, not just middleware
  • Verify resource ownership before mutations

Production Build

  • Run npm run build && npm run start, NOT npm run dev
  • Docker must use standalone output

Pre-PR Checklist

[ ] No sequential awaits for independent data
[ ] Icons imported directly (not barrel)
[ ] Heavy components use next/dynamic
[ ] Server Actions have auth inside
[ ] Suspense around slow fetches