Files
flixcooks-website/.agents/brain.md
T
2026-05-21 14:55:10 +02:00

2.6 KiB

FlixCooks Project Brain

This document summarizes the architectural knowledge, conventions, and learnings accumulated during our session.

1. Project Architecture & Stack

  • Backend: Vanilla PHP. The project intentionally avoids heavy frameworks.
  • Database: Flat-file JSON database (data/recipes.json). Data is loaded and saved via utility functions in helpers.php.
  • Admin Panel (admin.php): Acts as a lightweight CMS. It uses simple textareas where each line maps to an array element (e.g., for ingredients, steps, step_videos, step_timers). This keeps the JSON structure clean and parsing straightforward.
  • Frontend: Server-rendered PHP templates (index.php, recipe.php) with Vanilla JavaScript and Vanilla CSS. No Tailwind or heavy component libraries.

2. Design & Aesthetics

  • CSS: Highly customized CSS with modern design tokens (e.g., var(--ease-out-expo), var(--surface-1)).
  • Animations: Employs sophisticated micro-animations, glassmorphism (backdrop-filter: blur), and dynamic layouts (e.g., clip-path for overlays).
  • Smooth Scrolling: Uses Lenis (LenisSmoothScroll).
    • Crucial Rule: Whenever a fullscreen overlay (like the Cooking Mode) is opened, lenis.stop() must be called to prevent background scrolling. When closed, call lenis.start().
  • Preloader: A custom CapitoliumPreloader runs on the homepage. It is cached in sessionStorage('flixcooks_preloader_seen') so it only fires once per browsing session.

3. Antigravity Agent Configuration

  • Workspace Rules: Best placed in .agents/rules/ (e.g., AGENT.md). To ensure they are always active, the frontmatter must include:
    always_on: true
    glob: "*"
    
  • Custom Skills: Can be defined as JSON files in .agents/skills/. We successfully created close_feature.json to automate the Git workflow of checking out main, merging a feature branch, verifying functionality, and deleting the branch.

4. Completed Milestones

  • Phase 3 (Nutrition): Implemented. Recipes now store calories, protein, carbs, and fat. Admin panel handles inputs, and the UI displays them beautifully.
  • Phase 4 (Interactive Cooking Mode): Implemented. Recipes now support step-by-step looping background videos and interactive timers (step_videos, step_timers). The UI utilizes a fullscreen overlay slider with Vanilla JS logic.

5. Next Steps

According to TODO.md, the next major feature block is Phase 5 (PWA & Offline Support), which involves service workers, manifest files, and enabling the app to be installable on mobile devices.