Ein modernes Next.js Projekt mit Tailwind CSS 4, Design Tokens und Shadcn UI.
Alle Design-Werte kommen aus src/styles/tokens.json und werden automatisch in Tailwind CSS integriert.
src/styles/tokens.json- Design Tokens (Figma/Design Studio Format)src/styles/tokens.ts- TypeScript Export der Tokenssrc/styles/tokens.css- CSS Custom Propertiestailwind.config.ts- Tailwind Konfiguration mit Token-Integration
// ✅ KORREKT - Verwendet Tokens
<div className="bg-neutral-50 text-neutral-900">
<h1 className="text-5xl font-bold tracking-tight text-primary-500">
Empatify
</h1>
<div className="max-w-container mx-auto px-6 py-section-desktop">
<Card className="bg-neutral-100 rounded-card p-card shadow-lg">
<Button className="bg-primary-500 hover:bg-primary-600 min-h-button px-button rounded-full">
Get Started
</Button>
</Card>
</div>
</div>.my-component {
background: var(--color-primary-500);
padding: var(--spacing-lg);
border-radius: var(--radius-lg);
box-shadow: var(--shadow-md);
}import { designTokens } from '@/styles/tokens';
const buttonStyle = {
backgroundColor: designTokens.colors.primary[500],
padding: designTokens.spacing.md,
borderRadius: designTokens.radius.full
};- ✅ Next.js 15 mit App Router
- ✅ Tailwind CSS 4 mit Design Token Integration
- ✅ TypeScript für type safety
- ✅ next-intl für Internationalisierung
- ✅ Shadcn UI für Komponenten
- ✅ Design Tokens als Single Source of Truth
- ✅ Cloudflare Ready für Deployment
src/
├── app/ # Next.js App Router
│ ├── [locale]/ # Internationalisierung
│ ├── globals.css # Globale Styles mit Token-Integration
│ └── layout.tsx # Root Layout
├── components/ # UI Komponenten
│ ├── ui/ # Shadcn UI Komponenten
│ └── common/ # Gemeinsame Komponenten
├── styles/ # Design System
│ ├── tokens.json # Design Tokens (Single Source of Truth)
│ ├── tokens.ts # TypeScript Export
│ └── tokens.css # CSS Custom Properties
├── i18n/ # Internationalisierung
└── messages/ # Übersetzungen
Siehe .cursor/rules/Design_Guide.md für detaillierte Richtlinien zur Verwendung der Design Tokens.
- NIEMALS hardcodierte Werte verwenden - alles aus tokens.json
- Bei Änderungen: Nur tokens.json bearbeiten, Tailwind wird automatisch aktualisiert
- Farben: Immer
primary-500,neutral-50etc. verwenden - Spacing: Immer
p-card,gap-gridetc. verwenden
# Dependencies installieren
npm install
# Development Server starten
npm run dev
# Build für Production
npm run buildDas Projekt unterstützt Deutsch und Englisch über next-intl:
import { useTranslations } from 'next-intl';
export default function MyComponent() {
const t = useTranslations();
return <h1>{t('home.title')}</h1>;
}npm run build
# Deploy den dist/ Ordner zu Cloudflare Pagesnpm run build
# Vercel erkennt Next.js automatischBei Änderungen der Design Tokens:
src/styles/tokens.jsonbearbeitennpm run devneu starten- Tailwind wird automatisch aktualisiert
- Alle Komponenten verwenden die neuen Werte
- In
tokens.jsonhinzufügen - In
tokens.tsexportieren - In
tailwind.config.tsintegrieren (falls nötig) - In
tokens.cssals CSS Variable definieren
// Immer Tokens verwenden
<Button className="bg-primary-500 hover:bg-primary-600 px-button min-h-button rounded-full">
Action
</Button>