@flitzrrr/frontend-design-skills 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.aider/conventions.md +47 -0
- package/.cursorrules +38 -0
- package/.github/copilot-instructions.md +47 -0
- package/.lovable +31 -0
- package/.windsurfrules +38 -0
- package/AGENTS.md +18 -0
- package/CLAUDE.md +18 -0
- package/LICENSE +21 -0
- package/README.md +265 -0
- package/bin/cli.js +317 -0
- package/bin/test-cli.js +119 -0
- package/package.json +55 -0
- package/skills-src/_template/SKILL.md +36 -0
- package/skills-src/_template/references/.gitkeep +0 -0
- package/skills-src/accessibility/SKILL.md +186 -0
- package/skills-src/accessibility/references/patterns.md +192 -0
- package/skills-src/agent-ui-design/SKILL.md +134 -0
- package/skills-src/agent-ui-design/references/implementation.md +140 -0
- package/skills-src/agent-ui-design/references/patterns.md +79 -0
- package/skills-src/ai-design-workflow/SKILL.md +145 -0
- package/skills-src/branding-identity/SKILL.md +156 -0
- package/skills-src/color-theory/SKILL.md +138 -0
- package/skills-src/color-theory/references/patterns.md +123 -0
- package/skills-src/component-patterns/SKILL.md +127 -0
- package/skills-src/component-patterns/references/implementation.md +130 -0
- package/skills-src/component-patterns/references/patterns.md +60 -0
- package/skills-src/customer-journey/SKILL.md +141 -0
- package/skills-src/design-process/SKILL.md +148 -0
- package/skills-src/design-trends/SKILL.md +126 -0
- package/skills-src/design-trends/references/patterns.md +96 -0
- package/skills-src/images-media/SKILL.md +161 -0
- package/skills-src/landing-pages/SKILL.md +153 -0
- package/skills-src/navigation-design/SKILL.md +173 -0
- package/skills-src/responsive-design/SKILL.md +162 -0
- package/skills-src/ui-design/SKILL.md +126 -0
- package/skills-src/ui-design/references/patterns.md +90 -0
- package/skills-src/ui-patterns/SKILL.md +135 -0
- package/skills-src/ui-patterns/references/extended-rules.md +31 -0
- package/skills-src/ui-patterns/references/patterns.md +52 -0
- package/skills-src/usability/SKILL.md +153 -0
- package/skills-src/ux-design/SKILL.md +140 -0
- package/skills-src/ux-design/references/patterns.md +98 -0
- package/skills-src/visual-direction/SKILL.md +138 -0
- package/skills-src/visual-direction/references/archetypen.md +93 -0
- package/skills-src/web-typography/SKILL.md +133 -0
- package/skills-src/web-typography/references/patterns.md +109 -0
- package/skills-src/webdesign-review/SKILL.md +130 -0
- package/skills-src/webdesign-review/references/review-workflow.md +143 -0
- package/skills-src/website-audit/SKILL.md +171 -0
- package/spec/content-map.json +54 -0
- package/spec/design-spec.md +121 -0
- package/spec/domains/01-ui-design.md +136 -0
- package/spec/domains/02-ux-design.md +143 -0
- package/spec/domains/03-typography.md +150 -0
- package/spec/domains/04-color-theory.md +145 -0
- package/spec/domains/05-accessibility.md +213 -0
- package/spec/domains/06-usability.md +181 -0
- package/spec/domains/07-responsive-design.md +201 -0
- package/spec/domains/08-navigation.md +201 -0
- package/spec/domains/09-images-media.md +198 -0
- package/spec/domains/10-branding.md +195 -0
- package/spec/domains/11-customer-journey.md +164 -0
- package/spec/domains/12-design-process.md +154 -0
- package/spec/domains/13-ai-design-workflow.md +155 -0
- package/spec/domains/14-landing-pages.md +169 -0
- package/spec/domains/15-website-audit-relaunch.md +216 -0
- package/spec/domains/16-design-trends.md +150 -0
- package/spec/domains/17-ui-patterns.md +169 -0
- package/spec/domains/18-visual-direction.md +166 -0
- package/spec/domains/19-component-architecture.md +183 -0
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
# Domain: Visual-Direction
|
|
2
|
+
|
|
3
|
+
> Aktuelle visuelle Richtung: Farbpaletten, Schriftpaarungen, Layout-Kompositionen und Bildsprache. Abgeleitet aus Dribbble-Trending, Behance-Top-Projekte, Land-book-Kuratierung und Godly-Featured Sites (Q1/Q2 2026).
|
|
4
|
+
|
|
5
|
+
## Prinzipien
|
|
6
|
+
|
|
7
|
+
1. **Farbe kommuniziert Marke, nicht Trend** -- Paletten muessen aus der Markenidentitaet abgeleitet werden, nicht aus Dribbble-Trends. Trends informieren den Rahmen, die Marke bestimmt die Ausfuehrung.
|
|
8
|
+
2. **Typografie erzeugt Stimmung** -- Die Wahl der Schrift definiert den emotionalen Ton staerker als jedes andere visuelle Element. Eine Grotesk sagt "Modern", eine Serif sagt "Vertrauen", eine Display-Schrift sagt "Kreativ".
|
|
9
|
+
3. **Weissraum ist Gestaltung** -- Leerer Raum ist nicht verschwendeter Raum. Er lenkt den Blick, schafft Hierarchie und signalisiert Premium-Qualitaet.
|
|
10
|
+
4. **Konsistenz schlaegt Kreativitaet** -- Ein durchgaengiges visuelles System wirkt professioneller als punktuelle Brillanz. Jedes Element muss zum System passen.
|
|
11
|
+
5. **Kontrast treibt Hierarchie** -- Visueller Kontrast (Groesse, Farbe, Gewicht, Raum) ist das primaere Werkzeug fuer Informationshierarchie.
|
|
12
|
+
|
|
13
|
+
## Regeln
|
|
14
|
+
|
|
15
|
+
### Farbpaletten
|
|
16
|
+
|
|
17
|
+
- **MACHE** eine strukturierte Palette mit klaren Rollen:
|
|
18
|
+
- **Primaer**: Markenfarbe, sparsam eingesetzt (CTAs, aktive Zustaende)
|
|
19
|
+
- **Neutral**: Grauabstufungen fuer Text, Hintergruende, Borders (mindestens 5 Stufen)
|
|
20
|
+
- **Semantisch**: Erfolg (Gruen), Warnung (Gelb/Orange), Fehler (Rot), Info (Blau)
|
|
21
|
+
- **Akzent**: Optional, fuer Hervorhebungen und Illustrationen
|
|
22
|
+
- **MACHE** Deep Darks als Hintergrund fuer Tech/SaaS: Nicht #000000, sondern #0A0A0A bis #1A1A1A. Behance-Trend: Pure Black wirkt billig, Deep Dark wirkt premium.
|
|
23
|
+
- **MACHE** Warm Neutrals fuer Lifestyle/Brand: Off-Whites (#FAFAF5 bis #F5F0EB) statt reinem Weiss. Land-book zeigt dies bei Ecommerce, Fashion und Food.
|
|
24
|
+
- **MACHE** monochrome Akzente: Eine starke Farbe genuegt. Godly-Featured Sites wie Amie (Violett), Vercel (Weiss/Schwarz-Akzent), Reflect (Blau) zeigen Einfarben-Systeme.
|
|
25
|
+
- **VERMEIDE** mehr als 2 chromatische Farben in der Hauptpalette. Neutrale zaehlen nicht.
|
|
26
|
+
- **VERMEIDE** gesaettigte Farben auf grossen Flaechen. Hohe Saettigung fuer kleine Akzente, reduzierte Saettigung fuer Hintergruende.
|
|
27
|
+
- **VERMEIDE** Farbkombinationen mit Kontrastverhaeeltnis unter 4.5:1 fuer Text (WCAG AA).
|
|
28
|
+
|
|
29
|
+
#### Aktuelle Paletten-Archetypen (2026)
|
|
30
|
+
|
|
31
|
+
**Tech Minimal**: #0A0A0A (bg) / #FAFAFA (text) / #3B82F6 (accent) / #27272A (surface)
|
|
32
|
+
Referenz: Godly-Sites wie Status, Reflect, Height.
|
|
33
|
+
|
|
34
|
+
**Warm Premium**: #F5F0EB (bg) / #1A1A1A (text) / #C4956A (accent) / #E8E0D5 (surface)
|
|
35
|
+
Referenz: Land-book Ecommerce und Fashion-Kategorien, CSSDA-Gewinner wie Springs.
|
|
36
|
+
|
|
37
|
+
**Bold Creative**: #1A1A2E (bg) / #FFFFFF (text) / #FF6B35 (accent) / #16213E (surface)
|
|
38
|
+
Referenz: Awwwards-Portfolios, Godly Creative Sites wie KidSuper World, UNVEIL.
|
|
39
|
+
|
|
40
|
+
**Clean SaaS**: #FFFFFF (bg) / #111827 (text) / #6366F1 (accent) / #F9FAFB (surface)
|
|
41
|
+
Referenz: Dribbble SaaS-Designs, Behance lifeOS, SmileCare.
|
|
42
|
+
|
|
43
|
+
**Nature/Wellness**: #F7F5F0 (bg) / #2D3436 (text) / #00B894 (accent) / #EBE5DA (surface)
|
|
44
|
+
Referenz: CSSDA-Gewinner Springs (Wellness), Land-book Lifestyle-Kategorie.
|
|
45
|
+
|
|
46
|
+
### Schriftpaarungen
|
|
47
|
+
|
|
48
|
+
- **MACHE** maximal 2 Schriftfamilien pro Projekt:
|
|
49
|
+
- **Option A**: Geometrische Grotesk (Display) + Humanistische Sans (Text). Beispiel: Inter + DM Sans.
|
|
50
|
+
- **Option B**: Moderne Serif (Display) + Neutrale Sans (Text). Beispiel: Fraunces + Inter.
|
|
51
|
+
- **Option C**: Monospace (Display/Code) + Sans (Text). Fuer Developer-Tools. Beispiel: JetBrains Mono + Inter.
|
|
52
|
+
- **MACHE** starken Groessenkontrast: Display mindestens 3x groesser als Body-Text. Dribbble-Trending zeigt: 72-120px Headlines bei 16-18px Body.
|
|
53
|
+
- **MACHE** Variable Fonts wo moeglich. Ein Font-File, viele Gewichte. Performance-Vorteil und fliessende Gewichtsuebergaenge.
|
|
54
|
+
- **VERMEIDE** Schriften mit aehnlichem Charakter zu paaren. Kontrast ist noetig: Serif + Sans, nicht Sans + Sans (es sei denn, bewusst minimalistisch).
|
|
55
|
+
- **VERMEIDE** mehr als 4 Gewichtsstufen pro Schrift im Einsatz. Regular, Medium, Semibold, Bold reichen.
|
|
56
|
+
- **VERMEIDE** Schriftgroessen unter 16px fuer Body-Text auf Screens. 16-18px ist Standard 2026.
|
|
57
|
+
|
|
58
|
+
#### Aktuelle Typografie-Trends (2026)
|
|
59
|
+
|
|
60
|
+
1. **Editorial Serif Renaissance**: Display-Serifen erleben Comeback. Playfair Display, Fraunces, Newsreader in Hero-Bereichen. Behance Top-Projekte nutzen dies fuer Premium-Wirkung.
|
|
61
|
+
2. **Mono als Design-Statement**: JetBrains Mono, Geist Mono, Berkeley Mono nicht nur fuer Code, sondern als Design-Element in CTAs und Labels. Godly: Vercel, Linear.
|
|
62
|
+
3. **Ultra-Condensed Headlines**: Enge Laufweiten in grossen Groessen. Beispiel: Aeonik Condensed, Instrument Sans Condensed. CSS Winner SOTD-Gewinner zeigen diesen Trend.
|
|
63
|
+
4. **Handschrift-Akzente**: Vereinzelte handschriftliche Elemente als Kontrast zu sauberer Typografie. Nicht ganze Bloecke, sondern einzelne Woerter oder Annotationen.
|
|
64
|
+
|
|
65
|
+
### Layout-Komposition
|
|
66
|
+
|
|
67
|
+
- **MACHE** asymmetrische Balance: Nicht alles zentriert. Visuelles Gewicht gleichmaessig verteilen, aber nicht spiegelsymmetrisch.
|
|
68
|
+
- **MACHE** grosszuegige vertikale Rhythmen: Sektionsabstaende von 120-200px auf Desktop. Behance und Dribbble Top-Designs zeigen: Mehr Raum = mehr Wertigkeit.
|
|
69
|
+
- **MACHE** ein 12- oder 16-Spalten-Grid als Basis, dann bewusst brechen. CSSDA-WOTD wie Champion For Good (8.57) nutzen Grid-Brueche als Stilmittel.
|
|
70
|
+
- **MACHE** volle Breite fuer Bilder/Visuals, eingeengte Breite (max 720px) fuer Text. Lesbarkeit bei 65-75 Zeichen pro Zeile.
|
|
71
|
+
- **VERMEIDE** gleichmaessige Spalten ohne jede Variation. 50/50-Splits wirken statisch.
|
|
72
|
+
- **VERMEIDE** mehr als 3 verschiedene Container-Breiten pro Seite. Maximal: schmal (Text), mittel (Content), breit (Full-Bleed).
|
|
73
|
+
|
|
74
|
+
#### Aktuelle Layout-Archetypen (2026)
|
|
75
|
+
|
|
76
|
+
**Bento Grid**: Ungleichmaessig grosse Karten in Grid-Formation. Grosse Karte links, kleinere rechts. Vercel Ship, Notion und Apple nutzen dies. Godly-Liebling.
|
|
77
|
+
|
|
78
|
+
**Stacked Sections**: Volle Breite, vertikal gestapelt, jede Sektion eigenes Farbschema. Klare Trennung durch Farbe/Spacing. Dominantes Pattern auf Land-book.
|
|
79
|
+
|
|
80
|
+
**Split Panel**: 50/50 oder 60/40 horizontale Teilung. Bild + Text oder zwei Contentbloecke. CSSDA-Portfolios wie Carles Faus, Artem Shcherban.
|
|
81
|
+
|
|
82
|
+
**Masonry Flow**: Pinterest-artiges Layout mit variablen Hoehen. Fuer Galerien und Portfolio-Grids. SiteInspire zeigt dies in der Portfolio-Kategorie.
|
|
83
|
+
|
|
84
|
+
### Bildsprache und Visuals
|
|
85
|
+
|
|
86
|
+
- **MACHE** konsistente Bild-Behandlung innerhalb eines Projekts: Gleiche Filter, gleiche Perspektive, gleicher Stil.
|
|
87
|
+
- **MACHE** 3D-Elemente gezielt: Abstrakte 3D-Formen als Dekoration, nicht als Ersatz fuer Inhalt. Behance zeigt: Glasmorphe und 3D-Orbs sind weiterhin praesent, aber subtiler geworden.
|
|
88
|
+
- **MACHE** Illustrationen markenspezifisch. Generische Illustrations-Libraries (unDraw etc.) wirken 2026 veraltet.
|
|
89
|
+
- **MACHE** Fotografie mit authentischem Charakter. Lifestyle-Shots mit natuerlichem Licht, keine ueberbelichteten Stock-Fotos.
|
|
90
|
+
- **VERMEIDE** KI-generierte Bilder als Hauptvisuals. Sie sind erkennbar und untergraben Authentizitaet.
|
|
91
|
+
- **VERMEIDE** unkomprimierte Bilder. WebP/AVIF mit Lazy Loading ist Standard.
|
|
92
|
+
- **VERMEIDE** Bilder ohne alt-Text. Barrierefreiheit und SEO erfordern beschreibende Alternativtexte.
|
|
93
|
+
|
|
94
|
+
#### Aktuelle Visual-Trends (2026)
|
|
95
|
+
|
|
96
|
+
1. **Gradient Mesh als Hintergrund**: Weiche, mehrfarbige Gradienten mit Mesh-Effekt. Subtiler als flaechige Gradienten. Dribbble-Top-Designs nutzen dies extensiv.
|
|
97
|
+
2. **Glasmorphismus 2.0**: Weiterentwicklung mit subtileren Effekten. backdrop-filter: blur(8-16px) mit niedriger Opazitaet. Nicht mehr plakativ, sondern als Tiefenebene.
|
|
98
|
+
3. **Grain/Noise-Texturen**: Feines Rauschen (2-5% Opazitaet) auf Hintergruenden fuer haptische Qualitaet. CSSDA-Gewinner nutzen dies in Dark-Theme-Designs.
|
|
99
|
+
4. **Duotone-Fotografie**: Zweifarbige Bildbehandlung fuer konsistente Bildsprache. Starker Markeneffekt.
|
|
100
|
+
5. **Abstract Blobs**: Organische, amorphe Formen als Hintergrund-Dekoration. Weicher als geometrische Shapes.
|
|
101
|
+
|
|
102
|
+
## Patterns
|
|
103
|
+
|
|
104
|
+
### Dark Mode First
|
|
105
|
+
**Wann:** Tech-Produkte, Developer Tools, Premium Brands.
|
|
106
|
+
**Was:** Design beginnt mit Dark Mode. Heller Modus wird davon abgeleitet. Godly-Analyse zeigt: 70%+ der Featured Sites sind Dark-Mode-First. Farbsystem mit CSS Custom Properties aufbauen, Theme-Switch ueber class oder data-attribute.
|
|
107
|
+
|
|
108
|
+
### Typographic Hero
|
|
109
|
+
**Wann:** Statement-Landing-Pages, Agency-Sites, Portfolios.
|
|
110
|
+
**Was:** Kein Bild im Hero, nur Typografie. Uebergrosse Headline (100px+), kontrastierende Subline. Negative Space als Design-Element. CSSDA-WOTD Sirnik (8.13), Artem Shcherban (8.26).
|
|
111
|
+
|
|
112
|
+
### Visual Rhythm Section
|
|
113
|
+
**Wann:** Lange Landing-Pages mit mehreren Sektionen.
|
|
114
|
+
**Was:** Alternierende Hintergrundfarben: Dunkel > Hell > Dunkel oder Surface > Background > Surface. Jede Sektion hat eigene Farbtemperatur, aber gleiche Palette.
|
|
115
|
+
|
|
116
|
+
### Monochrome + Accent
|
|
117
|
+
**Wann:** Minimalistische Produkte, Luxury Brands.
|
|
118
|
+
**Was:** Gesamtes Design in Schwarzweiss/Graustufen, eine einzige Akzentfarbe fuer CTAs und Highlights. Godly: Reflect (Blau-Akzent), Status (Gruen-Akzent).
|
|
119
|
+
|
|
120
|
+
### Oversized Typography Grid
|
|
121
|
+
**Wann:** Portfolios, Kreativ-Agenturen, Editorial.
|
|
122
|
+
**Was:** Grosse Typografie als Grid-Element. Buchstaben brechen Spalten, Text wird zum visuellen Muster. Awwwards und CSSDA Portfolio-Gewinner.
|
|
123
|
+
|
|
124
|
+
## Anti-Patterns
|
|
125
|
+
|
|
126
|
+
1. **Trend-Collage** -- Glassmorphismus + Neubrutalism + Neumorphism auf einer Seite. Ein visueller Stil pro Projekt.
|
|
127
|
+
2. **Uebersaettigte Gradienten** -- Der lila-pink-orange Gradient von 2023 wirkt 2026 generisch. Subtile, monochrome Gradienten bevorzugen.
|
|
128
|
+
3. **Stock-Foto-Mix** -- Bilder von verschiedenen Stock-Quellen mit unterschiedlicher Aesthetik. Konsistenz erfordert einheitliche Bildsprache.
|
|
129
|
+
4. **Schrift-Overload** -- 4+ verschiedene Schriftfamilien. Wirkt chaotisch statt kreativ.
|
|
130
|
+
5. **Icon-Inkonsistenz** -- Verschiedene Icon-Sets (Outlined + Filled + Duotone) gemischt. Ein Stil, ein Set.
|
|
131
|
+
6. **Shadow-Overkill** -- Zu viele Schattenstufen und -richtungen. Ein konsistentes Schatten-System mit 3-5 Stufen genuegt.
|
|
132
|
+
7. **Rein dekorative Elemente** -- Shapes und Linien, die keinen Zweck haben. Jedes visuelle Element muss Hierarchie, Gruppierung oder Stimmung unterstuetzen.
|
|
133
|
+
8. **Kontrast-Armut** -- Text auf Bildern ohne Overlay, helle Farben auf hellem Grund. Automatisierte Kontrast-Pruefung einsetzen.
|
|
134
|
+
|
|
135
|
+
## Checkliste
|
|
136
|
+
|
|
137
|
+
- [ ] Farbpalette hat definierte Rollen: Primaer, Neutral (5+ Stufen), Semantisch, Akzent
|
|
138
|
+
- [ ] Alle Text-Hintergrund-Kombinationen erfuellen WCAG AA (4.5:1)
|
|
139
|
+
- [ ] Maximal 2 Schriftfamilien im gesamten Projekt
|
|
140
|
+
- [ ] Body-Text ist mindestens 16px
|
|
141
|
+
- [ ] Display-Text ist mindestens 3x groesser als Body
|
|
142
|
+
- [ ] Sektionsabstaende sind konsistent (z.B. 120px Desktop, 64px Mobil)
|
|
143
|
+
- [ ] Bilder haben konsistente Behandlung (Filter, Perspektive, Stil)
|
|
144
|
+
- [ ] Alle Bilder sind als WebP/AVIF mit Lazy Loading eingebunden
|
|
145
|
+
- [ ] Icon-Set ist stilistisch einheitlich (ein Stil: Outlined ODER Filled)
|
|
146
|
+
- [ ] Schatten-System hat maximal 5 definierte Stufen
|
|
147
|
+
- [ ] Dark Mode ist implementiert oder als Primaer-Theme gewaehlt
|
|
148
|
+
- [ ] Weissraum ist bewusst gestaltet, nicht zufaellig
|
|
149
|
+
- [ ] Farbsystem nutzt CSS Custom Properties fuer Theme-Switching
|
|
150
|
+
- [ ] Gradient oder Textur ist subtil (< 5% Noise-Opazitaet)
|
|
151
|
+
- [ ] Kein Stock-Foto in Hero oder Feature-Bereichen
|
|
152
|
+
|
|
153
|
+
## Querverweise
|
|
154
|
+
|
|
155
|
+
- `16-design-trends.md` -- Uebergeordnete Trends, die diese visuelle Richtung praegen
|
|
156
|
+
- `17-ui-patterns.md` -- Patterns, die mit dieser visuellen Richtung gestaltet werden
|
|
157
|
+
- `03-typography.md` -- Typografie-System und Skalierung (falls vorhanden)
|
|
158
|
+
- `02-color.md` -- Farbsystem und Token-Struktur (falls vorhanden)
|
|
159
|
+
|
|
160
|
+
## Quellen
|
|
161
|
+
|
|
162
|
+
- **Dribbble** (dribbble.com) -- Trending Shots April 2026: Email Marketing Platform UI (Fahema Yesmin), Restaurant Management Dashboard (Josim), Dashboard for Education Product Filko (HALO LAB), Luxury Furniture E-Commerce. Analyse von Farbpaletten, Typografie und Layout-Komposition.
|
|
163
|
+
- **Behance** (behance.net) -- Top-Projekte nach Anerkennungen: lifeOS AI Agents App UX/UI, SmileCare Web Platform (243 Anerkennungen), Lifestyle App Design (177), Charging Stations App (176), Qupid Protocol (276). Deutsche Lokalisierung ("Meiste Anerkennungen").
|
|
164
|
+
- **Land-book** (land-book.com) -- Kuratierte Galerie mit Filtern: Industry (Ecommerce, Fashion, Finance, Food, Design), Style (Minimal, Colorful, Dark). Desktop- und Mobile-Ansichten. Featured Studios wie Flowfye (Webflow-spezialisiert).
|
|
165
|
+
- **Godly** (godly.website) -- Style-Tags-Analyse: Clean, Dark, Minimal, Colorful, Brutalist, Black & White. Featured Sites: Amie, Reflect, Status, Vercel Ship, Notion, Lusion, Phantom, Metalab. View-Counts als Popularitaets-Indikator.
|
|
166
|
+
- **CSSDA** (cssdesignawards.com) -- Feature-Tags der WOTD-Gewinner: animated, parallax, colorful, minimal, typographic, scroll, photographic, grid, fullscreen, one page, responsive.
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
# Domain: Component-Architecture
|
|
2
|
+
|
|
3
|
+
> Moderne UI-Komponentenmuster fuer Agent-basierte Anwendungen. Abgeleitet aus 21st.dev Agent SDK Dokumentation, deren Template-Bibliothek und preisgekroenten Produkten auf Godly/Dribbble/Behance.
|
|
4
|
+
|
|
5
|
+
## Prinzipien
|
|
6
|
+
|
|
7
|
+
1. **Komposition ueber Vererbung** -- Komponenten werden durch Zusammenstecken kleiner, spezialisierter Teile gebaut, nicht durch Erweiterung grosser Basisklassen. Props fuer Konfiguration, Children fuer Inhalt, Slots fuer Variation.
|
|
8
|
+
2. **Server-First, Client wo noetig** -- Server Components als Standard. Client Components nur fuer Interaktivitaet (State, Event Handlers, Browser APIs). 21st.dev SDK nutzt Next.js mit dieser Trennung.
|
|
9
|
+
3. **Agent-Ready Design** -- Komponenten muessen Streaming-Inhalte, Tool-Aufrufe und asynchrone Zustandswechsel nativ unterstuetzen. Chat-UIs sind nicht optional, sondern Kern-Pattern.
|
|
10
|
+
4. **Token-basiertes Theming** -- Design Tokens (CSS Custom Properties) steuern alle visuellen Aspekte. Kein Hardcoding von Farben, Abstaenden oder Schriftgroessen in Komponenten.
|
|
11
|
+
5. **Barrierefreiheit als Architektur** -- ARIA-Rollen, Keyboard-Navigation und Focus-Management sind Teil der Komponentendefinition, nicht nachtraegliche Ergaenzung.
|
|
12
|
+
6. **Composable Primitives** -- Basis-Primitiven (Button, Input, Text, Box) sind unstyled und maximal flexibel. Design-System-Komponenten bauen darauf auf.
|
|
13
|
+
|
|
14
|
+
## Regeln
|
|
15
|
+
|
|
16
|
+
### Komponentenstruktur
|
|
17
|
+
|
|
18
|
+
- **MACHE** jede Komponente als einzelne Datei mit klarem Export. Eine Komponente = eine Verantwortung.
|
|
19
|
+
- **MACHE** Props-Interface explizit typisieren. TypeScript-Interfaces fuer alle oeffentlichen Props. Zod-Schemas fuer validierte Inputs (21st.dev Muster).
|
|
20
|
+
- **MACHE** Compound Components fuer komplexe UI-Elemente:
|
|
21
|
+
```
|
|
22
|
+
<Card>
|
|
23
|
+
<Card.Header />
|
|
24
|
+
<Card.Body />
|
|
25
|
+
<Card.Footer />
|
|
26
|
+
</Card>
|
|
27
|
+
```
|
|
28
|
+
- **MACHE** Variants mit class-variance-authority (cva) oder aehnlichen Bibliotheken statt bedingter Klassen.
|
|
29
|
+
- **VERMEIDE** Komponenten mit mehr als 10 Props. Zu viele Props = zu viele Verantwortungen. Aufteilen.
|
|
30
|
+
- **VERMEIDE** CSS-in-JS zur Laufzeit. Tailwind CSS oder CSS Modules fuer statische Styles. 21st.dev und Godly-Featured Produkte nutzen Tailwind.
|
|
31
|
+
- **VERMEIDE** div-Suppe. Semantische HTML-Elemente (section, article, nav, header, footer, main) verwenden.
|
|
32
|
+
|
|
33
|
+
### Chat-UI-Architektur
|
|
34
|
+
|
|
35
|
+
- **MACHE** eine dreispaltige Chat-Architektur nach 21st.dev-Muster:
|
|
36
|
+
- **Thread-Sidebar**: Liste vergangener Konversationen. Scrollbar, mit Suchfunktion.
|
|
37
|
+
- **Chat-Panel**: Nachrichten-Stream mit Eingabefeld. Hauptinteraktionsbereich.
|
|
38
|
+
- **Kontext-Panel**: Optional, fuer Ergebnisse, Previews, Formulare.
|
|
39
|
+
- **MACHE** Message-Komponenten nach Rolle differenzieren:
|
|
40
|
+
- **User Message**: Rechtsbuendig, Akzentfarbe, kompaktes Layout.
|
|
41
|
+
- **Assistant Message**: Linksbuendig, neutral, erweiterbar fuer Tool-Ergebnisse.
|
|
42
|
+
- **System Message**: Zentriert, dezent, informativ.
|
|
43
|
+
- **Tool Call**: Visuell abgesetzt mit Status-Indikator (ausfuehrend/erfolgreich/fehlgeschlagen).
|
|
44
|
+
- **MACHE** Streaming-Rendering: Text zeichenweise oder wortweise einblenden. Cursor-Indikator waehrend Generierung. 21st.dev nutzt SSE-Streaming mit AI SDK.
|
|
45
|
+
- **MACHE** Message-History lazy laden. Nur die letzten N Nachrichten initial rendern, aeltere bei Scroll nach oben nachladen.
|
|
46
|
+
- **VERMEIDE** gesamte Nachrichtenhistorie im Client-State. Server-seitige Persistenz nutzen, Client zeigt nur aktive Ansicht.
|
|
47
|
+
- **VERMEIDE** blockierendes Rendering waehrend Tool-Ausfuehrung. Progress-Indikatoren zeigen, dass das System arbeitet.
|
|
48
|
+
|
|
49
|
+
### Agent-Tool-Visualisierung
|
|
50
|
+
|
|
51
|
+
- **MACHE** Tool-Aufrufe visuell im Chat-Verlauf darstellen:
|
|
52
|
+
- **Tool-Name**: Als Label/Badge vor dem Ergebnis.
|
|
53
|
+
- **Input-Parameter**: Collapsible, fuer Power-User einsehbar.
|
|
54
|
+
- **Ergebnis**: Formatiert je nach Tool-Typ (Text, Tabelle, Code, Bild).
|
|
55
|
+
- **Status**: Loading-Spinner > Erfolg-Haekchen > Fehler-Icon.
|
|
56
|
+
- **MACHE** Tool-Ergebnisse als eingebettete Karten im Nachrichtenstrom. Nicht als separate Ansicht.
|
|
57
|
+
- **MACHE** Fehler-Zustaende fuer Tools explizit: Was ging schief, was kann der Nutzer tun.
|
|
58
|
+
- **VERMEIDE** Tool-Aufrufe ohne visuelles Feedback. Der Nutzer muss jederzeit wissen, was das System tut.
|
|
59
|
+
- **VERMEIDE** rohe JSON-Ausgabe fuer Tool-Ergebnisse. Immer formatiert und menschenlesbar.
|
|
60
|
+
|
|
61
|
+
### Sandbox-UI-Patterns
|
|
62
|
+
|
|
63
|
+
- **MACHE** Sandbox-Zustand visuell kommunizieren (nach 21st.dev Modell):
|
|
64
|
+
- **Erstellt**: Visueller Indikator, dass Umgebung bereit ist.
|
|
65
|
+
- **Aktiv**: Gruener Status-Punkt oder -Balken.
|
|
66
|
+
- **Ausfuehrend**: Animierter Zustand mit Fortschrittsindikation.
|
|
67
|
+
- **Beendet**: Finaler Zustand mit Ergebnis-Zusammenfassung.
|
|
68
|
+
- **MACHE** File-Trees fuer Sandbox-Inhalte als interaktive Baumstruktur. Klick oeffnet Datei-Vorschau.
|
|
69
|
+
- **VERMEIDE** Sandbox-Details in der Standard-Ansicht. Progressive Disclosure: Details nur auf Nachfrage.
|
|
70
|
+
|
|
71
|
+
### Theming und Design Tokens
|
|
72
|
+
|
|
73
|
+
- **MACHE** ein dreistufiges Token-System:
|
|
74
|
+
- **Globale Tokens**: Roh-Werte (colors.blue.500, spacing.4, radius.md).
|
|
75
|
+
- **Semantische Tokens**: Zweckgebunden (color.primary, color.surface, spacing.section).
|
|
76
|
+
- **Komponenten-Tokens**: Spezifisch (button.bg, card.padding, input.border).
|
|
77
|
+
- **MACHE** Theme-Switching ueber CSS Custom Properties mit data-Attribut oder Klasse auf html/body.
|
|
78
|
+
- **MACHE** Tokens in einer zentralen Datei definieren und von dort importieren. Keine verteilten Magic Numbers.
|
|
79
|
+
- **MACHE** Dark/Light als Minimum, optional: High Contrast, Markenspezifische Themes.
|
|
80
|
+
- **VERMEIDE** Inline-Styles fuer thembare Werte. Immer Tokens referenzieren.
|
|
81
|
+
- **VERMEIDE** Token-Namen, die Farben beschreiben (--blue-500). Semantische Namen (--color-primary).
|
|
82
|
+
|
|
83
|
+
### Formular-Komponenten
|
|
84
|
+
|
|
85
|
+
- **MACHE** Formulare nach dem 21st.dev Form-Autocomplete-Pattern:
|
|
86
|
+
- **Tabbed Forms**: Mehrstufige Formulare mit Tab-Navigation.
|
|
87
|
+
- **Schema-getrieben**: Zod-Schemas definieren Felder und Validierung.
|
|
88
|
+
- **Agent-befuellbar**: Formulare koennen von einem Agent via Tool-Call befuellt werden.
|
|
89
|
+
- **MACHE** React Hook Form oder aehnliche Libraries fuer Performance (uncontrolled Components).
|
|
90
|
+
- **MACHE** konsistente Feld-Anatomie: Label > Input > Helper Text > Error Message.
|
|
91
|
+
- **VERMEIDE** Custom-Selects ohne Keyboard-Support. Native Select oder Radix UI Select.
|
|
92
|
+
- **VERMEIDE** Formulare ohne Loading- und Success-States nach Submit.
|
|
93
|
+
|
|
94
|
+
### Responsive Komponenten
|
|
95
|
+
|
|
96
|
+
- **MACHE** Container Queries fuer komponentenbasierte Responsiveness. Nicht nur Viewport-Breakpoints.
|
|
97
|
+
- **MACHE** Mobile-Varianten als eigene Zustaende, nicht als CSS-Overrides. Chat-Panel wird auf Mobil zum Vollbild, Sidebar wird zum Drawer.
|
|
98
|
+
- **MACHE** Touch-Targets mindestens 44x44px auf mobilen Geraeten.
|
|
99
|
+
- **VERMEIDE** horizontales Scrollen in Komponenten auf Mobil (Ausnahme: explizite Karussells).
|
|
100
|
+
- **VERMEIDE** Hover-abhaengige Interaktionen ohne Touch-Alternative.
|
|
101
|
+
|
|
102
|
+
## Patterns
|
|
103
|
+
|
|
104
|
+
### Streaming Chat Message
|
|
105
|
+
**Wann:** Jede KI-gesteuerte Chat-Anwendung.
|
|
106
|
+
**Was:** Nachricht wird zeichenweise gerendert waehrend SSE-Stream. Blinkender Cursor am Ende. Markdown-Rendering fuer formatierte Antworten. Code-Bloecke mit Syntax-Highlighting. 21st.dev nutzt AI SDK mit `useChat` Hook fuer dieses Pattern.
|
|
107
|
+
|
|
108
|
+
### Tool-Execution-Card
|
|
109
|
+
**Wann:** Agent fuehrt eine Aktion aus (Datei lesen, API aufrufen, Berechnung).
|
|
110
|
+
**Was:** Eingebettete Karte im Chat-Stream:
|
|
111
|
+
- Header: Tool-Name + Status-Badge (running/success/error)
|
|
112
|
+
- Body: Collapsible Input-Parameter + formatiertes Ergebnis
|
|
113
|
+
- Footer: Dauer, optional Retry-Button bei Fehler
|
|
114
|
+
|
|
115
|
+
### Three-Panel Layout
|
|
116
|
+
**Wann:** Agent-Dashboards, Chat-Anwendungen mit Kontext.
|
|
117
|
+
**Was:** Drei Spalten: Navigation/Threads (240px) | Chat (flex) | Kontext/Preview (320px). Mittlere Spalte ist flexibel. Seitenpanels sind collapsible. 21st.dev Note Taker und Next.js Starter nutzen dieses Pattern.
|
|
118
|
+
|
|
119
|
+
### Skill-Configuration Panel
|
|
120
|
+
**Wann:** Agent-Setup, System-Prompt-Konfiguration.
|
|
121
|
+
**Was:** Sidebar oder Modal mit:
|
|
122
|
+
- Textfeld fuer System Prompt (max 4.000 Zeichen nach 21st.dev)
|
|
123
|
+
- Skill-Bibliothek mit Drag-and-Drop-Zuweisung
|
|
124
|
+
- Umgebungsvariablen-Editor (Key-Value-Paare)
|
|
125
|
+
- Deploy-Button mit Status-Feedback
|
|
126
|
+
|
|
127
|
+
### Progressive Disclosure Card
|
|
128
|
+
**Wann:** Komplexe Datensaetze, API-Responses, Debug-Informationen.
|
|
129
|
+
**Was:** Kompakte Zusammenfassung als Standard-Ansicht. Klick/Toggle zeigt volle Details. Dreistufig: Summary > Details > Raw Data.
|
|
130
|
+
|
|
131
|
+
### Form-Agent Hybrid
|
|
132
|
+
**Wann:** Formular-Assistenten, Daten-Eingabe mit KI-Unterstuetzung.
|
|
133
|
+
**Was:** Split-Screen: Formular links, Chat rechts. Agent kann Formularfelder via Tool-Call befuellen. Nutzer kann manuell ueberschreiben. 21st.dev Form Autocomplete Template zeigt dieses Pattern mit React Hook Form + Zod + discriminated union Schemas.
|
|
134
|
+
|
|
135
|
+
### Real-Time Status Dashboard
|
|
136
|
+
**Wann:** Monitoring-Agents, DevOps-Tools.
|
|
137
|
+
**Was:** Dashboard mit Live-Updates via WebSocket/SSE. Farbkodierte Status-Kacheln (gruen/gelb/rot). Log-Stream als scrollbare Liste. 21st.dev Slack Monitor Template als Referenz.
|
|
138
|
+
|
|
139
|
+
## Anti-Patterns
|
|
140
|
+
|
|
141
|
+
1. **God Component** -- Eine Komponente, die Chat, Tool-Visualisierung, Formular und Navigation gleichzeitig handhabt. Aufteilen in spezialisierte Subkomponenten.
|
|
142
|
+
2. **Prop Drilling fuer Theme** -- Theme-Werte durch 5+ Ebenen weiterreichen. Context oder CSS Custom Properties nutzen.
|
|
143
|
+
3. **Client-Side Everything** -- Alles als Client Component markieren. Server Components fuer statische Inhalte, Client Components nur fuer Interaktivitaet.
|
|
144
|
+
4. **Inline Styles fuer Layout** -- style={{ marginTop: 20 }} statt konsistenter Spacing-Tokens. Tailwind-Klassen oder Token-basierte Utilities nutzen.
|
|
145
|
+
5. **Modal fuer Alles** -- Jede Zusatzinfo als Modal. Inline-Expansion, Drawers oder Panels bevorzugen. Modals nur fuer unterbrechende Aktionen.
|
|
146
|
+
6. **Unkontrollierte State-Explosion** -- Jede Komponente hat eigenen lokalen State fuer globale Daten. Zentralen State-Store oder Server-State (React Query/SWR) nutzen.
|
|
147
|
+
7. **Hardcoded Breakpoints** -- Pixel-Werte direkt in Komponenten. Breakpoint-Tokens in der Theme-Konfiguration definieren.
|
|
148
|
+
8. **Fehlende Error Boundaries** -- Ein Fehler in einer Subkomponente crasht die gesamte Anwendung. React Error Boundaries um kritische Bereiche setzen.
|
|
149
|
+
9. **Tool-Ergebnisse als JSON-Dump** -- Rohe API-Responses ohne Formatierung anzeigen. Immer menschenlesbar aufbereiten.
|
|
150
|
+
|
|
151
|
+
## Checkliste
|
|
152
|
+
|
|
153
|
+
- [ ] Jede Komponente hat ein typisiertes Props-Interface (TypeScript)
|
|
154
|
+
- [ ] Compound Components fuer komplexe UI-Elemente (Card, Dialog, Tabs)
|
|
155
|
+
- [ ] Variants mit cva oder aehnlichem System, nicht bedingte Klassen
|
|
156
|
+
- [ ] Chat-Messages differenzieren nach Rolle (User, Assistant, System, Tool)
|
|
157
|
+
- [ ] Streaming-Rendering fuer Agent-Antworten implementiert
|
|
158
|
+
- [ ] Tool-Aufrufe haben visuelles Feedback (Loading, Success, Error)
|
|
159
|
+
- [ ] Tool-Ergebnisse sind formatiert, nicht rohe JSON-Ausgabe
|
|
160
|
+
- [ ] Design Tokens in drei Stufen: Global, Semantisch, Komponenten
|
|
161
|
+
- [ ] Theme-Switch ueber CSS Custom Properties, nicht JS-Runtime
|
|
162
|
+
- [ ] Formulare nutzen Zod-Schemas fuer Validierung
|
|
163
|
+
- [ ] Server Components als Standard, Client Components nur bei Bedarf
|
|
164
|
+
- [ ] Container Queries fuer komponentenbasierte Responsiveness
|
|
165
|
+
- [ ] Error Boundaries um kritische UI-Bereiche
|
|
166
|
+
- [ ] Mobile Touch-Targets mindestens 44x44px
|
|
167
|
+
- [ ] Keyboard-Navigation fuer alle interaktiven Elemente
|
|
168
|
+
- [ ] ARIA-Rollen und -Labels fuer Screen Reader
|
|
169
|
+
|
|
170
|
+
## Querverweise
|
|
171
|
+
|
|
172
|
+
- `16-design-trends.md` -- Trends, die Komponentendesign beeinflussen (Motion, Dark Mode)
|
|
173
|
+
- `17-ui-patterns.md` -- UI-Patterns, die als Komponenten implementiert werden
|
|
174
|
+
- `18-visual-direction.md` -- Visuelle Tokens (Farben, Typo, Spacing) fuer das Token-System
|
|
175
|
+
- `06-accessibility.md` -- Barrierefreiheits-Anforderungen (falls vorhanden)
|
|
176
|
+
|
|
177
|
+
## Quellen
|
|
178
|
+
|
|
179
|
+
- **21st.dev Agent SDK** (21st.dev/agents/docs) -- Vollstaendige Dokumentation analysiert: Quickstart, Core Concepts (Agent, Tool, Skill, Sandbox, Thread, Relay), Agents-Konfiguration, Tools und MCPs, System Prompts, Skills, Chat API (SSE Streaming), Backend Integration, Messages & History, Deploy (CLI), Sandboxes & Infrastructure, API Keys, Logs. 39 Dokumentationsseiten.
|
|
180
|
+
- **21st.dev Templates** -- 11 analysierte Templates: Next.js Starter (Chat UI mit DuckDuckGo-Tool), Note Taker (Convex-Integration, Three-Panel), Lead Research Agent (Slack-Integration), Slack Monitor, BrowserUse Agent, Form Autocomplete (React Hook Form + Zod), Docs Assistant (llms.txt), Support Agent (Resend), Python Starter, Go Starter, Nia Chat (GitHub-Analyse).
|
|
181
|
+
- **Godly Featured Products** (godly.website) -- UI-Architektur von: Amie (Kalender), Reflect (Notizen), Status (Monitoring), Notion (Docs), Linear (Project Management), Vercel (Deploy). Style-Tags: Clean, Dark, Minimal, Motion.
|
|
182
|
+
- **Dribbble** (dribbble.com) -- Dashboard-Designs: Education Product Filko, Email Marketing Platform, Restaurant Management. Komponentenmuster fuer Dashboards und SaaS.
|
|
183
|
+
- **Behance** (behance.net) -- UX/UI-Projekte: lifeOS AI Agents App (Agent-UI-Referenz), SmileCare Web Platform (Medical Dashboard), Lifestyle App, Charging Stations App. Komponentenstruktur und Layout-Patterns.
|