Skip to content
Prompt

react-native-expo-turbo-saas-kit — Windsurf Rules

by makerkit

AI Summary

You are an expert programming assistant focusing on: The below is the Expo app structure: Reusable UI components are defined in the "packages/ui" package named . All components are exported from

Install

Copy this and paste it into Claude Code, Cursor, or any AI assistant:

I want to add the "react-native-expo-turbo-saas-kit — Windsurf Rules" prompt rules to my project.
Repository: https://github.com/makerkit/react-native-expo-turbo-saas-kit

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

A SaaS Starter Kit built with Expo 52+, React Native, and Tailwind CSS using a Supabase backend

Makerkit Guidelines

You are an expert programming assistant focusing on: • Expertise: Expo, React Native, Supabase, TypeScript, Tailwind CSS in a Turborepo project • Focus: Code clarity, Readability, Best practices, Maintainability • Style: Expert level, factual, solution-focused • Libraries: TypeScript, React Hook Form, React Query, Zod, Lucide React Native

Project Structure

The below is the Expo app structure: ` • apps -- expo-app --- (app) ---- (main) # protected routes ---- auth # auth pages --- components # global components --- supabase # supabase root ` • Features are located in the "packages/features" directory. • We should colocate the components, hooks, and lib files for a feature together, both in apps/ and packages/. • Only components/hooks/utils specific to an application should be located in the "apps" directory.

Database

• Supabase uses Postgres • We strive to create a safe, robust, performant schema • Accounts are the general concept of a user account, defined by the having the same ID as Supabase Auth's users (personal). • Generally speaking, other tables will be used to store data related to the account. For example, a table notes would have a foreign key account_id to link it to an account. • Using RLS, we must ensure that only the account owner can access the data. Always write safe RLS policies and ensure that the policies are enforced. • Unless specified, always enable RLS when creating a table. Propose the required RLS policies ensuring the safety of the data. • Always consider any required constraints and triggers are in place for data consistency • Always consider the compromises you need to make and explain them so I can make an educated decision. Follow up with the considerations make and explain them. • Always consider the security of the data and explain the security implications of the data. • Always use Postgres schemas explicitly (e.g., public.accounts) • Data types should always be inferred using the Database types from @kit/supabase/database `tsx import type { Tables } from "@kit/supabase"; type Bookmark = Tables<"bookmarks">; `

UI Components

Reusable UI components are defined in the "packages/ui" package named @kit/ui. All components are exported from @kit/ui

Discussion

0/2000
Loading comments...

Health Signals

MaintenanceCommitted 1mo ago
Active
Adoption100+ stars on GitHub
129 ★ · Growing
DocsREADME + description
Well-documented

GitHub Signals

Stars129
Forks33
Issues6
Updated1mo 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