Skip to Content
Getting StartedQuick Start

Quick Start

Get RNCopilot running on your machine in under five minutes.

Prerequisites

Before you begin, make sure you have:

  • Node.js 18+ and npm
  • Expo CLI (included via npx expo)
  • iOS Simulator (macOS only) or Android Emulator

You do not need a Supabase account or any backend service to run the app. RNCopilot boots and works fully without any external services configured.

Installation

Clone the repository

git clone https://github.com/FouadMagdy01/RNCopilot.git my-app cd my-app

Replace my-app with whatever you want to name your project directory.

Install dependencies

npm install --legacy-peer-deps

The --legacy-peer-deps flag is required due to peer dependency resolution in the React Native ecosystem. Do not omit it.

Set up environment variables (optional)

cp .env.example .env

This creates a .env file from the included example. All variables are optional — the app uses sensible defaults and gracefully degrades when services like Supabase are not configured. You can fill in credentials later when you are ready to connect external services.

Start the development server

npm start

This launches the Expo development server. From the terminal menu:

  • Press i to open the app in the iOS Simulator
  • Press a to open the app on an Android Emulator
  • Scan the QR code with Expo Go on a physical device

Verify It Works

Once the app launches, you should see the home screen with tab navigation at the bottom. The Settings tab demonstrates theming (light/dark mode toggle) and language switching (English/Arabic with RTL).

Path Aliases

RNCopilot uses two path aliases so you never need long relative imports:

AliasMaps ToExample
@/*src/*import { Button } from '@/common/components/Button'
~/*app/*import type { LayoutProps } from '~/types'

These aliases are configured in both tsconfig.json (for TypeScript) and babel.config.js (for the bundler), so they work everywhere — in your editor, in tests, and at runtime.

Common Commands

Here are the commands you will use most often during development:

# Start the dev server npm start # Run on a specific platform npm run ios npm run android # Code quality checks npm run type-check # TypeScript compiler check npm run lint # ESLint npm run lint:fix # Auto-fix ESLint issues npm run format # Prettier format all files npm run validate # Run all checks (type-check + lint + format) # Testing npm test # Run the test suite npm run test:coverage # Run tests with coverage report

What’s Next?

Now that the app is running, learn how the codebase is organized:

Last updated on