CommunityCodierung & Entwicklunggithub.com

kit:web-frameworks

Entwickle mit Next.js (App Router, RSC, SSR, ISR) und Turborepo Monorepos. Verwende es für React-Apps, serverseitiges Rendern, Build-Optimierung, Caching-Strategien und gemeinsame Abhängigkeiten.

Was ist kit:web-frameworks?

Diese Skill-Gruppe bietet eine umfassende Anleitung zur Entwicklung moderner Full-Stack-Webanwendungen mit Next.js, Turborepo und RemixIcon. Next.js dient als leistungsstarkes React-Framework mit Funktionen wie SSR, SSG, RSC und Optimierungen. Turborepo ist ein hochperformantes Build-System für JavaScript/TypeScript-Monorepos, das intelligentes Caching und parallele Aufgabenausführung ermöglicht. RemixIcon stellt eine umfangreiche Icon-Bibliothek mit über 3100 Symbolen im outlined- und filled-Stil bereit. Die Gruppe deckt verschiedene Anwendungsfälle ab, von eigenständigen Next.js-Anwendungen bis hin zu komplexen Monorepo-Strukturen mit mehreren Apps und gemeinsam genutzten Paketen. Sie enthält Referenzen zu App Router, Server Components, Data Fetching und Optimierung, sowie praktische Muster für Full-Stack-Monorepos, gemeinsame Komponentenbibliotheken und optimierte Datenabfragen.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/darrenak403/kit-skills/tree/HEAD/skills/kit-web-frameworks

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Skill-Gruppe Web Frameworks

Umfassender Leitfaden für die Entwicklung moderner Full-Stack-Webanwendungen mit Next.js, Turborepo und RemixIcon.

Überblick

Diese Skill-Gruppe kombiniert drei leistungsstarke Tools für die Webentwicklung:

Next.js – React-Framework mit SSR, SSG, RSC und Optimierungsfunktionen Turborepo – Hochperformantes Monorepo-Build-System für JavaScript/TypeScript RemixIcon – Icon-Bibliothek mit über 3100 Symbolen im outlined- und filled-Stil

Wann diese Skill-Gruppe verwenden

  • Erstellung neuer Full-Stack-Webanwendungen mit modernem React
  • Einrichtung von Monorepos mit mehreren Apps und gemeinsam genutzten Paketen
  • Implementierung von serverseitigem Rendering und statischer Generierung
  • Optimierung der Build-Leistung durch intelligentes Caching
  • Erstellung konsistenter Benutzeroberflächen mit professioneller Ikonographie
  • Verwaltung von Workspace-Abhängigkeiten über mehrere Projekte hinweg
  • Bereitstellung produktionsreifer Anwendungen mit entsprechender Optimierung

Leitfaden zur Stack-Auswahl

Einzelne Anwendung: Next.js + RemixIcon

Verwenden Sie dies beim Erstellen einer eigenständigen Anwendung:

  • E-Commerce-Seiten
  • Marketing-Websites
  • SaaS-Anwendungen
  • Dokumentationsseiten
  • Blogs und Content-Plattformen

Einrichtung:

npx create-next-app@latest my-app
cd my-app
npm install remixicon

Monorepo: Next.js + Turborepo + RemixIcon

Verwenden Sie dies beim Erstellen mehrerer Anwendungen mit gemeinsamem Code:

  • Microfrontends
  • Multi-Tenant-Plattformen
  • Interne Tools mit gemeinsam genutzter Komponentenbibliothek
  • Mehrere Apps (Web, Admin, Mobile-Web) mit gemeinsamer Logik
  • Designsystem mit Dokumentationsseite

Einrichtung:

npx create-turbo@latest my-monorepo
# Konfigurieren Sie dann Next.js-Apps im apps/-Verzeichnis
# Installieren Sie remixicon in den gemeinsamen UI-Paketen

Vergleich der Framework-Funktionen

FunktionNext.jsTurborepoRemixIcon
HauptzweckWeb-FrameworkBuild-SystemUI-Icons
Am besten fürSSR/SSG-AppsMonoreposKonsistente Ikonographie
LeistungIntegrierte OptimierungCaching & parallele AufgabenLeichte Fonts/SVG
TypeScriptVollständige UnterstützungVollständige UnterstützungTypdefinitionen verfügbar

Schnellstart

Next.js-Anwendung

# Neues Projekt erstellen
npx create-next-app@latest my-app
cd my-app

# RemixIcon installieren
npm install remixicon

# Import im Layout
# app/layout.tsx
import 'remixicon/fonts/remixicon.css'

# Entwicklung starten
npm run dev

Turborepo-Monorepo

# Monorepo erstellen
npx create-turbo@latest my-monorepo
cd my-monorepo

# Struktur:
# apps/web/          – Next.js-Anwendung
# apps/docs/         – Dokumentationsseite
# packages/ui/       – Gemeinsame Komponenten mit RemixIcon
# packages/config/   – Gemeinsame Konfigurationen
# turbo.json         – Pipeline-Konfiguration

# Alle Apps starten
npm run dev

# Alle Pakete bauen
npm run build

RemixIcon-Integration

// Webfont (HTML/CSS)
<i className="ri-home-line"></i>
<i className="ri-search-fill ri-2x"></i>

// React-Komponente
import { RiHomeLine, RiSearchFill } from "@remixicon/react"
<RiHomeLine size={24} />
<RiSearchFill size={32} color="blue" />

Referenznavigation

Next.js-Referenzen:

Turborepo-Referenzen:

RemixIcon-Referenzen:

Häufige Muster und Arbeitsabläufe

Muster 1: Full-Stack-Monorepo

my-monorepo/
├── apps/
│   ├── web/              # Kundenseitige Next.js-App
│   ├── admin/            # Admin-Dashboard (Next.js-App)
│   └── docs/             # Dokumentationsseite
├── packages/
│   ├── ui/               # Gemeinsame UI mit RemixIcon
│   ├── api-client/       # API-Client-Bibliothek
│   ├── config/           # ESLint-, TypeScript-Konfigurationen
│   └── types/            # Gemeinsame TypeScript-Typen
└── turbo.json            # Build-Pipeline

turbo.json:

{
  "$schema": "https://turbo.build/schema.json",
  "pipeline": {
    "build": {
      "dependsOn": ["^build"],
      "outputs": [".next/**", "!.next/cache/**", "dist/**"]
    },
    "dev": {
      "cache": false,
      "persistent": true
    },
    "lint": {},
    "test": {
      "dependsOn": ["build"]
    }
  }
}

Muster 2: Gemeinsame Komponentenbibliothek

// packages/ui/src/button.tsx
import { RiLoader4Line } from "@remixicon/react";

export function Button({ children, loading, icon }) {
  return (
    <button>
      {loading ? <RiLoader4Line className="animate-spin" /> : icon}
      {children}
    </button>
  );
}

// apps/web/app/page.tsx
import { Button } from "@repo/ui/button";
import { RiHomeLine } from "@remixicon/react";

export default function Page() {
  return <Button icon={<RiHomeLine />}>Home</Button>;
}

Muster 3: Optimierter Datenabruf

// app/posts/[slug]/page.tsx
import { notFound } from "next/navigation";

// Statische Generierung zur Build-Zeit
export async function generateStaticParams() {
  const posts = await getPosts();
  return posts.map((post) => ({ slug: post.slug }));
}

// Stündliche Revalidierung
async function getPost(slug: string) {
  const res = await fetch(`https://api.example.com/posts/${slug}`, {
    next: { revalidate: 3600 },
  });
  if (!res.ok) return null;
  return res.json();
}

export default async function Post({ params }: { params: { slug: string } }) {
  const post = await getPost(params.slug);
  if (!post) notFound();

  return <article>{post.content}</article>;
}

Muster 4: Monorepo-CI/CD-Pipeline

# .github/workflows/ci.yml
name: CI
on: [push, pull_request]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 18
      - run: npm install
      - run: npx turbo run build test lint
        env:
          TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
          TURBO_TEAM: ${{ secrets.TURBO_TEAM }}

Hilfsskripte

Python-Hilfsprogramme im scripts/-Verzeichnis:

nextjs_init.py – Next.js-Projekt mit Best Practices initialisieren turborepo_migrate.py – Bestehendes Monorepo zu Turborepo konvertieren

Verwendungsbeispiele:

# Neue Next.js-App mit TypeScript und empfohlener Einrichtung initialisieren
python scripts/nextjs_init.py --name my-app --typescript --app-router

# Bestehendes Monorepo zu Turborepo migrieren (mit Probelauf)
python scripts/turborepo_migrate.py --path ./my-monorepo --dry-run

# Tests ausführen
cd scripts/tests
pytest

Best Practices

Next.js:

  • Standardmäßig Server-Komponenten verwenden, Client-Komponenten nur bei Bedarf
  • Richtige Lade- und Fehlerzustände implementieren
  • Image-Komponente für automatische Optimierung verwenden
  • Korrekte Metadaten für SEO setzen
  • Caching-Strategien nutzen (force-cache, revalidate, no-store)
  • Stabile Next.js-Sicherheitsreleases getrennt von Canary-Framework-Abweichungen verfolgen. Produktions-Apps sollten auf einer gepatchten stabilen Release-Linie bleiben und Canary-Pins nur beim Testen eines spezifischen Upstream-Problems verwenden.

Turborepo:

  • Monorepo mit klarer Trennung strukturieren (apps/, packages/)
  • Aufgabenabhängigkeiten korrekt definieren (^build für topologisch)
  • Ausgaben für korrektes Caching konfigurieren
  • Remote-Caching für Teamzusammenarbeit aktivieren
  • Filter verwenden, um Aufgaben nur für geänderte Pakete auszuführen

RemixIcon:

  • Line-Stil für minimale Oberflächen, Fill für Betonung verwenden
  • 24x24-Raster-Ausrichtung für gestochen scharfe Darstellung einhalten
  • aria-labels für Barrierefreiheit bereitstellen
  • currentColor für flexibles Theming verwenden
  • Webfonts für mehrere Icons bevorzugen, SVG für einzelne Icons

Ressourcen

Umsetzungs-Checkliste

Erstellung mit diesem Stack:

  • Projektstruktur erstellen (Einzel-App oder Monorepo)
  • TypeScript und ESLint konfigurieren
  • Next.js mit App Router einrichten
  • Turborepo-Pipeline konfigurieren (falls Monorepo)
  • RemixIcon installieren und konfigurieren
  • Routing und Layouts implementieren
  • Lade- und Fehlerzustände hinzufügen
  • Bild- und Schriftoptimierung konfigurieren
  • Datenabrufmuster einrichten
  • Caching-Strategien konfigurieren
  • API-Routen nach Bedarf hinzufügen
  • Gemeinsame Komponentenbibliothek implementieren (falls Monorepo)
  • Remote-Caching konfigurieren (falls Monorepo)
  • CI/CD-Pipeline einrichten
  • Bereitstellungsplattform konfigurieren

Verwandte Skills