makepad-basics
【重要】Makepadの初期設定とアプリケーション構造の説明に使用します。以下のキーワードで起動します: makepad、Makepad入門、Makepadチュートリアル、live_design!、app_main!、Makepadプロジェクト設定、Makepad Hello World、「Makepadアプリの作成方法」、makepad 入门、创建 makepad 应用、makepad 教程、makepad 项目结构
description の原文を見る
CRITICAL: Use for Makepad getting started and app structure. Triggers on: makepad, makepad getting started, makepad tutorial, live_design!, app_main!, makepad project setup, makepad hello world, "how to create makepad app", makepad 入门, 创建 makepad 应用, makepad 教程, makepad 项目结构
SKILL.md 本文
Makepad Basics スキル
Version: makepad-widgets (dev branch) | Last Updated: 2026-01-19
アップデート確認: https://crates.io/crates/makepad-widgets
あなたは Rust の makepad-widgets クレートの専門家です。以下の方法でユーザーをサポートしてください:
- コード作成: 以下のパターンに従って Rust コードを生成します
- 質問回答: 概念を説明し、問題をトラブルシューティングし、ドキュメントを参照します
使用時期
- Makepad を始めるか、基本的なアプリケーション構造とボイラープレートを理解する必要があります
- タスクにプロジェクトセットアップ、
live_design!、app_main!、または最初の画面のアプリケーション配線が含まれます - より具体的なレイアウト、ウィジェット、シェーダーのトピックに移動する前に、基礎的な Makepad ガイダンスが必要です
ドキュメント
詳細ドキュメントについては、以下のローカルファイルを参照してください:
./references/app-structure.md- 完全なアプリケーションボイラープレートと構造./references/event-handling.md- イベント処理パターン
重要: ドキュメント完全性チェック
質問に答える前に、Claude は必ず:
- 上記の関連リファレンスファイルを読みます
- ファイル読み込みに失敗するか、ファイルが空の場合:
- ユーザーに通知: 「本地文档不完整,建议运行
/sync-crate-skills makepad --force更新文档」 - SKILL.md パターン + 組み込み知識に基づいて回答を続けます
- ユーザーに通知: 「本地文档不完整,建议运行
- リファレンスファイルが存在する場合、その内容を回答に組み込みます
主要パターン
1. 基本的なアプリケーション構造
use makepad_widgets::*;
live_design! {
use link::theme::*;
use link::shaders::*;
use link::widgets::*;
App = {{App}} {
ui: <Root> {
main_window = <Window> {
body = <View> {
width: Fill, height: Fill
flow: Down
<Label> { text: "Hello Makepad!" }
}
}
}
}
}
app_main!(App);
#[derive(Live, LiveHook)]
pub struct App {
#[live] ui: WidgetRef,
}
impl LiveRegister for App {
fn live_register(cx: &mut Cx) {
crate::makepad_widgets::live_design(cx);
}
}
impl AppMain for App {
fn handle_event(&mut self, cx: &mut Cx, event: &Event) {
self.ui.handle_event(cx, event, &mut Scope::empty());
}
}
2. Cargo.toml セットアップ
[package]
name = "my_app"
version = "0.1.0"
edition = "2024"
[dependencies]
makepad-widgets = { git = "https://github.com/makepad/makepad", branch = "dev" }
3. ボタンクリックの処理
impl AppMain for App {
fn handle_event(&mut self, cx: &mut Cx, event: &Event) {
let actions = self.ui.handle_event(cx, event, &mut Scope::empty());
if self.ui.button(id!(my_button)).clicked(&actions) {
log!("Button clicked!");
}
}
}
4. ウィジェットへのアクセスと変更
// ウィジェット参照を取得
let label = self.ui.label(id!(my_label));
label.set_text("Updated text");
let input = self.ui.text_input(id!(my_input));
let text = input.text();
API リファレンス表
| マクロ/型 | 説明 | 例 |
|---|---|---|
live_design! | DSL で UI を定義 | live_design! { App = {{App}} { ... } } |
app_main! | エントリーポイントマクロ | app_main!(App); |
#[derive(Live)] | ライブデータを派生 | #[derive(Live, LiveHook)] |
WidgetRef | UI ツリーへの参照 | #[live] ui: WidgetRef |
Cx | レンダリング用コンテキスト | fn handle_event(&mut self, cx: &mut Cx, ...) |
id!() | ウィジェット ID マクロ | self.ui.button(id!(my_button)) |
プラットフォームセットアップ
| プラットフォーム | 要件 |
|---|---|
| macOS | すぐに利用可能 |
| Windows | すぐに利用可能 |
| Linux | apt-get install clang libaudio-dev libpulse-dev libx11-dev libxcursor-dev |
| Web | cargo install wasm-pack |
コード作成時
- 必ず必要なインポートを含める:
use makepad_widgets::*; - すべての UI 定義に
live_design!マクロを使用 LiveRegisterとAppMainトレイトを実装- ウィジェット参照に
id!()マクロを使用 handle_eventメソッドでイベントを処理
質問に回答する際
- ライブデザインを強調 - DSL の変更は再コンパイルなしに即座に反映されます
- Makepad は GPU ファースト - すべてのレンダリングはシェーダーベースです
- クロスプラットフォーム: 同じコードが Android、iOS、Linux、macOS、Windows、Web で実行されます
- ウィジェットの探索には UI Zoo の例を推奨します
制限事項
- このスキルは、上記で説明したスコープに明確に合致するタスクの場合にのみ使用してください
- 出力は環境固有の検証、テスト、または専門家によるレビューの代替と見なされるべきではありません
- 必要な入力、パーミッション、安全性の境界、または成功基準が不足している場合は、説明を求めてください
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- sickn33
- ライセンス
- MIT
- 最終更新
- 2026/5/12
Source: https://github.com/sickn33/antigravity-awesome-skills / ライセンス: MIT
関連スキル
arxiv
arXivから学術論文を検索、ダウンロード、要約できます。ユーザーが「arXivを検索」「論文をダウンロード」「arXivから取得」「論文のPDFを取得」などと指示した場合、またはarXivから論文を見つけてローカルのペーパーライブラリに保存したい場合に使用します。
slr-prisma
PRISMA 2020フレームワークに従ったシステマティックレビュー(SLR)の作成をガイドします。ユーザーが「systematic review」「systematic literature review」「SLR」「PRISMA」「PRISMA 2020」「PRISMA flow diagram」「PRISMAチェックリスト」と言及したり、報告ガイドラインに準拠した文献レビューの執筆、構成、監査をリクエストした場合に活用できます。また、レビューの適格基準、Scopus・WoS・PubMedなどのデータベース検索戦略、研究選定プロセス、バイアスリスク評価、ナラティブシンセシスについての質問があった場合にも対応します。PRISMA 2020チェックリスト全27項目をカバーし、ジャーナル投稿形式のWordドキュメント原稿を作成、注釈付きのPRISMAフロー図を生成、APA第7版の引用形式を厳密に適用します。メタアナリシスや統計的統合には対応していません。
learning-opportunities
Learning Opportunitiesワークフロースキル。ユーザーがAI支援コーディング中に意図的なスキル開発を促進する必要がある場合に使用します。アーキテクチャ作業(新規ファイル、スキーマ変更、リファクタリング)後にインタラクティブな学習演習を提供します。機能完成時、設計判断時、またはユーザーがコードをより深く理解したいと要求した場合に使用してください。「学習演習」「理解を助けてほしい」「教えてほしい」「なぜこれが機能するのか」といった表現、または新規ファイル・モジュール作成後にトリガーされます。緊急のデバッグ、クイックフィックス、ユーザーが「とにかくリリースしたい」と言った場合には使用しないでください。なお、マージや引き継ぎ前に、オペレーターは上流のワークフロー、コピーされたサポートファイル、およびプロビナンス情報を保持する必要があります。
research-paper-writing
NeurIPS/ICML/ICLRなどの機械学習会議向けの論文を、企画から投稿まで一貫して執筆できます。研究テーマの設計、実験の実施、論文の執筆、そして学会への投稿準備まで、全プロセスをサポートします。
software-engineering-research
ソフトウェアエンジニアリングの研究トピックと方法論のガイド
methodology-skills
研究方法論に関する12個のスキル。調査設計、方法論の選択、科学的推論、メンタリングなどがトリガーとなります。定性的、定量的、混合型アプローチを網羅した厳密な方法論フレームワークに基づいて設計されています。