Imported from marcoulou31/lauzonlauzon (
AGENTS.md). Install upstream withnpx skills add marcoulou31/lauzonlauzon. Copyright stays with the author.
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.
Project skills
On-demand skills live in .agents/skills/ (symlinked into .claude/skills/). Load one when its topic matches:
- ciq-etl — Centris/CIQ import into SQL Server (
src/lib/ciq/*,/api/tache-ciq), encoding/bulk/Turbopack pitfalls. - image-optimization — public image compression + naming (
pnpm images:home|sold[:apply],pnpm images:check-names). - next-dev-loop — verify a change at runtime against a running
next dev(Vercel official).
Frontend / SEO conventions
Always-on rules for this codebase:
- Images: use
next/image, never CSS background images for content. Setpreloadonly on the single true LCP image per route (nopriority, no competing eager images). Prefer localpublic/assets over remote sources for the homepage hero. - Analytics/consent: inject at
src/app/layout.tsx. Read browser state withuseSyncExternalStore, not effect-driven localStorage hydration. Load consent-gated scripts withnext/scriptlazyOnload. - React: the
react-hooks/set-state-in-effectrule is enforced — avoid synchronoussetStateinuseEffectfor hydration logic. - SEO/routing: legacy redirects belong in
next.config.ts(never redirect www ↔ non-www there — it loops; that lives at the host). Keeprobots.tsandsitemap.tsin sync with public routes. - Secrets: never commit credentials; use Vercel environment variables.