nextjs-standards
13
总安装量
8
周安装量
#25153
全站排名
安装命令
npx skills add https://github.com/jstarfilms/vibecode-protocol-suite --skill nextjs-standards
Agent 安装分布
opencode
7
gemini-cli
7
windsurf
7
github-copilot
7
codex
7
Skill 文档
Next.js Coding Standards Skill
Auto-Load Trigger: Presence of
next.config.*or"next"inpackage.json
When to Use
- Starting a new Next.js project
- Before any TypeScript/React file edit
- When context seems lost mid-session
- After
/agent_resetor/vibe-primeAgent
ð Verification Protocol (MANDATORY)
After Every TypeScript/TSX File Edit
npx tsc --noEmit
If this fails:
- DO NOT proceed to next file
- Fix the type error immediately
- Re-run until it passes
- Only then continue
Before Any Handoff
python scripts/vibe-verify.py
All checks must pass before claiming “done.”
The Blueprint & Build Protocol
Phase 1: Blueprint (Before Coding)
- Check
docs/features/for existing patterns - Create/update
docs/features/FeatureName.md - Wait for approval before coding
Phase 2: Build (Implementation)
- Announce which FR-XXX you’re implementing
- Reference the corresponding issue in
docs/issues/ - Implement one step at a time
tsc --noEmitafter every file- Mark acceptance criteria as complete
Phase 3: Finalization
- Run full verification (
vibe-verify.py) - Update issue file with completion status
- Generate handoff summary
Full-Stack Type Safety
The AI reliability secret: TypeScript tells you when you broke something.
Core Principle
If you change the backend, the frontend MUST type-check. If type-check fails:
- The change broke something
- Fix it before moving on
- Never ignore type errors
Stack Alignment
- Server Components fetch data â types flow to client
- API routes return typed responses â frontend consumes them
- Prisma schema changes â regenerate client â type-check
Next.js App Router Rules
- Server Components Default â No
'use client'unless required - Client Components Sparingly â Only for interactivity, hooks, browser APIs
- Data Fetching â In async Server Components, not
useEffect - Route Handlers â All API in
app/api/.../route.ts - Caching â Be explicit:
{ cache: 'no-store' }orrevalidate = N
File Structure (Feature-Sliced)
src/
âââ app/ # Next.js App Router pages
âââ features/ # Business domains
â âââ [FeatureName]/
â âââ components/ # Feature-specific components
â âââ hooks/ # Feature-specific hooks
â âââ *.service.ts # Business logic
âââ components/
â âââ ui/ # Reusable UI (Button, Card)
â âââ layout/ # Layout components
âââ lib/ # Utilities, clients
âââ scripts/ # Automation (vibe-verify.py)
Component Rules
- 200-Line Limit â Refactor if exceeded
- Single Responsibility â One thing per component
- Props Interface â Always use TypeScript interfaces
- Custom Hooks â Extract stateful logic into
use*hooks
Styling (Tailwind v4)
Why Tailwind for AI Reliability: Tailwind colocates styles with UI in a single file. Unlike separate
.cssfiles, AI agents see the complete context (logic + styles + structure) without jumping between files. This dramatically reduces hallucinations and context fragmentation.
@import "tailwindcss";
@theme {
--color-background: #ffffff;
--color-foreground: #0b1221;
--color-border: #e5e7eb;
}
@theme .dark {
--color-background: #0b1221;
--color-foreground: #e5e7eb;
}
- Use
@themetokens, nottailwind.configextensions - Utility-first, no custom CSS files
- Dark mode via
.darkclass on<html>
Backend Rules
Service Layer Pattern
- Route Handlers = Controllers (parse request, return response)
- Services = Business logic (DB queries, calculations)
Validation
import { z } from 'zod';
const schema = z.object({
email: z.string().email(),
password: z.string().min(8),
});
All inputs validated with Zod. No exceptions.
Templates Available
This skill provides templates in templates/:
- Coding_Guidelines.md â Copy to
docs/Coding_Guidelines.md - Issue_Template.md â Format for FR issues
Quick Reference
| Command | When |
|---|---|
npx tsc --noEmit |
After every TS/TSX edit |
python scripts/vibe-verify.py |
Before handoff |
npm run lint |
Check code style |
npm run build |
Verify production build |
Recovery Protocol
If you break something:
git status # See changed files
git diff # See what changed
git checkout -- <file> # Revert specific file
git stash # Save and revert all