Files
portfolio/GEMINI.md
denshooter 0766b46cc8
Some checks failed
Dev Deployment (Zero Downtime) / deploy-dev (push) Failing after 10m16s
feat: implement dark mode infrastructure, optimize images, and add SEO structured data
2026-02-15 22:20:49 +01:00

2.0 KiB

GEMINI.md - Portfolio Project Guide

Project Overview

Personal portfolio for Dennis Konkol (dk0.dev). A modern, high-performance Next.js 15 application featuring a "liquid" design system, integrated with Directus CMS and n8n for real-time status and content management.

Tech Stack & Architecture

  • Framework: Next.js 15 (App Router), TypeScript, React 19.
  • UI/UX: Tailwind CSS 3.4, Framer Motion 12, Three.js (Background).
  • Backend/Data: PostgreSQL (Prisma), Redis (Caching), Directus (CMS), n8n (Automation).
  • i18n: next-intl (German/English).

Core Principles for Gemini

  • Safe Failovers: Always implement fallbacks for external APIs (Directus, n8n). The site must remain functional even if all external services are down.
  • Liquid Design: Use custom liquid-* color tokens for consistency.
  • Performance: Favor Server Components where possible; use use client only for interactivity.
  • Code Style: clean, modular, and well-typed. Use functional components and hooks.
  • i18n first: Never hardcode user-facing strings; always use messages/*.json.

Common Workflows

API Route Pattern

API routes should include:

  • Rate limiting (via lib/auth.ts)
  • Timeout protection
  • Proper error handling with logging in development
  • Type-safe responses

Component Pattern

  • Use Framer Motion for entrance animations.
  • Use next/image for all images to ensure optimization.
  • Follow the glassmorphism aesthetic: backdrop-blur-sm, subtle borders, and gradient backgrounds.

Development Commands

  • npm run dev: Full development environment.
  • npm run lint: Run ESLint checks.
  • npm run test: Run unit tests.
  • npm run test:e2e: Run Playwright E2E tests.

Environment Variables (Key)

  • DIRECTUS_URL & DIRECTUS_STATIC_TOKEN: CMS connectivity.
  • N8N_WEBHOOK_URL & N8N_SECRET_TOKEN: Automation connectivity.
  • DATABASE_URL: Prisma connection string.

Git Workflow

  • Work on the dev branch.
  • Use conventional commits: feat:, fix:, chore:, docs:, refactor:.
  • Push to both GitHub and Gitea remotes.