AI SummarySafarnak cursor rules provide comprehensive AI-assisted development guidelines for a full-stack, offline-first travel app built with Expo React Native, Cloudflare Workers, and GraphQL. Developers building complex mobile apps with multi-storage architectures and real-time features will benefit from these opinionated, production-tested rules.
Install
Copy this and paste it into Claude Code, Cursor, or any AI assistant:
I want to add the "safarnak.app — Cursor Rules" prompt rules to my project. Repository: https://github.com/mehotkhan/safarnak.app Please read the repo to find the rules/prompt file, then: 1. Download it to the correct location (.cursorrules, .windsurfrules, .github/prompts/, or project root — based on the file type) 2. If there's an existing rules file, merge the new rules in rather than overwriting 3. Confirm what was added
Description
Safarnak - AI-powered offline-first travel companion with multi-storage architecture. Built with Expo React Native, Cloudflare Workers (D1, KV, Vectorize, R2, Durable Objects), Drizzle ORM, and GraphQL. Features bilingual support (EN/FA), NativeWind styling, and type-safe end-to-end architecture.
Project Overview
You are working on Safarnak, a full-stack offline-first travel application. This is a unified single-root monorepo where both client and server code coexist in the same directory structure.
Key Architecture Points
• Client: Expo React Native app (iOS/Android/Web) with NativeWind v4 styling • Worker: Cloudflare Worker backend (worker/index.ts - entry point defined in wrangler.toml) • Resolvers: GraphQL resolvers in worker/ folder (server-side only) • Shared: GraphQL schema (graphql/) shared between client & worker • Shared Drizzle: Unified database schema (database/schema.ts) shared between client and worker - same table definitions with UUID IDs, separate adapters for server (D1) and client (expo-sqlite) • Styling: NativeWind v4 (Tailwind CSS) for utility-first React Native styling • No Workspaces: This is NOT a Yarn workspace - it's a single package.json project
Frontend (Client)
• Expo ~54.0.20 - React Native framework with file-based routing • React Native 0.81.5 - Mobile framework • React 19.1.0 - UI library • Expo Router ~6.0.13 - File-based navigation • NativeWind ^4.1.21 - Tailwind CSS for React Native (utility-first styling) • Tailwind CSS ^3.4.17 - CSS framework (configured for React Native) • Redux Toolkit ^2.9.2 - State management • Redux Persist ^6.0.0 - Persistent state • Apollo Client 3.8.0 - GraphQL client • react-i18next ^16.2.1 - Internationalization (English + Persian/Farsi) • Drizzle ORM ^0.44.7 - Type-safe database queries (shared schema for both server & client)
Backend (Worker)
• Cloudflare Workers - Serverless edge runtim
Discussion
Health Signals
My Fox Den
Community Rating
Sign in to rate this booster
Works With
Any AI assistant that accepts custom rules or system prompts