# ChronoMind — Cursor Rules # Read AGENTS.md for full context. Project: ChronoMind — AI-Powered Contextual Clock & Timer Product ID: chronomind Stack: Next.js 16 (web) + SwiftUI (iOS/Watch/Mac) + Jetpack Compose (Android) + Fastify 5 (backend) ## Architecture - web/src/lib/ — Pure TS engine modules (timer, cascade, urgency, nl-parser, etc.) - web/src/components/ — React UI components - ios/ChronoMind/Shared/ — Shared Swift code (iOS + Watch + Mac + Widgets) - android/app/.../engine/ — Pure Kotlin engine - backend/ — Fastify 5 + TypeScript backend (port 4011) ## Rules - Web engine logic in web/src/lib/ — pure TS, no React imports - Components in web/src/components/ — React UI only - iOS shared logic in ios/ChronoMind/Shared/ — consumed by all Apple targets - Android engine in android/.../engine/ — pure Kotlin, no Android framework deps - Web build: must use --webpack flag (Serwist incompatible with Turbopack) - Every Cosmos doc: productId: "chronomind" - Theme: --cm-* CSS custom properties (web), ChronoMindTheme (native) - Commits: feat(scope): description / fix(scope): description - Never delete existing comments/documentation unless asked - Never add emojis unless asked - Never hardcode secrets, colors, or API URLs ## Build Verification - cd web && npm test && npm run typecheck && npm run build ## Key Documents - AGENTS.md — Full AI agent instructions (read this first)