mcpField
E
erpnext-frappe-dev

erpnext-frappe-dev

github.com/6missedcalls开发9115 次安装36 周前更新
代码仓库

关于 erpnext-frappe-dev

erpnext-frappe-dev 是面向 Frappe Framework 和 ERPNext 应用开发者的 Claude Code 参考技能。它整理了框架 API 与模块资料,涵盖应用结构、定制、数据操作和 REST 接口。

主要功能

  1. 01文档与数据库 API 参考
  2. 02控制器和 hooks 指引
  3. 03REST API 端点参考
  4. 04客户端表单脚本示例
  5. 05会计、库存与人力资源资料

适用场景

  1. 01创建自定义 Frappe 或 ERPNext 应用
  2. 02实现 DocType 和控制器逻辑
  3. 03使用 hooks 定制事件
  4. 04构建 REST API 或表单脚本

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/6missedcalls/erpnext-skill --skill erpnext-frappe-dev

安装后在 Claude Code 中输入/erpnext-frappe-dev确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.gitignore
LICENSE
README.md
.github/
PULL_REQUEST_TEMPLATE.md
reference/
database-api.md
index.md
hooks-reference.md
document-api.md
form-scripts.md
frappe-framework-complete.md
rest-api.md
reference/accounting/
overview.md
reference/api/
rest-api.md
developer-api.md
reference/assets/
overview.md
reference/buying/
overview.md
reference/crm/
overview.md
reference/customization/
overview.md
reference/hr-payroll/
overview.md
reference/integrations/
overview.md
reference/manufacturing/
overview.md
reference/pos/
overview.md
reference/projects/
overview.md
reference/selling/
overview.md
reference/setup/
overview.md
reference/stock/
overview.md
reference/support/
overview.md

详细介绍

Frappe Framework 开发参考

关于在 Frappe Framework / ERPNext 上构建应用的完整文档。此技能包含 Claude Code 构建任意 Frappe 应用所需的全面 API 文档。

何时使用此技能

在以下情况下使用此技能:

  • 创建新的 Frappe/ERPNext 自定义应用
  • 构建 DocType 和控制器
  • 编写用于自定义的钩子
  • 实现 REST API
  • 创建表单脚本(客户端 JavaScript)
  • 编写后台任务
  • 构建与外部服务的集成
  • 任何 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.mdDocument CRUD 操作
reference/database-api.md数据库查询和事务
reference/hooks-reference.mdhooks.py 配置
reference/rest-api.mdREST API 端点
reference/form-scripts.md客户端 JavaScript
reference/index.mdERPNext 模块文档索引
reference/accounting/会计模块参考
reference/stock/库存/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)           # 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
数据库查询
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
控制器钩子
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
表单脚本
frappe.ui.form.on('DocType', {
    refresh(frm) { },
    validate(frm) { },
    fieldname(frm) { }  // Field change
});

阅读完整文档

从这里开始: reference/frappe-framework-complete.md

此文件包含 20KB 以上的全面文档,涵盖所有 Frappe API,并附有代码示例。

评论

支持 Markdown