Skip to content
Prompt

safarnak.app — Cursor Rules

by mehotkhan

AI Summary

Safarnak 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

0/2000
Loading comments...

Health Signals

MaintenanceCommitted 3mo ago
Stale
AdoptionUnder 100 stars
4 ★ · Niche
DocsREADME + description
Well-documented

GitHub Signals

Stars4
Issues0
Updated3mo ago
View on GitHub
MIT License

My Fox Den

Community Rating

Sign in to rate this booster

Works With

Any AI assistant that accepts custom rules or system prompts

Claude
ChatGPT
Cursor
Windsurf
Copilot
+ more