jpskill.com
✍️ ライティング コミュニティ

erpnext-frappe-dev

ERPNextアプリ開発に必要なFrappe Frameworkの全機能を網羅し、カスタムDocTypeやAPI構築を支援するSkill。

📜 元の英語説明(参考)

Complete Frappe Framework development reference for building ERPNext apps. Use when creating custom DocTypes, controllers, hooks, REST APIs, form scripts, background jobs, or any Frappe/ERPNext development. Contains full API documentation for Document, Database, Controllers, Hooks, REST API, Form Scripts, Testing, and common patterns.

🇯🇵 日本人クリエイター向け解説

一言でいうと

ERPNextアプリ開発に必要なFrappe Frameworkの全機能を網羅し、カスタムDocTypeやAPI構築を支援するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-17
取得日時
2026-05-17
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

Frappe Framework 開発リファレンス

Frappe Framework / ERPNext 上でアプリケーションを構築するための完全なドキュメントです。このスキルには、Claude Code が Frappe アプリをゼロから構築するために必要な包括的な API ドキュメントが含まれています。

このスキルを使用する場面

このスキルは、以下の状況で使用してください。

  • 新しい Frappe/ERPNext カスタムアプリを作成する場合
  • DocType とコントローラーを構築する場合
  • カスタマイズのためのフックを記述する場合
  • REST API を実装する場合
  • フォームスクリプト(クライアントサイド JS)を作成する場合
  • バックグラウンドジョブを記述する場合
  • 外部サービスとの連携を構築する場合
  • その他の ERPNext/Frappe 開発作業全般

クイックスタート

アプリの作成

bench new-app my_app
bench --site mysite install-app my_app

主要ファイル

  • hooks.py — アプリレベルの設定とイベントハンドラー
  • {doctype}.py — Python コントローラー(サーバーサイドロジック)
  • {doctype}.js — フォームスクリプト(クライアントサイドロジック)
  • {doctype}.json — DocType 定義

ドキュメントインデックス

リファレンス 内容
reference/frappe-framework-complete.md メインリファレンス — Document、Database、Controllers、Hooks、REST API、Form Scripts、Testing の完全な API ドキュメント
reference/document-api.md Document の CRUD 操作
reference/database-api.md データベースクエリとトランザクション
reference/hooks-reference.md hooks.py の設定
reference/rest-api.md REST API エンドポイント
reference/form-scripts.md クライアントサイド JavaScript
reference/index.md ERPNext モジュール ドキュメントインデックス
reference/accounting/ 会計モジュールリファレンス
reference/stock/ 在庫/ストックモジュールリファレンス
reference/manufacturing/ 製造モジュールリファレンス
reference/crm/ CRM モジュールリファレンス
reference/hr-payroll/ HR & 給与モジュールリファレンス
reference/api/ REST & 開発者 API リファレンス

コアコンセプトの概要

DocType = モデル

# DocType "Customer" creates:
# - Database table `tabCustomer`
# - Python controller customer.py
# - Form script customer.js

Document = インスタンス

doc = frappe.get_doc("Customer", "CUST-001")
doc.customer_name = "Updated Name"
doc.save()

Controller = ビジネスロジック

class Customer(Document):
    def validate(self):
        if not self.email:
            frappe.throw("Email required")

    def on_submit(self):
        self.create_linked_records()

Hooks = アプリケーション設定

# hooks.py
doc_events = {
    "Sales Order": {
        "on_submit": "my_app.events.on_sales_order_submit"
    }
}

API クイックリファレンス

Document 操作

frappe.get_doc(doctype, name)           # ドキュメントを取得
frappe.new_doc(doctype)                 # 新規作成
doc.insert()                            # DB に挿入
doc.save()                              # DB を更新
doc.delete()                            # 削除
doc.db_set(field, value)               # DB を直接更新

データベースクエリ

frappe.db.get_list(doctype, filters, fields)  # 権限付き
frappe.db.get_all(doctype, filters, fields)   # 全レコード
frappe.db.get_value(doctype, name, field)     # 単一の値
frappe.db.set_value(doctype, name, field, val) # 直接更新
frappe.db.exists(doctype, name)               # 存在チェック
frappe.db.count(doctype, filters)             # レコード数をカウント

コントローラーフック

autoname → before_insert → validate → before_save → 
on_update → after_insert → on_submit → on_cancel

REST API

GET    /api/resource/{doctype}           # リスト
GET    /api/resource/{doctype}/{name}    # 読み取り
POST   /api/resource/{doctype}           # 作成
PUT    /api/resource/{doctype}/{name}    # 更新
DELETE /api/resource/{doctype}/{name}    # 削除
POST   /api/method/{dotted.path}         # カスタムメソッド

フォームスクリプト

frappe.ui.form.on('DocType', {
    refresh(frm) { },
    validate(frm) { },
    fieldname(frm) { }  // フィールド変更
});

完全なドキュメントを読む

ここから始めてください: reference/frappe-framework-complete.md

このファイルには、すべての Frappe API をコード例とともに網羅した 20KB 以上の包括的なドキュメントが含まれています。

📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Frappe Framework Development Reference

Complete documentation for building applications on Frappe Framework / ERPNext. This skill contains comprehensive API documentation that Claude Code needs to build any Frappe app from scratch.

When to Use This Skill

Use this skill when:

  • Creating a new Frappe/ERPNext custom app
  • Building DocTypes and controllers
  • Writing hooks for customization
  • Implementing REST APIs
  • Creating form scripts (client-side JS)
  • Writing background jobs
  • Building integrations with external services
  • Any ERPNext/Frappe development work

Quick Start

Create an App

bench new-app my_app
bench --site mysite install-app my_app

Key Files

  • hooks.py — App-level configuration and event handlers
  • {doctype}.py — Python controller (server-side logic)
  • {doctype}.js — Form script (client-side logic)
  • {doctype}.json — DocType definition

Documentation Index

Reference Contents
reference/frappe-framework-complete.md MAIN REFERENCE — Full API docs for Document, Database, Controllers, Hooks, REST API, Form Scripts, Testing
reference/document-api.md Document CRUD operations
reference/database-api.md Database queries and transactions
reference/hooks-reference.md hooks.py configuration
reference/rest-api.md REST API endpoints
reference/form-scripts.md Client-side JavaScript
reference/index.md ERPNext module documentation index
reference/accounting/ Accounting module reference
reference/stock/ Inventory/Stock module reference
reference/manufacturing/ Manufacturing module reference
reference/crm/ CRM module reference
reference/hr-payroll/ HR & Payroll module reference
reference/api/ REST & Developer API reference

Core Concepts Summary

DocType = Model

# DocType "Customer" creates:
# - Database table `tabCustomer`
# - Python controller customer.py
# - Form script customer.js

Document = Instance

doc = frappe.get_doc("Customer", "CUST-001")
doc.customer_name = "Updated Name"
doc.save()

Controller = Business Logic

class Customer(Document):
    def validate(self):
        if not self.email:
            frappe.throw("Email required")

    def on_submit(self):
        self.create_linked_records()

Hooks = App Configuration

# hooks.py
doc_events = {
    "Sales Order": {
        "on_submit": "my_app.events.on_sales_order_submit"
    }
}

API Quick Reference

Document Operations

frappe.get_doc(doctype, name)           # Get document
frappe.new_doc(doctype)                 # Create new
doc.insert()                            # Insert to DB
doc.save()                              # Update in DB
doc.delete()                            # Delete
doc.db_set(field, value)               # Direct DB update

Database Queries

frappe.db.get_list(doctype, filters, fields)  # With permissions
frappe.db.get_all(doctype, filters, fields)   # All records
frappe.db.get_value(doctype, name, field)     # Single value
frappe.db.set_value(doctype, name, field, val) # Direct update
frappe.db.exists(doctype, name)               # Check exists
frappe.db.count(doctype, filters)             # Count records

Controller Hooks

autoname → before_insert → validate → before_save → 
on_update → after_insert → on_submit → on_cancel

REST API

GET    /api/resource/{doctype}           # List
GET    /api/resource/{doctype}/{name}    # Read
POST   /api/resource/{doctype}           # Create
PUT    /api/resource/{doctype}/{name}    # Update
DELETE /api/resource/{doctype}/{name}    # Delete
POST   /api/method/{dotted.path}         # Custom method

Form Scripts

frappe.ui.form.on('DocType', {
    refresh(frm) { },
    validate(frm) { },
    fieldname(frm) { }  // Field change
});

Read Full Documentation

Start with: reference/frappe-framework-complete.md

This file contains 20KB+ of comprehensive documentation covering all Frappe APIs with code examples.