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

45 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- BEGIN:nextjs-agent-rules -->
# 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.
<!-- END:nextjs-agent-rules -->
# 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.