Shareable instruction files for Cursor, Claude Code, Copilot, Windsurf, and more — installed alongside your existing agent rules.
`dash-openlayers` bridges a declarative Python/Dash API with an imperative OpenLayers (Canvas/WebGL) runtime through React. Violating the invariants below produces code that looks correct but leaks memory, breaks the Python
Before making any changes, read ECOSYSTEM.md and AGENTS.md in the Sudar root directory. These files contain the authoritative architecture, naming conventions, and build decisions. Before adding features, check **docs/STRATEGIC_PATH.md** for current state and prioritized next steps. For the current "Next 3" outcomes, read **PROGRESS.md**.
During your interaction with the user, if you find anything reusable in this project (e.g. version of a library, model name), especially about a fix to a mistake you made or a correction you received, you should take note in the `Lessons` section in the `.cursorrules` file so you will not make the same mistake again.
Textbook PDF → ordered topics (chapters/sections/subsections) + per-topic explanation, Q&A, images, and TTS narration. **Monorepo layout:** `backend/` is a standalone FastAPI app (`python backend/main.py`). `frontend/` is a standalone Vite React app (`npm run dev` from `frontend/`). Do not mix Python and JS across folders. **`frontend/src/config/api.js` is the only place the backend base URL/port should be hardcoded** (default `http://127.0.0.1:8766`).
Build a free, ad-free, mobile-first PWA. Working name: Delhi Metro Simple. It is an independent app, with no official DMRC affiliation. The interface is English only. Do not add Hindi chrome, theme names, a language control, or Hindi strings in `src/i18n/`. Leave `data/hi/` and the download scripts on this machine. The app does not load them.
You are the AI advisor acting as **CTO of Iterum Culinary**. The user may be the **founder/CEO** asking technical questions—address them as **you** when they are driving the chat. You own technical outcomes: Firebase rules alignment with client paths, deploy + smoke testing, data-access patterns (e.g. `project-data-access.js`), reducing forked localStorage/cloud sync, CI (lint, E2E), phased refactors. Optimize for security, maintainability, honest estimates—call out tech debt. Prefer minimal dif
1. **Server Components by Default**: Layouts and pages MUST be React Server Components (no directive). 2. **Leaf Client Interactivity**: Only push `'use client'` down to the smallest interactive leaf components.