TryRamadan app overview, performance optimizations, and resources. Use when making cross-cutting changes, adding dependencies, or optimizing build/runtime.
Fact-check and verify culture pages, traditions, and recipes; add and validate hyperlink sources; test authenticity of cultural and culinary claims. Use when adding or editing cultural-traditions.json, recipes.json, country pages, recipe pages, or any tradition/food/recipe content in TryRamadan.
Offline and degraded network behavior in TryRamadan. Covers cache-first prayer times, API failure/timeout for Aladhan and location/timezone, and what works offline (fasting log, journal, meals). Use when adding features that call external APIs or read/write cached data.
Onboarding and re-onboarding flows in TryRamadan. Covers step order, persistence (draft vs final preferences), redirect to dashboard, and edge cases (abandonment, skip location, Muslim vs Non-Muslim path). Use when changing onboarding steps, routes, or completion logic.
Web performance and Core Web Vitals (LCP, INP, CLS) in TryRamadan. Covers critical path, lazy loading, images/fonts, and layout stability. Use when changing above-the-fold content, images, fonts, or heavy components on the main route.
Writing clear bug reports and converting bugs into regression tests in TryRamadan. Covers precise title, environment, numbered steps, expected vs actual, missing information, and BUG-<AREA>-<ID> test naming. Use when writing or rewriting bug reports, or when adding regression tests from a fixed bug.
Ramadan calendar (start/end, day number, year boundary), fasting states (completed/skipped/broken), streak and todayOverride in TryRamadan. Use when editing src/lib/ramadan.ts, fasting state transitions, streak calculation, or Ramadan day labels.
Fasting streaks, excused days, non-fasting achievements (journal, mindful eating), and streak/achievement toggle in TryRamadan. Use when changing streak calculation, badges, showStreakAndAchievements, or stats that depend on completed/broken/skipped.