makepad-deployment – skill DevOps & Hạ tầng cho agent AI
QUAN TRỌNG: Dùng cho đóng gói và triển khai Makepad. Kích hoạt khi gặp: deploy, package, APK, IPA, 打包, 部署, cargo-packager, cargo-makepad, WASM, Android, iOS, distribution, installer, .deb, .dmg, .nsis, GitHub Actions, CI, action, marketplace
Cài skill makepad-deployment bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/makepad-deployment-1e3fe.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /makepad-deployment – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/makepad-deployment-1e3fe.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $makepad-deployment – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/makepad-deployment-1e3fe.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /makepad-deployment – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/makepad-deployment-1e3fe.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /makepad-deployment – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
Supporting material availability
This catalog copy contains the inline guidance below, but does not include the following supporting paths. They are external prerequisites, not bundled files:
<support-root>/references/makepad-packaging-action.md./assets/icon.png./dist/resources/makepad_widgets./dist/resources/makepad_fonts_chinese_bold./dist/resources/makepad_fonts_chinese_bold_2./dist/resources/makepad_fonts_chinese_regular./dist/resources/makepad_fonts_chinese_regular_2./dist/resources/makepad_fonts_emoji./dist/resources/your_app_resource./dist/resources/my-makepad-app<support-root>/references/platform-troubleshooting.md
Ask for the original supporting material or an existing installation before using a step that depends on these paths; this catalog does not identify a verified download source for them. Resolve each path relative to that installation, inspect its contents, and verify any applicable license and execution prerequisites. Do not run a command or claim a referenced procedure was followed until its required file exists. Do not fabricate the missing scripts or treat an unrelated file with the same name as equivalent. Independent steps fully documented here can proceed within the user’s authorized scope; report any dependent step as unavailable.
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](#desktop-packaging) | cargo-packager | .deb, .nsis, .dmg |
| [Android](#android) | cargo-makepad | .apk |
| [iOS](#ios) | cargo-makepad | .app, .ipa |
| [Web](#wasm-packaging) | cargo-makepad | Wasm + HTML/JS |
| [CI/CD](#github-actions-packaging) | makepad-packaging-action | GitHub 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 --releaseNotes:
- 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
# Install cargo-packager
cargo install cargo-packager --locked
# Install robius-packaging-commands (v0.2.1)
cargo install --version 0.2.1 --locked \
--git https://github.com/project-robius/robius-packaging-commands.git \
robius-packaging-commandsConfigure 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"
# Note: long_description has 80 character max per line
long_description = """
Your detailed description here.
Keep each line under 80 characters.
"""
icons = ["./assets/icon.png"]
out_dir = "./dist"
# Pre-packaging command to collect resources
before-packaging-command = """
robius-packaging-commands before-packaging \
--force-makepad \
--binary-name your-app \
--path-to-binary ./target/release/your-app
"""
# Resources to include in package
resources = [
# Makepad built-in resources (required)
{ 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" },
# Your app resources
{ 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)
# Install dependencies
sudo apt-get update
sudo apt-get install libssl-dev libsqlite3-dev pkg-config \
binfmt-support libxcursor-dev libx11-dev libasound2-dev libpulse-dev
# Build package
cargo packager --releaseOutput: .deb file in ./dist/
Windows
# Build NSIS installer
cargo packager --release --formats nsisOutput: .exe installer in ./dist/
macOS
# Build package
cargo packager --releaseOutput: .dmg file in ./dist/
Platform-Specific Configuration
# Linux (Debian)
[package.metadata.packager.deb]
depends = "./dist/depends_deb.txt"
desktop_template = "./packaging/your-app.desktop"
section = "utils"
# macOS
[package.metadata.packager.macos]
minimum_system_version = "11.0"
frameworks = []
info_plist_path = "./packaging/Info.plist"
entitlements = "./packaging/Entitlements.plist"
# Optional: signing identity for distribution
signing_identity = "Developer ID Application: Your Name (XXXXXXXXXX)"
# macOS DMG
[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 }
# Windows NSIS
[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-makepadAndroid
# Install Android toolchain
cargo makepad android install-toolchain
# Full NDK (recommended for complete support)
cargo makepad android install-toolchain --full-ndk
# Build APK
cargo makepad android build -p your-app --releaseOutput: .apk in ./target/makepad-android-app/
Run on device/emulator:
cargo makepad android run -p your-app --releaseiOS
# Install iOS toolchain
cargo makepad apple ios install-toolchainiOS Simulator:
cargo makepad apple ios \
--org=com.yourcompany \
--app=YourApp \
run-sim -p your-app --releaseOutput: .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 --releaseOutput: .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.
# Install Wasm toolchain
cargo makepad wasm install-toolchain
# Build and run
cargo makepad wasm run -p your-app --releaseOutput in ./target/makepad-wasm-app/release/your-app/:
index.html- Entry point*.wasm- WebAssembly module*.js- JavaScript bridgeresources/- Static assets
Serve locally:
cd ./target/makepad-wasm-app/release/your-app
python3 -m http.server 8080 --bind 127.0.0.1
# Open http://localhost:8080---
Illustrative Cargo.toml (application sources/assets not bundled)
[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 <[email protected]>"]
description = "A cross-pl… (nội dung đầy đủ có trong gói tải về)
Skill liên quan
- makepad-platform – CRITICAL: Dùng cho hỗ trợ đa nền tảng của Makepad. Kích hoạt khi: makepad platform…
- meteora-dlmm-pool-screening – Sàng lọc và xếp hạng các pool Meteora DLMM theo chất lượng LP, dùng API công khai của…
- microsoft-azure-webjobs-extensions-authentication-events-dotnet – Microsoft Entra Authentication Events SDK cho .NET. Trigger Azure Functions cho các…
- mirrord – Chạy tiến trình cục bộ bên trong mạng, biến môi trường và lưu lượng của cụm Kubernetes…
- mise-configurator – Tạo cấu hình mise.toml sẵn sàng production cho môi trường phát triển cục bộ, pipeline…
- model-registry-governance – Thiết lập tiêu chuẩn registry mô hình, kiểm soát quản trị, schema metadata, phê duyệt và…
- model-serving-kubernetes – Triển khai mô hình ML trên Kubernetes với KServe (trước đây là KFServing) và NVIDIA…
- mongodb – Quản trị cơ sở dữ liệu MongoDB. Cấu hình replica set, sharding và sao lưu. Dùng khi quản…