askill
nextjs-turborepo

nextjs-turborepoSafety 95Repository

Full-stack web frameworks — Next.js 15 (App Router, Server Components, RSC, PPR, SSR/SSG/ISR), Turborepo (monorepo, task pipelines, remote caching). Use for building React applications, server-side rendering, monorepo management, build optimization, and full-stack TypeScript projects.

0 stars
1.2k downloads
Updated 2/13/2026

Package Files

Loading files...
SKILL.md

Web Frameworks Mastery

Build modern full-stack applications with Next.js App Router and Turborepo monorepo.

Framework Selection

NeedChoose
Single full-stack appNext.js standalone
Multiple apps sharing codeNext.js + Turborepo monorepo
Static marketing siteNext.js with SSG
SaaS with dashboardNext.js App Router + RSC
API-only backendUse Rust-backend-advance (Axum) instead

Quick Start

# Single app
npx create-next-app@latest my-app
cd my-app && npm run dev

# Monorepo
npx create-turbo@latest my-monorepo
cd my-monorepo && npm run dev

Reference Navigation

Next.js

  • App Router Architecture — Routing, layouts, pages, loading/error states, parallel routes
  • Server Components — RSC patterns, client vs server, streaming, use client/server
  • Data Fetching — fetch, caching, revalidation, server actions, loading.tsx
  • Optimization — Images, fonts, scripts, bundle analysis, PPR, metadata/SEO

Turborepo

Key Patterns

App Router Structure

app/
├── layout.tsx          # Root layout (wraps all pages)
├── page.tsx            # Home page (/)
├── loading.tsx         # Loading UI
├── error.tsx           # Error boundary
├── not-found.tsx       # 404 page
├── dashboard/
│   ├── layout.tsx      # Dashboard layout
│   ├── page.tsx        # /dashboard
│   └── settings/
│       └── page.tsx    # /dashboard/settings
└── api/
    └── users/
        └── route.ts    # API route handler

Server Component (default)

// app/users/page.tsx — Server Component (no "use client")
export default async function UsersPage() {
  const users = await fetch('https://api.example.com/users', {
    next: { revalidate: 3600 }  // ISR: refresh every hour
  }).then(r => r.json())

  return (
    <main>
      <h1>Users</h1>
      {users.map(u => <UserCard key={u.id} user={u} />)}
    </main>
  )
}

Client Component

"use client"
import { useState } from 'react'

export function Counter() {
  const [count, setCount] = useState(0)
  return <button onClick={() => setCount(c => c + 1)}>Count: {count}</button>
}

Monorepo Structure

my-monorepo/
├── apps/
│   ├── web/          # Customer-facing Next.js
│   ├── admin/        # Admin dashboard Next.js
│   └── docs/         # Documentation
├── packages/
│   ├── ui/           # Shared components
│   ├── config/       # ESLint, TypeScript configs
│   └── types/        # Shared types
├── turbo.json
└── package.json

Best Practices

Next.js: Default to Server Components, use "use client" only when needed. Implement proper loading/error states. Use Image component for optimization. Set metadata for SEO.

Turborepo: Clear separation (apps/ + packages/). Define task dependencies correctly. Enable remote caching. Use --filter for targeted builds.

Related Skills

SkillWhen to Use
ui-stylingTailwind CSS, shadcn/ui components
frontend-designDesign tokens, typography, color systems
authenticationNext.js authentication setup
testingE2E testing with Playwright
devopsDeployment, Vercel, Docker

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

85/100Analyzed 2/19/2026

High-quality technical reference skill for Next.js 15 and Turborepo. Provides comprehensive coverage of App Router, Server Components, monorepo patterns with actionable code examples and framework selection guidance. Well-structured with tables and clear sections. Minor issues: reference files may not exist, tags are mismatched (api/ci-cd don't fit well). Depth >4 but content is general-purpose not internal-only.

95
88
88
72
82

Metadata

Licenseunknown
Version-
Updated2/13/2026
Publisherthienty1207

Tags

apici-cd