Files
Anelia-Wolf/AGENTS.md
2026-09-06 17:21:52 +02:00

2.5 KiB
Raw Permalink Blame History

This is NOT the Next.js you know

This version has breaking changes — APIs, conventions, and file structure may all differ from your training data. Read the relevant guide in node_modules/next/dist/docs/ (resolved from this file's directory; in monorepos the next package may not be visible from the repo root) before writing any code. Heed deprecation notices.

This block is written and re-added by next dev — verify at node_modules/next/dist/server/lib/generate-agent-files.js. Removing it from a diff only re-creates the uncommitted change; committing it with your work keeps the tree clean.

Anelia Wolf Projektregeln

Dieser Abschnitt steht bewusst UNTER dem generierten Block oben (next dev schreibt den Block neu, dieser Teil bleibt).

Harte Regeln

  • src/components/brand/WolfMark.tsx wird nie bearbeitet.
  • Kein localStorage, kein sessionStorage, keine Cookies.
  • Keine externen Requests, Skripte, Schriften oder iframes die Datenschutzerklärung sagt das zu (src/content/legal.ts, Ziffer 2/3/6).
  • Radius 0, keine Schatten, kein Fettdruck.
  • Playfair Display (font-display) nie unter 28 px. Unter lg weicht Text auf font-sans (Source Sans 3) aus, statt die Display-Schrift zu verkleinern.
  • Betonungswort einer Headline: genau ein <em>. Kursiv, und auf data-theme="dark" zusätzlich golden das macht eine Regel in globals.css, nicht die Komponente. Auf hellem Grund bleibt es rein typografisch (Gold-Verlauf auf Elfenbein = 2,4:1).
  • Goldene Schrift nur auf [data-theme="dark"]; auf Ivory gilt --gold-deep.
  • Sichtbare Copy lebt ausschließlich in src/content/*.ts, nie im JSX.

Konventionen

  • Jeder Top-Level-Block malt seinen eigenen Grund (data-theme + Regel in globals.css); die Naht zwischen zwei Gründen ist die goldene Haarlinie.
  • Scroll-Reveals animieren nur opacity (+ y) nie autoAlpha oder visibility, sonst fallen Links aus der Tab-Reihenfolge.
  • Alle Animationen laufen über gsap.matchMedia mit MM.reduce/MM.ok; GSAP ist die einzige Animations-Runtime im Bundle.
  • Ein Ankersprung nutzt genau einen Offset: anchorOffset() in TransitionLink.tsx bzw. scroll-margin-top in globals.css.
  • ScrollTrigger.refresh() nur über refreshSoon() aus @/lib/gsap.
  • Jede <section> braucht eine Überschrift (notfalls das Eyebrow als <h2>).
  • Platzhalter immer über ph(); der Build-Guard in src/lib/legal.ts stoppt den Launch-Flip, solange irgendwo noch ein „[…]“ steht.