AGENTS.md — GGL Móveis de Aço (Next.js 15 / Pages Router)
Product context
- Institutional website for GGL Móveis de Aço (B2B).
- Key SEO surface: product pages and category structure under /produtos.
- Copy language: pt-BR.
Stack
- Next.js 15 (Pages Router), React 18
- TailwindCSS (prefix: tw-), PostCSS
- Axios service wrapper (SSR-safe baseURL)
- Resend email API (/pages/api/mail.js)
- GTM + consent (dataLayer)
- Dynamic product routing: /produtos/[categoria]/[produto]
- Redirects and middleware support legacy URLs
Commands
- Install: npm i
- Dev: npm run dev
- Build: npm run build
- Start: npm run start
- Lint: npm run lint
Non-negotiables (do not break)
- Keep Pages Router (do not migrate to App Router unless explicitly requested).
- Do not introduce new dependencies without explicit request.
- Preserve analytics events (dataLayer / dlPush) and consent behavior.
- Preserve SEO head tags and JSON-LD where applicable.
- Avoid duplicate Header/Footer rendering (either layout-based or per-page, not both).
- Routing must not reuse different param names for the same dynamic segment.
SEO rules (high priority)
- Every indexable page should have: title, meta description, canonical.
- Product page must include Product JSON-LD and stable canonical URL.
- Legacy URL patterns must redirect (301) to the canonical route.
- 404 should be a true 404 response (Next notFound / 404 page) and not indexable.
UI/UX rules
- Mobile first: nothing should overlap product content.
- Navbar: keep interaction predictable; active state must be visible.
- Keep brand colors from Tailwind config (blue #0058C2, darkBlue #0F172A).
Data and safety
- Never log PII from contact forms.
- Never hardcode emails/tokens outside env-configurable defaults.