{"slug":"expo-dev-client","title":"expo-dev-client","summary":"Build Expo app for development","platform":"ChatGPT","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-08-16T13:38:30.475129Z","repo":{"url":"https://github.com/sickn33/agentic-awesome-skills","stars":46883,"forks":6831,"license":"MIT","updatedAt":"2026-09-25T05:43:16Z"},"bodyHtml":"<hr>\n<h2>name: expo-dev-client\ndescription: Build Expo app for development\nrisk: critical\nsource: <a href=\"https://github.com/expo/skills/tree/main/plugins/expo/skills/expo-dev-client\">https://github.com/expo/skills/tree/main/plugins/expo/skills/expo-dev-client</a>\nsource_repo: expo/skills\nsource_type: official\ndate_added: 2026-07-01\nlicense: MIT\nlicense_source: <a href=\"https://github.com/expo/skills/blob/main/LICENSE\">https://github.com/expo/skills/blob/main/LICENSE</a></h2>\n<p>Use EAS Build to create development clients for testing native code changes on physical devices. Use this for creating custom Expo Go clients for testing branches of your app.</p>\n<h2>Important: When Development Clients Are Needed</h2>\n<p><strong>Development clients are the recommended setup for any real or production app.</strong> Expo Go is a playground for learning and quick experiments with the native libraries it bundles; most apps outgrow it and move to a development client. See <a href=\"https://docs.expo.dev/develop/development-builds/introduction/\">Expo Go vs. development builds</a> for the full reasoning.</p>\n<p>You need a dev client ONLY when using:</p>\n<ul>\n<li>Local Expo modules (custom native code)</li>\n<li>Apple targets (widgets, app clips, extensions)</li>\n<li>Third-party native modules not in Expo Go</li>\n<li>Config plugins, or testing remote push notifications and App/Universal Links</li>\n</ul>\n<h2>EAS Configuration</h2>\n<p>Ensure <code>eas.json</code> has a development profile:</p>\n<pre><code>{\n  \"cli\": {\n    \"version\": \"&gt;= 16.0.1\",\n    \"appVersionSource\": \"remote\"\n  },\n  \"build\": {\n    \"production\": {\n      \"autoIncrement\": true\n    },\n    \"development\": {\n      \"autoIncrement\": true,\n      \"developmentClient\": true\n    }\n  },\n  \"submit\": {\n    \"production\": {},\n    \"development\": {}\n  }\n}\n</code></pre>\n<p>Key settings:</p>\n<ul>\n<li><code>developmentClient: true</code> - Bundles expo-dev-client for development builds</li>\n<li><code>autoIncrement: true</code> - Automatically increments build numbers</li>\n<li><code>appVersionSource: \"remote\"</code> - Uses EAS as the source of truth for version numbers</li>\n</ul>\n<h2>Building for TestFlight</h2>\n<p>Build iOS dev client and submit to TestFlight in one command:</p>\n<pre><code>eas build -p ios --profile development --submit\n</code></pre>\n<p>This will:</p>\n<ol>\n<li>Build the development client in the cloud</li>\n<li>Automatically submit to App Store Connect</li>\n<li>Send you an email when the build is ready in TestFlight</li>\n</ol>\n<p>After receiving the TestFlight email:</p>\n<ol>\n<li>Download the build from TestFlight on your device</li>\n<li>Launch the app to see the expo-dev-client UI</li>\n<li>Connect to your local Metro bundler or scan a QR code</li>\n</ol>\n<h2>Building Locally</h2>\n<p>Build a development client on your machine:</p>\n<pre><code># iOS (requires Xcode)\n## When to Use\n\nUse this skill when you need build Expo app for development.\n\neas build -p ios --profile development --local\n\n# Android\neas build -p android --profile development --local\n</code></pre>\n<p>Local builds output:</p>\n<ul>\n<li>iOS: <code>.ipa</code> file</li>\n<li>Android: <code>.apk</code> or <code>.aab</code> file</li>\n</ul>\n<h2>Installing Local Builds</h2>\n<p>Install iOS build on simulator:</p>\n<pre><code># Find the .app in the .tar.gz output\ntar -xzf build-*.tar.gz\nxcrun simctl install booted ./path/to/App.app\n</code></pre>\n<p>Install iOS build on device (requires signing):</p>\n<pre><code># Use Xcode Devices window or ideviceinstaller\nideviceinstaller -i build.ipa\n</code></pre>\n<p>Install Android build:</p>\n<pre><code>adb install build.apk\n</code></pre>\n<h2>Building for Specific Platform</h2>\n<pre><code># iOS only\neas build -p ios --profile development\n\n# Android only\neas build -p android --profile development\n\n# Both platforms\neas build --profile development\n</code></pre>\n<h2>Checking Build Status</h2>\n<pre><code># List recent builds\neas build:list\n\n# View build details\neas build:view\n</code></pre>\n<h2>Using the Dev Client</h2>\n<p>Once installed, the dev client provides:</p>\n<ul>\n<li><strong>Development server connection</strong> - Enter your Metro bundler URL or scan QR</li>\n<li><strong>Build information</strong> - View native build details</li>\n<li><strong>Launcher UI</strong> - Switch between development servers</li>\n</ul>\n<p>Connect to local development:</p>\n<pre><code># Start Metro bundler\nnpx expo start --dev-client\n\n# Scan QR code with dev client or enter URL manually\n</code></pre>\n<h2>Troubleshooting</h2>\n<p><strong>Build fails with signing errors:</strong></p>\n<pre><code>eas credentials\n</code></pre>\n<p><strong>Clear build cache:</strong></p>\n<pre><code>eas build -p ios --profile development --clear-cache\n</code></pre>\n<p><strong>Check EAS CLI version:</strong></p>\n<pre><code>eas --version\neas update\n</code></pre>\n<h2>Limitations</h2>\n<ul>\n<li>Use this skill only when the task clearly matches its upstream product or API scope.</li>\n<li>Verify commands, API behavior, pricing, quotas, credentials, and deployment effects against current official documentation before making changes.</li>\n<li>Do not treat generated examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.</li>\n</ul>\n","files":[{"path":"agents/openai.yaml","sizeBytes":331,"isText":true},{"path":"SKILL.md","sizeBytes":4415,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-08-16T13:41:45.649371Z","sha256":"C9B455D99C3EE7969568BD6F43A65993E859C4C416AD9B31B48B6C947FAE62A2","sizeBytes":2297},"review":null,"source":{"repositoryUrl":"https://github.com/sickn33/agentic-awesome-skills","path":"skills/expo-dev-client","license":"MIT","commit":"f2bba339de74414b0771234cbe4f6a15258e32a3","subtreeSha":"FCD8D736DE476187EBA51C472B0EA218E9962D03D9BC8D4E1E2C802ADFC6FD49","lastSyncedAt":"2026-09-25T06:48:39.853703Z"},"reviewedAt":"2026-08-16T13:46:27.716204Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/sickn33/agentic-awesome-skills/tree/main/skills/expo-dev-client"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install sickn33-agentic-awesome-skills@llmmart"},{"target":"git","command":"git clone https://github.com/sickn33/agentic-awesome-skills.git"}]}