This skill should be used when the user asks about "nativephp config", "nativephp.php", "nativephp permission", "enable camera permission", "NATIVEPHP_APP_ID", "environment variables", "app permissions", "config/nativephp.php", "deep link config", "status bar style", "orientation config", "cleanup config", or needs to configure 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 configuring NativePHP Mobile applications through the config file and environment variables.
The main configuration file is config/nativephp.php. Publish it with:
php artisan vendor:publish --tag=nativephp-config
# Unique app identifier (reverse domain notation)
# Only lowercase letters, numbers, and periods
# NO hyphens, underscores, spaces, or emoji
NATIVEPHP_APP_ID=com.yourcompany.yourapp
# App version (semver)
NATIVEPHP_APP_VERSION=1.0.0
# Numeric version code (increment for each store upload)
NATIVEPHP_APP_VERSION_CODE=1
# Initial URL to load (default: "/")
NATIVEPHP_START_URL=/
# Apple Developer Team ID (from developer.apple.com)
NATIVEPHP_DEVELOPMENT_TEAM=ABC123XYZ
# App Store Connect credentials (for deployment)
APP_STORE_API_KEY=your-api-key
APP_STORE_API_KEY_ID=KEYID123
APP_STORE_API_ISSUER_ID=issuer-uuid
APP_STORE_APP_NAME=Your App Name
# Gradle JDK path (if not using JAVA_HOME)
NATIVEPHP_GRADLE_PATH=/path/to/jdk
# Android SDK location
NATIVEPHP_ANDROID_SDK_LOCATION=/path/to/android/sdk
# Android emulator path
ANDROID_EMULATOR=/path/to/emulator
# Status bar icon style: 'auto', 'light', 'dark'
NATIVEPHP_ANDROID_STATUS_BAR_STYLE=auto
# Enable R8/ProGuard minification for release
NATIVEPHP_ANDROID_MINIFY_ENABLED=true
# Windows only: 7-Zip location
NATIVEPHP_7ZIP_LOCATION=C:\Program Files\7-Zip\7z.exe
# Custom URL scheme (e.g., myapp://path)
NATIVEPHP_DEEPLINK_SCHEME=myapp
# Associated domain for universal/app links (e.g., https://example.com/path)
NATIVEPHP_DEEPLINK_HOST=example.com
All permissions default to false. Enable only what your app needs in config/nativephp.php:
'permissions' => [
// Biometric authentication (Face ID, Touch ID, fingerprint)
'biometric' => false,
// Camera access for photos/video
'camera' => false,
// GPS location access
'location' => false,
// Microphone for audio recording
'microphone' => false,
// Background audio recording (iOS)
'microphone_background' => false,
// Network state monitoring (enabled by default)
'network_state' => true,
// NFC reader access
'nfc' => false,
// Push notification capability
'push_notifications' => false,
// QR code and barcode scanning
'scanner' => false,
// Read external storage
'storage_read' => false,
// Write external storage
'storage_write' => false,
// Haptic feedback
'vibrate' => false,
],
Provide custom permission descriptions for iOS:
'permissions' => [
'camera' => 'We need camera access to scan documents',
'location' => 'Location is used to show nearby stores',
'microphone' => 'Record voice notes for your tasks',
],
'orientation' => [
'iphone' => [
'portrait',
'landscape_left',
'landscape_right',
// 'upside_down' // Not recommended for iPhone
],
'android' => [
'portrait',
'landscape_left',
'landscape_right',
'upside_down',
],
],
Note: iPad always supports all orientations regardless of settings.
// Enable iPad support
'ipad' => true,
Warning: Once an app with iPad support is published, removing it requires a new App ID.
// Options: 'auto', 'light' (for dark backgrounds), 'dark' (for light backgrounds)
'status_bar_style' => 'auto',
// Unique app identifier (from NATIVEPHP_APP_ID)
'app_id' => env('NATIVEPHP_APP_ID', 'com.nativephp.app'),
// Version string (semver)
'version' => env('NATIVEPHP_APP_VERSION', '1.0.0'),
// Numeric version code for Play Store
'version_code' => env('NATIVEPHP_APP_VERSION_CODE', 1),
// Initial URL to load
'start_url' => env('NATIVEPHP_START_URL', '/'),
// Custom URL scheme (e.g., myapp://path)
'deeplink_scheme' => env('NATIVEPHP_DEEPLINK_SCHEME', 'nativephp'),
// Domain for HTTPS deep links and NFC
'deeplink_host' => env('NATIVEPHP_DEEPLINK_HOST', ''),
For HTTPS deep links (universal/app links), host verification files:
iOS - /.well-known/apple-app-site-association:
{
"applinks": {
"apps": [],
"details": [{
"appID": "TEAMID.com.yourcompany.yourapp",
"paths": ["*"]
}]
}
}
Android - /.well-known/assetlinks.json:
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.yourcompany.yourapp",
"sha256_cert_fingerprints": ["YOUR_CERT_FINGERPRINT"]
}
}]
'build' => [
// Enable R8/ProGuard minification for release builds
'minify_enabled' => env('NATIVEPHP_ANDROID_MINIFY_ENABLED', false),
// Debug symbol level for Play Store crashes
'debug_symbols' => 'none', // 'full', 'symbol_table', 'none'
// Enable parallel Gradle builds
'parallel_builds' => true,
// Enable incremental builds
'incremental_builds' => true,
],
'hot_reload' => [
// Paths to watch for changes
'watch_paths' => [
'app',
'resources',
'routes',
'config',
],
// Patterns to exclude from watch
'exclude_patterns' => [
'storage',
'node_modules',
'vendor',
],
],
Remove sensitive data before bundling:
// Environment variables to remove before bundling
'cleanup_env_keys' => [
'AWS_ACCESS_KEY_ID',
'AWS_SECRET_ACCESS_KEY',
'STRIPE_SECRET',
'PUSHER_APP_SECRET',
// Add your sensitive keys
],
// Files/folders to exclude from bundle (reduces app size)
'cleanup_exclude_files' => [
'tests',
'.git',
'node_modules',
'.env.example',
'README.md',
// Add unnecessary files
],
// Apple Developer Team ID
'development_team' => env('NATIVEPHP_DEVELOPMENT_TEAM'),
// App Store Connect API credentials
'app_store_connect' => [
'api_key' => env('APP_STORE_API_KEY'),
'api_key_id' => env('APP_STORE_API_KEY_ID'),
'issuer_id' => env('APP_STORE_API_ISSUER_ID'),
'app_name' => env('APP_STORE_APP_NAME'),
],
During development, use DEBUG to force fresh extraction:
NATIVEPHP_APP_VERSION=DEBUG
This ensures code changes are always reflected without version comparison caching.
// config/nativephp.php
return [
'app_id' => env('NATIVEPHP_APP_ID', 'com.nativephp.app'),
'version' => env('NATIVEPHP_APP_VERSION', '1.0.0'),
'version_code' => env('NATIVEPHP_APP_VERSION_CODE', 1),
'start_url' => env('NATIVEPHP_START_URL', '/'),
'deeplink_scheme' => env('NATIVEPHP_DEEPLINK_SCHEME', ''),
'deeplink_host' => env('NATIVEPHP_DEEPLINK_HOST', ''),
'development_team' => env('NATIVEPHP_DEVELOPMENT_TEAM'),
'ipad' => false,
'orientation' => [
'iphone' => ['portrait'],
'android' => ['portrait'],
],
'status_bar_style' => 'auto',
'permissions' => [
'biometric' => false,
'camera' => true,
'location' => false,
'microphone' => true,
'push_notifications' => true,
'scanner' => true,
'network_state' => true,
'vibrate' => true,
],
'cleanup_env_keys' => [
'AWS_SECRET_ACCESS_KEY',
'STRIPE_SECRET',
],
'cleanup_exclude_files' => [
'tests',
'.git',
'node_modules',
],
];
For detailed configuration documentation:
https://nativephp.com/docs/mobile/2/getting-started/configurationhttps://nativephp.com/docs/mobile/2/concepts/deep-linkshttps://nativephp.com/docs/mobile/2/the-basics/web-viewUse WebFetch to retrieve the latest configuration 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.