expo-app-initialize
Skill50 starsChanged 5 days agoMITView on GitHub
Scaffolds a new Expo React Native app with the tabs template, expo-router, react-native-mmkv, expo-dev-client, and expo-iap at their latest compatible versions using Bun, then runs prebuild and writes the project CLAUDE.md commands. Invoke only with /expo-app-initialize <project-name>.
In this repository39 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- app-prdSkill
- cli-dispatchSkill
- codex-validate-plan-work-on-issueSkill
- create-releaseSkill
- execution-plan-reviewSkill
- fable-advisorSkill
- fable-dispatchSkill
- fable-new-issue-loopSkill
- fable-new-issueSkill
- fable-orchestrateSkill
- fableplan-loopSkill
- fableplanSkill
- fableplan-work-on-issueSkill
- fable-validate-fableplan-loopSkill
- fable-validate-fableplanSkill
- fable-validate-loopSkill
- fable-validateSkill
- fix-pr-review-loopSkill
- fix-pr-reviewSkill
- github-issue-formatSkill
- issueplanSkill
- milestoneplanSkill
- milestone-workflowSkill
- new-app-pipelineSkill
- new-issue-loopSkill
- new-issueSkill
- prd-questionsSkill
- prd-to-issuesSkill
- pr-reviewSkill
- sync-docs-releaseSkill
- sync-docsSkill
- tldrSkill
- validate-fableplan-loopSkill
- validate-issue-loopSkill
- validate-issueSkill
- wansSkill
- work-on-issue-loopSkill
- work-on-issueSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
14 rules. About 0 are common, 6 are distinctive, and 8 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 10
Create a production-ready Expo React Native app from the tabs template and configure it with the standard dependencies.
- Distinctive: line 16
Use the latest version of every package that is compatible with the project.
- Very specific: line 18
Create the project with create-expo@latest, so the app starts on the newest stable Expo SDK.
- Very specific: line 21
After installation, run bunx expo install --check and bunx expo-doctor.
- Distinctive: line 25
Run each step in order and wait for it to finish before the next.
- Very specific: line 27
Create the project: bunx create-expo@latest <project-name> --template tabs --yes, then work inside the new directory.
- Distinctive: line 29
Check the packages that Expo does not track, as the Versions section describes.
- Very specific: line 31
Run bunx expo install --check and bunx expo-doctor, and fix every version mismatch they report.
- Very specific: line 32
Run prebuild as the final setup step: bunx expo prebuild.
- Very specific: line 33
Write the commands section into CLAUDE.md in the project root.
- Distinctive: line 38
Ask the user only when they give a non-standard project location, when their requirements conflict with this setup, or when an error cannot …
- Distinctive: line 42
Before reporting completion, confirm:
- Very specific: line 52
Read the scripts in package.json after prebuild, and write the bun run lines to match the scripts that exist.
- Distinctive: line 72
Follow the Response Style section of the global guidelines.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Expo App Initialize
Create a production-ready Expo React Native app from the tabs template and configure it with the standard dependencies. Use Bun for every command. Never use npm, yarn, or npx; use bunx for one-off tools.
Project name: $ARGUMENTS. If that value is empty or starts with a dollar sign (Codex does not replace the placeholder), take the name from the invocation message. If no name was passed, ask the user for a project name before running anything.
Versions
Use the latest version of every package that is compatible with the project. Never copy a version number from memory or from this skill.
- Create the project with
create-expo@latest, so the app starts on the newest stable Expo SDK. - Before any install, read the project's Expo SDK and React Native versions from
package.json. For each package that Expo does not track (react-native-mmkv,react-native-nitro-modules,expo-iap), check the latest published version, its required peer dependencies, and its documented minimum Expo SDK and React Native versions. Choose the newest version that supports the project's React Native version and architecture, and record it with every required peer dependency. If the chosen version is older than the latest, tell the user why. - Install every package with
bunx expo install <package>. It selects the version that matches the project's Expo SDK for packages Expo tracks, and the latest version for others. Install the versions and peer dependencies that the check chose in the same command. - After installation, run
bunx expo install --checkandbunx expo-doctor. Fix every version mismatch they report before prebuild.
Workflow
Run each step in order and wait for it to finish before the next. If a step fails, stop and report the exact error with troubleshooting steps. Never continue after a failed step.
- Create the project:
bunx create-expo@latest <project-name> --template tabs --yes, then work inside the new directory. - Confirm
expo-routeris already inpackage.json. The tabs template includes it. Install it withbunx expo install expo-routeronly if it is missing. - Check the packages that Expo does not track, as the Versions section describes. Record the chosen version and the required peer dependencies of each package.
- Install the dependencies:
bunx expo install react-native-mmkv react-native-nitro-modules expo-dev-client expo-iap, plus every required peer dependency that step 3 found. Write a package as<package>@<version>when step 3 chose a version older than the latest. - Run
bunx expo install --checkandbunx expo-doctor, and fix every version mismatch they report. - Run prebuild as the final setup step:
bunx expo prebuild. If the user asked for one platform only, runbunx expo prebuild --platform <android|ios>. On Windows, prebuild skips iOS with a warning; this is expected, so report it and continue. - Write the commands section into
CLAUDE.mdin the project root. Never overwrite or remove template content, and never add a second# Project Commandssection.CLAUDE.mdexists, as a file or as a symlink toAGENTS.md: append the commands section to it once.CLAUDE.mdis missing andAGENTS.mdexists: createCLAUDE.mdwith@AGENTS.mdas its first line, then the commands section. Do not changeAGENTS.md.- Neither file exists: create
CLAUDE.mdwith the commands section.
Ask the user only when they give a non-standard project location, when their requirements conflict with this setup, or when an error cannot be resolved automatically.
Verification
Before reporting completion, confirm:
- The tabs template exists:
app/(tabs)andapp/_layout.tsx. package.jsonlists every required dependency and peer dependency.bunx expo install --checkandbunx expo-doctorreport no problems.- Prebuild finished with no errors, and the native directory of each platform that prebuild generated exists:
android/andios/by default, onlyandroid/on Windows, or only the platform the user asked for. CLAUDE.mdcontains the commands section exactly once, andAGENTS.md, if the template created it, keeps all of its template content.
Commands section
Read the scripts in package.json after prebuild, and write the bun run lines to match the scripts that exist.
# Project Commands
## Development
- `bun start` - Start the Expo development server
- `bun run ios` - Run on iOS simulator
- `bun run android` - Run on Android emulator
- `bun run web` - Run in web browser
### Build and Deployment
- `bunx expo prebuild --clean` - Clean and regenerate native code
- `bunx eas-cli build --platform android` - Build for Android using EAS
- `bunx eas-cli build --platform ios` - Build for iOS using EAS
- `bunx eas-cli build --platform android --auto-submit` - Build and auto-submit to Play StoreReport
Follow the Response Style section of the global guidelines. Include the project directory name, the Expo SDK version, and each installed package with its version and purpose:
expo-router: file-based routing.react-native-mmkv: high-performance key-value storage.react-native-nitro-modules: native module runtime thatreact-native-mmkvrequires.expo-dev-client: custom development builds and native code.expo-iap: in-app purchases. Warn that Apple and Google store configuration is still required.
State any package that is not on its latest version, and why. Suggest bunx expo run:ios or bunx expo run:android as next steps.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

