feat: major UI/UX overhaul, snippets system, and performance fixes
Some checks failed
Dev Deployment (Zero Downtime) / deploy-dev (push) Failing after 9m26s
Some checks failed
Dev Deployment (Zero Downtime) / deploy-dev (push) Failing after 9m26s
This commit is contained in:
34
GEMINI.md
Normal file
34
GEMINI.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# Gemini CLI: Project Context & Engineering Mandates
|
||||
|
||||
## Project Identity
|
||||
- **Name:** Dennis Konkol Portfolio (dk0.dev)
|
||||
- **Aesthetic:** "Liquid Editorial Bento" (Premium, minimalistisch, hoch-typografisch).
|
||||
- **Core Palette:** Creme (`#fdfcf8`), Stone (`#0c0a09`), Emerald (`#10b981`), Sky, Purple.
|
||||
|
||||
## Tech Stack
|
||||
- **Framework:** Next.js 15 (App Router), Tailwind CSS 3.4.
|
||||
- **CMS:** Directus (primär für Texte, Hobbies, Tech-Stack, Projekte).
|
||||
- **Database:** PostgreSQL (Prisma) als lokaler Cache/Mirror für Projekte.
|
||||
- **Animations:** Framer Motion (bevorzugt für alle Übergänge).
|
||||
- **i18n:** `next-intl` (Locales: `en`, `de`).
|
||||
|
||||
## Engineering Guidelines (Mandates)
|
||||
|
||||
### 1. UI Components
|
||||
- **Bento Grid:** Neue Features sollten immer in das bestehende Grid integriert werden. Keine schwebenden Overlays.
|
||||
- **Skeletons:** Jede asynchrone Komponente benötigt einen passenden `Skeleton` Ladezustand.
|
||||
- **Typography:** Headlines immer uppercase, tracking-tighter, mit Akzent-Punkt am Ende.
|
||||
|
||||
### 2. Implementation Rules
|
||||
- **TypeScript:** Keine `any`. Nutze bestehende Interfaces in `lib/directus.ts` oder `app/_ui/`.
|
||||
- **Resilience:** Alle API-Calls müssen Fehler abfangen und sinnvolle Fallbacks (oder Skeletons) anzeigen.
|
||||
- **Next.js Standalone:** Das Projekt nutzt den `standalone` Build-Mode. Docker-Builds müssen immer verifiziert werden.
|
||||
|
||||
### 3. Agent Instructions
|
||||
- **Codebase Investigator:** Nutze dieses Tool für Architektur-Fragen.
|
||||
- **Testing:** Führe `npm run test` nach UI-Änderungen aus. Achte auf JSDOM-Einschränkungen (Mocking von `window.matchMedia` und `IntersectionObserver`).
|
||||
- **CMS First:** Texte sollten nach Möglichkeit aus der `messages` Collection in Directus kommen, nicht hartcodiert werden.
|
||||
|
||||
## Current State
|
||||
- **Branch:** `dev` (pushed)
|
||||
- **Status:** Design Overhaul abgeschlossen, Build stabil, Docker verifiziert.
|
||||
Reference in New Issue
Block a user