This skill should be used when the user asks about "deploy nativephp", "build ios app", "build android app", "app store submission", "play store submission", "native:package", "native:release", "sign android app", "sign ios app", "create ipa", "create aab", "create apk", "upload to app store", "release build", or needs to package and deploy their NativePHP Mobile application.
/plugin marketplace add NativePHP/ClaudePlugins/plugin install nativephp-mobile@nativephp-mobile-pluginThis skill inherits all available tools. When active, it can use any tool Claude has access to.
This skill provides guidance for building, signing, packaging, and deploying NativePHP Mobile applications to the App Store and Play Store.
The deployment process involves:
Before packaging:
.env:
NATIVEPHP_APP_VERSION=1.0.0
NATIVEPHP_APP_VERSION_CODE=1
config/nativephp.phpCreate an optimized release build:
php artisan native:run ios --build=release
php artisan native:run android --build=release
This removes debugging code and optimizes the application. Always test release builds on physical devices before submission.
Create keystore automatically:
php artisan native:credentials android
This generates:
.keystore)Store these credentials securely - they're required for all future updates.
php artisan native:package android \
--keystore=/path/to/my-app.keystore \
--keystore-password=your_password \
--key-alias=my-app-key \
--key-password=your_key_password
Output: nativephp/android/app/build/outputs/apk/release/app-release.apk
php artisan native:package android \
--build-type=bundle \
--keystore=/path/to/my-app.keystore \
--keystore-password=your_password \
--key-alias=my-app-key \
--key-password=your_key_password
Output: nativephp/android/app/build/outputs/bundle/release/app-release.aab
Direct upload with Google Service Account:
php artisan native:package android \
--build-type=bundle \
--keystore=/path/to/my-app.keystore \
--keystore-password=your_password \
--key-alias=my-app-key \
--key-password=your_key_password \
--upload-to-play-store \
--play-store-track=internal # or alpha, beta, production
With Google Service Account credentials configured, automatically increment build number:
php artisan native:package android \
--build-type=bundle \
[signing options] \
--upload-to-play-store
Skip ahead in version numbering:
php artisan native:package android --jump-by=10
Gather these before packaging:
.p8 file) - Generate at App Store Connect > Users and Access > Keys.p12 or .cer) - From Xcode or Apple Developer portal.mobileprovision) - Match your app ID and certificate| Method | Use Case |
|---|---|
app-store | Production App Store submission (default) |
ad-hoc | Distribute to specific registered devices |
enterprise | Enterprise-only distribution |
development | Testing on personal devices |
php artisan native:package ios \
--export-method=app-store \
--api-key=/path/to/AuthKey.p8 \
--api-key-id=KEYID123 \
--api-issuer-id=issuer-uuid \
--certificate=/path/to/distribution.p12 \
--certificate-password=cert_password \
--provisioning-profile=/path/to/profile.mobileprovision \
--team-id=ABC123XYZ \
--upload-to-app-store
php artisan native:package ios \
--export-method=ad-hoc \
--certificate=/path/to/distribution.p12 \
--certificate-password=cert_password \
--provisioning-profile=/path/to/adhoc.mobileprovision \
--team-id=ABC123XYZ
php artisan native:package ios \
--export-method=development \
--certificate=/path/to/development.p12 \
--certificate-password=cert_password \
--provisioning-profile=/path/to/dev.mobileprovision \
--team-id=ABC123XYZ
# Validate provisioning profile and entitlements
php artisan native:package ios --validate-profile
# Clear Xcode and SPM caches
php artisan native:package ios --clean-caches
# Force complete rebuild
php artisan native:package ios --rebuild
# Validate without creating IPA
php artisan native:package ios --validate-only
Store credentials in .env to avoid command-line exposure:
# Android
ANDROID_KEYSTORE=/path/to/keystore
ANDROID_KEYSTORE_PASSWORD=password
ANDROID_KEY_ALIAS=alias
ANDROID_KEY_PASSWORD=password
# iOS
IOS_API_KEY=/path/to/AuthKey.p8
IOS_API_KEY_ID=KEYID123
IOS_API_ISSUER_ID=issuer-uuid
IOS_CERTIFICATE=/path/to/certificate.p12
IOS_CERTIFICATE_PASSWORD=password
IOS_PROVISIONING_PROFILE=/path/to/profile.mobileprovision
IOS_TEAM_ID=ABC123XYZ
Then reference in commands or configure in config/nativephp.php.
For automated pipelines:
# Disable TTY for non-interactive environments
php artisan native:package android --no-tty [options]
php artisan native:package ios --no-tty [options]
- name: Build Android
run: |
php artisan native:package android \
--build-type=bundle \
--keystore=${{ secrets.ANDROID_KEYSTORE }} \
--keystore-password=${{ secrets.ANDROID_KEYSTORE_PASSWORD }} \
--key-alias=${{ secrets.ANDROID_KEY_ALIAS }} \
--key-password=${{ secrets.ANDROID_KEY_PASSWORD }} \
--no-tty
# Semantic version displayed to users
NATIVEPHP_APP_VERSION=1.2.3
# Integer that must increment for each store upload
NATIVEPHP_APP_VERSION_CODE=48
| Platform | Type | Location |
|---|---|---|
| Android | APK | nativephp/android/app/build/outputs/apk/release/app-release.apk |
| Android | AAB | nativephp/android/app/build/outputs/bundle/release/app-release.aab |
| iOS | IPA | Xcode's build output directory |
# Verify keystore
keytool -list -v -keystore /path/to/keystore
Ensure:
# Clean and rebuild
php artisan native:package [platform] --clean-caches --rebuild
For detailed deployment documentation:
https://nativephp.com/docs/mobile/2/getting-started/deploymentUse WebFetch to retrieve the latest deployment procedures and options.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.