| name | ionic-react |
| description | Build a production-ready Ionic Capacitor mobile app with React functional components, hooks for cross-cutting concerns, react-router via @ionic/react-router, and react-i18next for i18n. Trigger when the user wants to create an Ionic React app, scaffold pages (onboarding, paywall, tabs, settings), or wire RevenueCat / AdMob / push notifications into a React Ionic project. |
| license | MIT |
| metadata | {"author":"erkamyaman","version":"1.0"} |
Ionic + React App Guidelines
This is a SKILL file, NOT a project. Never run npm install here. When creating a new project, ask for the project path or scaffold in a separate directory (e.g. ~/Projects/<app>).
When to consult these references
Project setup:
Pages and navigation:
Cross-cutting:
Native plugin topics live in ../ionic-shared/references/:
Required pages (always create)
- Onboarding — swipe-based, fullscreen background video + gradient overlay.
- Paywall — RevenueCat (weekly / yearly), shown immediately after onboarding.
- Settings — language, theme, notifications, remove ads, reset onboarding.
Required navigation
Use IonTabs + IonTabBar. Never build a custom tab bar or pull in a third-party tab library.
Required libraries
npm install \
@capacitor/preferences @capacitor/push-notifications \
@capacitor/splash-screen @capacitor/status-bar \
@revenuecat/purchases-capacitor @capacitor-community/admob \
react-i18next i18next i18next-http-backend \
swiper
Hard rules (React-specific)
- ❌ Class components — use functional components with hooks.
- ❌ Direct DOM manipulation — use refs / state.
- ❌ Importing from
@ionic/angular or @ionic/vue — only @ionic/react.
- ❌
any type.
- ✅ Wrap every page in
<IonPage> so Ionic's transitions and lifecycle work.
Before reporting done
npm install
npm run build
npx cap sync
The build must complete without errors. cap sync is required after every web build before testing on native.