Files
dealplustech/AGENTS.md
Kunthawat Greethong 6402d885f9 Complete Astro migration - PDPA compliant website
- Migrated all pages from Next.js to Astro
- Added PDPA-compliant Privacy Policy (Thai)
- Added PDPA-compliant Terms & Conditions (Thai)
- Added Cookie Policy with disclosure (Thai)
- Implemented cookie consent banner (client-side)
- Integrated Umami Analytics placeholder
- Blog system with 3 posts
- Optimized Docker configuration for production
- Static site build (184KB, 11 pages)
- Ready for Easypanel deployment

Backup: /Users/kunthawatgreethong/Gitea/dealplustech-backup-nextjs-20260309.tar.gz
2026-03-09 18:28:01 +07:00

3.3 KiB

DEAL PLUS TECH - PROJECT KNOWLEDGE BASE

Generated: 2026-03-08 Commit: 668f690 Branch: main

OVERVIEW

Thai corporate website for pipe/HVAC materials supplier. Next.js 14 App Router + TypeScript + Tailwind CSS. Thai language content with Thai URL support.

STRUCTURE

src/
├── app/           # Next.js App Router pages
├── components/    # UI, layout, analytics components
├── content/       # Blog markdown files
├── data/          # Product catalog & site config (HUGE)
├── lib/           # Utility functions
├── styles/        # Global CSS + Tailwind
└── types/         # TypeScript interfaces

WHERE TO LOOK

Task Location Notes
Add/edit pages src/app/*/page.tsx App Router conventions
Add products src/data/site-config.ts ProductCategory array
Add product tables src/data/product-tables.ts Table data for specs
UI components src/components/ui/ Button, Card, Badge
Layout src/components/layout/ Header, Footer, FloatingContact
Types src/types/index.ts All interfaces
Styling src/styles/globals.css Custom component classes
SEO/Metadata src/app/layout.tsx Root metadata + schema

CONVENTIONS

Thai-first content: All UI text, URLs, metadata in Thai. English nameEn fields for product IDs.

URL format: Thai URLs with trailing slash (e.g., /ท่อพีพีอาร์ตราช้าง/)

Product data structure: Each product in productCategories has:

  • Thai name, description, seoContent
  • English nameEn, id, slug
  • specifications[], features[], applications[], faq[]
  • schemaData for structured data
  • Optional productTables[] for spec tables

Styling: Tailwind + custom classes in globals.css:

  • .btn-primary, .btn-secondary, .btn-outline
  • .card, .card-industrial
  • .section-title, .section-subtitle

Font: Kanit (Thai Google Font) via next/font/google

Path alias: @/* maps to ./src/*

ANTI-PATTERNS (THIS PROJECT)

  • DO NOT use output: 'standalone' in dev mode (breaks HMR)
  • DO NOT hardcode contact info - use siteConfig from @/data/site-config
  • DO NOT add tests - project has no test infrastructure
  • DO NOT use as any or @ts-ignore - strict mode enabled

UNIQUE STYLES

Design System: Industrial/construction theme with:

  • Primary green (#22c55e) - trust, growth
  • Secondary slate grays - professional, industrial
  • Accent yellow - highlights
  • Industrial-specific shadows and gradients

Product pages: SEO-heavy with structured data (LocalBusiness schema, Product schema)

Blog: Headless WordPress integration via NEXT_PUBLIC_WORDPRESS_API_URL

Image optimization: AVIF/WebP auto-converted, Thai domain patterns in next.config.mjs

COMMANDS

npm run dev      # Development server (localhost:3000)
npm run build    # Production build
npm run start    # Production server
npm run lint     # ESLint check

NOTES

  • No CI/CD configured - manual deployments
  • Environment variables in .env.local (copy from .env.example)
  • Large data files in src/data/ - edit with care
  • Thai URLs require URL-encoded characters in some contexts
  • public/llm.txt contains AI-readable content for the site