关于 erpnext-frappe-dev
erpnext-frappe-dev 是面向 Frappe Framework 和 ERPNext 应用开发者的 Claude Code 参考技能。它整理了框架 API 与模块资料,涵盖应用结构、定制、数据操作和 REST 接口。
主要功能
- 01文档与数据库 API 参考
- 02控制器和 hooks 指引
- 03REST API 端点参考
- 04客户端表单脚本示例
- 05会计、库存与人力资源资料
适用场景
- 01创建自定义 Frappe 或 ERPNext 应用
- 02实现 DocType 和控制器逻辑
- 03使用 hooks 定制事件
- 04构建 REST API 或表单脚本
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ 6missedcalls/ erpnext-skill --skill erpnext-frappe-dev安装后在 Claude Code 中输入/erpnext-frappe-dev确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.gitignoreLICENSEREADME.md.github/PULL_REQUEST_TEMPLATE.mdreference/database-api.mdindex.mdhooks-reference.mddocument-api.mdform-scripts.mdfrappe-framework-complete.mdrest-api.mdreference/accounting/overview.mdreference/api/rest-api.mddeveloper-api.mdreference/assets/overview.mdreference/buying/overview.mdreference/crm/overview.mdreference/customization/overview.mdreference/hr-payroll/overview.mdreference/integrations/overview.mdreference/manufacturing/overview.mdreference/pos/overview.mdreference/projects/overview.mdreference/selling/overview.mdreference/setup/overview.mdreference/stock/overview.mdreference/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.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/ | 库存/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