Skip to main content سوق المهارات اكتشف واستكشف مهارات الذكاء الاصطناعي التي بناها المجتمع.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
نسخ Promptعرض تفاصيل Prompt يتجاوز الأمر المباشر Prompt المخصّص للمراجعة. افحص المصدر قبل تشغيله.
npx skills add https://github.com/BEKO2210/Firstbrain --skill makepad-deploymentيبقى الأمر في سطر واحد. مرّر أفقيًا لمراجعته كاملًا قبل النسخ.
تفضّل نسخة محلية؟ نزّل الملفات المتاحة حاليًا لدى SkillsMP.
تحميل Zip جاري التحميل... المهن ذات الصلة SOC
استنادا إلى تصنيف SOC المهني
name makepad-deployment description | type skill created 2026-02-27T00:00:00.000Z domain software-development category frontend risk critical source community tags ["skill","software-development","frontend","makepad","deployment"]
Makepad Packaging & Deployment
This skill covers packaging Makepad applications for all supported platforms.
When to Use
You need to package, distribute, or automate deployment of a Makepad application.
The task involves desktop installers, APK/IPA builds, WebAssembly output, or CI-based release artifacts.
You need guidance on cargo-packager, cargo-makepad, or GitHub Actions packaging flows for Makepad.
Quick Navigation
Platform Tool Output Desktop cargo-packager.deb, .nsis, .dmg Android cargo-makepad.apk iOS cargo-makepad.app, .ipa Web cargo-makepadWasm + HTML/JS CI/CD makepad-packaging-actionGitHub Release assets
GitHub Actions Packaging
Use makepad-packaging-action to package Makepad apps in CI. It wraps
cargo-packager (desktop) and cargo-makepad (mobile), and can upload artifacts
to GitHub Releases.
jobs:
package:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: Project-Robius-China/makepad-packaging-action@v1
with:
args: --target x86_64-unknown-linux-gnu --release
Notes:
Desktop packages must run on matching OS runners (Linux/Windows/macOS).
iOS builds require macOS runners.
Android builds can run on any OS runner. Full inputs/env/outputs and release workflows live in
references/makepad-packaging-action.md.
Desktop Packaging Desktop packaging uses cargo-packager with robius-packaging-commands for resource handling.
Install Tools
cargo install cargo-packager --locked
cargo install --version 0.2.1 --locked \
--git https://github.com/project-robius/robius-packaging-commands.git \
robius-packaging-commands
Configure Cargo.toml Add packaging configuration to your Cargo.toml:
[package.metadata.packager]
product_name = "YourAppName"
identifier = "com.yourcompany.yourapp"
authors = ["Your Name or Team" ]
description = "A brief description of your Makepad application"
long_description = """
Your detailed description here.
Keep each line under 80 characters.
"""
icons = ["./assets/icon.png" ]
out_dir = "./dist"
before-packaging-command = """
robius-packaging-commands before-packaging \
--force-makepad \
--binary-name your-app \
--path-to-binary ./target/release/your-app
"""
resources = [
{ src = "./dist/resources/makepad_widgets" , target = "makepad_widgets" },
{ src = "./dist/resources/makepad_fonts_chinese_bold" , target = "makepad_fonts_chinese_bold" },
{ src = "./dist/resources/makepad_fonts_chinese_bold_2" , target = "makepad_fonts_chinese_bold_2" },
{ src = "./dist/resources/makepad_fonts_chinese_regular" , target = "makepad_fonts_chinese_regular" },
{ src = "./dist/resources/makepad_fonts_chinese_regular_2" , target = "makepad_fonts_chinese_regular_2" },
{ src = "./dist/resources/makepad_fonts_emoji" , target = "makepad_fonts_emoji" },
{ src = "./dist/resources/your_app_resource" , target = "your_app_resource" },
]
before-each-package-command = """
robius-packaging-commands before-each-package \
--force-makepad \
--binary-name your-app \
--path-to-binary ./target/release/your-app
"""
Linux (Debian/Ubuntu)
sudo apt-get update
sudo apt-get install libssl-dev libsqlite3-dev pkg-config \
binfmt-support libxcursor-dev libx11-dev libasound2-dev libpulse-dev
cargo packager --release
Output: .deb file in ./dist/
Windows
cargo packager --release --formats nsis
Output: .exe installer in ./dist/
macOS Output: .dmg file in ./dist/
Platform-Specific Configuration
[package.metadata.packager.deb]
depends = "./dist/depends_deb.txt"
desktop_template = "./packaging/your-app.desktop"
section = "utils"
[package.metadata.packager.macos]
minimum_system_version = "11.0"
frameworks = []
info_plist_path = "./packaging/Info.plist"
entitlements = "./packaging/Entitlements.plist"
signing_identity = "Developer ID Application: Your Name (XXXXXXXXXX)"
[package.metadata.packager.dmg]
background = "./packaging/dmg_background.png"
window_size = { width = 960 , height = 540 }
app_position = { x = 200 , y = 250 }
application_folder_position = { x = 760 , y = 250 }
[package.metadata.packager.nsis]
appdata_paths = [
"$APPDATA/$PUBLISHER/$PRODUCTNAME" ,
"$LOCALAPPDATA/$PRODUCTNAME" ,
]
Mobile Packaging Mobile platforms use cargo-makepad for building and packaging.
Install cargo-makepad cargo install --force --git https://github.com/makepad/makepad.git \
--branch dev cargo-makepad
Android
cargo makepad android install-toolchain
cargo makepad android install-toolchain --full-ndk
cargo makepad android build -p your-app --release
Output: .apk in ./target/makepad-android-app/
cargo makepad android run -p your-app --release
iOS
cargo makepad apple ios install-toolchain
cargo makepad apple ios \
--org=com.yourcompany \
--app=YourApp \
run-sim -p your-app --release
Output: .app in ./target/makepad-apple-app/aarch64-apple-ios-sim/release/
iOS Device (requires provisioning):
First, create an empty app in Xcode with matching org/app names to generate provisioning profile.
cargo makepad apple ios \
--org=com.yourcompany \
--app=YourApp \
--profile=$YOUR_PROFILE_PATH \
--cert=$YOUR_CERT_FINGERPRINT \
--device=iPhone \
run-device -p your-app --release
Output: .app in ./target/makepad-apple-app/aarch64-apple-ios/release/
Create IPA for distribution:
cd ./target/makepad-apple-app/aarch64-apple-ios/release
mkdir Payload
cp -r your-app.app Payload/
zip -r your-app-ios.ipa Payload
Wasm Packaging Build your Makepad app for web browsers.
cargo makepad wasm install-toolchain
cargo makepad wasm run -p your-app --release
Output in ./target/makepad-wasm-app/release/your-app/:
index.html - Entry point
*.wasm - WebAssembly module
*.js - JavaScript bridge
resources/ - Static assets
cd ./target/makepad-wasm-app/release/your-app
python3 -m http.server 8080
Complete Example Cargo.toml [package]
name = "my-makepad-app"
version = "1.0.0"
edition = "2024"
[dependencies]
makepad-widgets = { git = "https://github.com/makepad/makepad" , branch = "dev" }
[profile.release]
opt-level = 3
[profile.release-lto]
inherits = "release"
lto = "thin"
[profile.distribution]
inherits = "release"
codegen-units = 1
lto = "fat"
[package.metadata.packager]
product_name = "My Makepad App"
identifier = "com.example.mymakepadapp"
authors = ["Your Name <you@example.com>" ]
description = "A cross-platform Makepad application"
long_description = """
My Makepad App is a cross-platform application
built with the Makepad UI framework in Rust.
It runs on desktop, mobile, and web platforms.
"""
icons = ["./packaging/icon.png" ]
out_dir = "./dist"
before-packaging-command = """
robius-packaging-commands before-packaging \
--force-makepad \
--binary-name my-makepad-app \
--path-to-binary ./target/release/my-makepad-app
"""
resources = [
{ src = "./dist/resources/makepad_widgets" , target = "makepad_widgets" },
{ src = "./dist/resources/makepad_fonts_chinese_bold" , target = "makepad_fonts_chinese_bold" },
{ src = "./dist/resources/makepad_fonts_chinese_bold_2" , target = "makepad_fonts_chinese_bold_2" },
{ src = "./dist/resources/makepad_fonts_chinese_regular" , target = "makepad_fonts_chinese_regular" },
{ src = "./dist/resources/makepad_fonts_chinese_regular_2" , target = "makepad_fonts_chinese_regular_2" },
{ src = "./dist/resources/makepad_fonts_emoji" , target = "makepad_fonts_emoji" },
{ src = "./dist/resources/my-makepad-app" , target = "my-makepad-app" },
]
before-each-package-command = """
robius-packaging-commands before-each-package \
--force-makepad \
--binary-name my-makepad-app \
--path-to-binary ./target/release/my-makepad-app
"""
[package.metadata.packager.deb]
depends = "./dist/depends_deb.txt"
section = "utils"
[package.metadata.packager.macos]
minimum_system_version = "11.0"
[package.metadata.packager.nsis]
appdata_paths = ["$LOCALAPPDATA/$PRODUCTNAME" ]
Quick Reference Task Command Install desktop packager cargo install cargo-packager --lockedInstall resource helper cargo install --version 0.2.1 --locked --git https://github.com/project-robius/robius-packaging-commands.git robius-packaging-commandsInstall mobile packager cargo install --force --git https://github.com/makepad/makepad.git --branch dev cargo-makepadGitHub Actions packaging uses: Project-Robius-China/makepad-packaging-action@v1Package for Linux cargo packager --releasePackage for Windows cargo packager --release --formats nsisPackage for macOS cargo packager --releaseBuild Android APK cargo makepad android build -p app --releaseBuild iOS (Simulator) cargo makepad apple ios --org=x --app=y run-sim -p app --releaseBuild iOS (Device) cargo makepad apple ios --org=x --app=y --profile=... --cert=... run-device -p app --releaseBuild Wasm cargo makepad wasm run -p app --release
Troubleshooting
Missing Resources If app crashes with missing resources:
Check resources array in Cargo.toml includes all Makepad resources
Verify before-packaging-command runs successfully
Check ./dist/resources/ contains expected files
iOS Provisioning For iOS device deployment:
Create empty app in Xcode with same org/app identifiers
Run on physical device once to generate provisioning profile
Note the profile path, certificate fingerprint
Use --profile, --cert, --device flags
Android SDK Issues
cargo makepad android install-toolchain --full-ndk
Reference Files
references/platform-troubleshooting.md - Platform-specific deployment issues
references/makepad-packaging-action.md - GitHub Actions packaging reference
community/dora-studio-package-workflow.md - Dora Studio CI packaging example
External References
Connections
Domain: [[Software Entwicklung]]
Kategorie: [[Frontend Entwicklung]]
Navigation: [[Skills Uebersicht]], [[Home]]