frappe-ui について
frappe-uiは、frappe-uiのコンポーネントとセマンティックなTailwindトークンでVueのUIを構築するためのスキルです。実装に応じてコンポーネント、データ、セットアップの資料を参照します。
主な機能
- 01frappe-uiコンポーネントによるUI構成
- 02セマンティックなTailwindトークンでのスタイリング
- 03v-modelによるコンポーネント状態の管理
- 04コンポーザブル経由のFrappe API呼び出し
活用シーン
- 01frappe-uiでのVueページ構築
- 02Vue UIとFrappeデータの接続
- 03新規Vite・Vue 3プロジェクトのセットアップ
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ frappe/ frappe-ui --skill frappe-uiインストール後、Claude Code で/frappe-uiを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
CORE.mdDATA.mdSETUP.mdevals/cases-full-24.jsoncases.jsonfindings-2026-08.mdobserved-failures-2026-08.mdREADME.mdrun.workflow.jsscore_invocation.py詳細
frappe-ui
frappe-ui のコンポーネントを組み合わせ、ライブラリのセマンティックな Tailwind トークンでスタイルを設定して、Frappe 製品のような見た目と使い心地の UI を構築します。
クイックスタート
<script setup>
import { Button, Dialog, FormControl } from 'frappe-ui'
import { ref } from 'vue'
const open = ref(false)
const name = ref('')
</script>
<template>
<div class="p-4 bg-surface-base text-ink-gray-8">
<Button variant="solid" theme="gray" @click="open = true">New Task</Button>
<Dialog v-model:open="open" title="Create Task">
<FormControl v-model="name" label="Title" required />
</Dialog>
</div>
</template>
参照先
プロパティ名、プロパティ値の型、スロット名、トークン名はここではなく、以下のファイルに記載されています。マークアップを書く前に、必要なファイルを開いてください。
| これを書く場合 | まず開くファイル |
|---|---|
| あらゆるコンポーネント、ページ、Tailwind クラス | CORE.md |
| データの取得や書き込みを行うもの | DATA.md |
| 新しい Vite + Vue 3 プロジェクト | SETUP.md |
規約
以下はすべてのコンポーネントに共通する規約です。それ以外はコンポーネントごとに異なり、 CORE.md に記載されています。
- コンポーネントを選びます。 すべてのインタラクティブな要素には
CORE.mdに記載されたものを使用します。生の HTML はレイアウト用に使います。たとえば、グリッド、フレックス、間隔を設定するラッパーなどです。 - 色は
variantとthemeの 2 つのプロパティで指定します。 値はコンポーネントごとに異なり、それぞれの値はCORE.mdに記載されています。独自のマークアップでは、色にセマンティックなスケールを使用します。bg-surface-*、text-ink-*、border-outline-*などです。 - 双方向の状態管理には
v-modelを使います。 入力にはv-modelを指定します。オーバーレイにはv-model:openを指定します。ComboboxとMultiSelectでは、オプションのv-model:queryも使用できます。Listではv-model:selectionとv-model:activeを使用できます。 - アイコンは CSS クラスで指定します。
<span class="lucide-edit size-4" aria-hidden="true" />。iconという名前のプロパティには、文字列"lucide-edit"を指定します。 - スロット名はコンポーネントごとに異なり、共通ではありません。
<template #…>を書く前に、CORE.mdにある該当コンポーネントの項目を確認してください。 - Frappe API の呼び出しには
use*コンポーザブルを使います。useCall、useList、useDoc、useDoctype、useNewDocはすべてfrappe-uiからエクスポートされています。それぞれ受け取るオプションと返すデータの形式が異なります。 DATA.md では、それぞれについて個別に説明しています。
コメント
Markdown 対応