Free — no account, no email

Mobile app setup prompt

Paste this into Claude Code. It pulls the latest release of the Expo starter template, renames it to your app, installs everything, and checks it all compiles before making the first commit.

The folder name and URL scheme come from it. Letters, numbers and spaces only, 2–30 characters — you can change the display name later.

folder ./my-app  ·  scheme myapp://

Paste into Claude Code
# Set up your app: My App

You are setting up a brand-new React Native app called **My App**, built from the Kealy Studio starter template. Follow these steps exactly and in order. If a step fails, stop, show me the full error, and wait — do not improvise an alternative approach.

These values are fixed — use them exactly as given, do not re-derive or "improve" them:
- Display name: `My App`
- Folder & slug: `my-app`
- URL scheme: `myapp`

## Step 1 — Download the latest template and create the project folder

Run this exactly as written:

```bash
set -euo pipefail
[ ! -e "my-app" ] || { echo "ERROR: a folder named 'my-app' already exists here"; exit 1; }

# Resolve the latest template release via GitHub's redirect (no API, no rate limits)
TAG=$(curl -fsSLI -o /dev/null -w '%{url_effective}' https://github.com/mosayic-io/react-native-ftier/releases/latest | sed 's#.*/tag/##')
[ -n "$TAG" ] || { echo "ERROR: could not resolve the latest release tag"; exit 1; }
echo "Setting up My App from template release $TAG"

# Shallow-clone the tagged release (no zip tooling needed — works in Git Bash
# on Windows too), then drop the template's history so this is a fresh start
git -c advice.detachedHead=false clone -q --depth 1 --branch "$TAG" https://github.com/mosayic-io/react-native-ftier "./my-app"
rm -rf "./my-app/.git"
echo "Template ready at ./my-app"
```

Then `cd` into `my-app`. All remaining steps happen inside it.

## Step 2 — Rename the app everywhere

Use your file-editing tools (not sed) to make these edits:

1. **`app.json`** — set `expo.name` to `My App`, `expo.slug` to `my-app`, `expo.scheme` to `myapp`.
2. **`app.json`** — choose a bundle identifier and set both `expo.ios.bundleIdentifier` and `expo.android.package` to it, adding the fields if they don't exist. Use reverse-domain style ending in the scheme — `com.<owner>.myapp` — where `<owner>` is my name or brand: lowercase letters and digits only, starting with a letter. Don't stop to ask me about it — improvise a sensible `<owner>` from what you can see (my git config name, or the app name), and tell me what you picked in your final summary. Nothing is permanent until the app is published, and we'll review the identifier together before then.
3. **`package.json`** — set `name` to `my-app`.
4. **`README.md` and `CLAUDE.md`** — replace placeholder app-name references with `My App`, and rewrite the template's "rename me first" instructions (including any note saying the npm package name stays `react-native-ftier`) so both files describe this app — the renaming is done and those instructions no longer apply.
5. Run `grep -rniE "change-?me" . --exclude-dir=node_modules` and fix every remaining hit. Repeat until it returns nothing.

## Step 3 — Install and verify

```bash
npm install
npm run typecheck
npm run lint
```

All three must pass. If typecheck or lint fails, show me the errors and fix them before continuing.

## Step 4 — Initialize git

```bash
git init
git add -A
git commit -m "Initial commit: My App"
```

Then tell me, briefly: the folder name, the `<owner>` you picked for the bundle identifier, and confirm the placeholder grep is clean. Finally, remind me to head back to the Kealy Studio lesson for the next step.

This is the first step of the course, which is also free and complete. The next step — running it on a real phone, then everything after that — is over at academy.kealy.studio.