2.6 KiB
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 inhelpers.php. - Admin Panel (
admin.php): Acts as a lightweight CMS. It uses simple textareas where each line maps to an array element (e.g., foringredients,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-pathfor 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, calllenis.start().
- Crucial Rule: Whenever a fullscreen overlay (like the Cooking Mode) is opened,
- Preloader: A custom
CapitoliumPreloaderruns on the homepage. It is cached insessionStorage('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 createdclose_feature.jsonto automate the Git workflow of checking outmain, merging a feature branch, verifying functionality, and deleting the branch.
4. Completed Milestones
- Phase 3 (Nutrition): Implemented. Recipes now store
calories,protein,carbs, andfat. 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.