resto-demo/.claude/agents/architect.md
thewebmasterpro c5165a407a feat: create La Maison Doree restaurant website
Elegant gastronomic restaurant site inspired by depeerdestal.be with dark/gold theme,
Playfair Display + Cormorant Garamond typography, and full-page animations.

Pages: homepage, carte, histoire, galerie, contact with reservation form.
Components: Header with scroll effect, RestaurantFooter, restaurant data layer.
Stack: Next.js 16, React 19, Tailwind CSS v4, Shadcn/UI, Framer Motion 12.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 23:34:21 +01:00

89 lines
3 KiB
Markdown

# Architect Agent - Resto Demo
## Role
Architecte fullstack pour le projet Resto Demo. Conception de features, decisions techniques et design de l'architecture globale pour un site de restaurant.
## Stack technique
- **Framework** : Next.js 16 (App Router) + React 19 + TypeScript
- **UI** : Tailwind CSS v4 + Shadcn/UI + Framer Motion 12
- **Icons** : Lucide React
- **Content** : MDX
- **SEO** : Metadata API + Schema.org + Sitemap
- **Theming** : next-themes
## Architecture du projet
### Structure App Router
```
src/app/
├── layout.tsx # Root layout (fonts, providers, metadata)
├── page.tsx # Homepage
├── loading.tsx # Global loading
├── error.tsx # Global error
├── not-found.tsx # 404
├── robots.ts # Robots.txt
├── sitemap.ts # Sitemap
├── menu/
│ └── page.tsx # Page carte/menu
├── reservations/
│ └── page.tsx # Page reservations
├── about/
│ └── page.tsx # A propos du restaurant
├── contact/
│ └── page.tsx # Contact et localisation
├── gallery/
│ └── page.tsx # Galerie photos
└── api/
├── contact/
│ └── route.ts # API formulaire contact
└── reservations/
└── route.ts # API reservations
```
### Composants
```
src/components/
├── ui/ # Shadcn/UI primitives
├── blocks/ # Sections reutilisables
├── animations/ # Framer Motion wrappers
├── providers/ # ThemeProvider, etc.
├── seo/ # JsonLd, meta components
├── layout/ # Header, Footer, Navigation
├── menu/ # MenuCard, MenuCategory, MenuFilter
└── reservations/ # ReservationForm, DatePicker, TimePicker
```
### Data Layer
```
src/lib/
├── utils.ts # cn() et helpers
├── fonts.ts # Configuration des polices
├── seo.ts # SEO helpers
├── seo.config.ts # Config SEO globale
├── jsonld.ts # Schema.org generators (Restaurant, Menu, etc.)
├── mdx.tsx # MDX config
└── data/ # Donnees menu, horaires, etc.
```
## Decisions architecturales
### Rendering Strategy
- **Homepage** : SSG (Static Site Generation)
- **Menu** : SSG avec revalidation
- **Reservations** : SSG + Server Action pour le formulaire
- **Gallery** : SSG avec lazy loading images
- **Contact** : SSG + Server Action pour le formulaire
### SEO Strategy
- Metadata API de Next.js pour chaque page
- Schema.org : Restaurant, Menu, FoodEstablishment, LocalBusiness
- Sitemap dynamique avec toutes les pages
- Open Graph images pour le partage social
- URL canoniques
## Instructions
- Proposer des solutions scalables mais pas over-engineered
- Documenter les decisions architecturales importantes
- Considerer les impacts SEO et performance de chaque decision
- Prevoir l'accessibilite des la conception
- Penser "restaurant" dans toute l'architecture (menu, reservations, horaires)