catalog/repos/6missedcalls--erpnext-skill.md

6.4 KiB
Raw Blame History

ERPNext开发技能包

ERPNext Frappe Claude Code 开发工具 ERP

ERPNext / Frappe 开发者技能包

面向 Claude Code 的 Frappe 框架与 ERPNext v15 开发综合参考手册。

License: MIT Version Claude Code skills.sh

无需离开编辑器,即可构建功能完整的 ERPNext 应用。 Claude Code 可即时访问所有 Frappe API、DocType 模式、 控制器钩子和模块参考,用于脚手架搭建、扩展和 调试自定义 ERPNext 应用。


功能特性

框架 API 覆盖范围

API 层面 内容说明
文档 API CRUD 操作、命名、权限、工作流转换
数据库 API 查询、事务、批量操作、直接 SQL
控制器 生命周期钩子、验证、提交、取消
钩子 应用配置、计划任务、文档事件、覆盖
REST API 资源端点、自定义方法、身份认证
表单脚本 客户端 JS、字段事件、对话框、路由

ERPNext 模块参考

领域 模块
财务 会计、资产
供应链 库存、采购、销售、制造
人员 人力资源与薪资
客户面 CRM、支持、POS
运营 项目、集成、设置、定制

每个模块参考均包含 DocType 关系、字段结构、 常见工作流,以及针对 ERPNext v15 的即用代码示例。


安装

通过 skills.sh 一键安装

npx skills add 6missedcalls/erpnext-skill

全局安装(适用于所有项目):

npx skills add 6missedcalls/erpnext-skill -g

指定特定 Agent

npx skills add 6missedcalls/erpnext-skill -a claude-code

手动安装

直接克隆到 Claude Code 技能目录:

# 项目级别(仅当前项目)
git clone https://github.com/6missedcalls/erpnext-skill.git .claude/skills/erpnext-skill

# 全局(所有项目)
git clone https://github.com/6missedcalls/erpnext-skill.git ~/.claude/skills/erpnext-skill

通过 Claude Code 插件市场

/plugin marketplace add 6missedcalls/erpnext-skill

然后选择浏览并安装插件,按提示操作即可。


快速上手

安装后,每当您在 Frappe 或 ERPNext 项目中工作时Claude Code 会自动加载该技能包,无需手动调用——直接告诉 Claude Code 您想构建什么:

"创建一个带有自动计算税额的 Invoice DocType 的自定义应用"
"添加一个将新销售订单同步到外部 API 的 Webhook 钩子"
"编写一个在提交前验证行项目的表单脚本"

文档结构

reference/ 目录按功能组织,便于快速精准查阅:

reference/
|-- frappe-framework-complete.md   # 主参考文档——完整 API 文档
|-- document-api.md                # 文档 CRUD 操作
|-- database-api.md                # 数据库查询与事务
|-- hooks-reference.md             # hooks.py 配置
|-- rest-api.md                    # REST API 端点
|-- form-scripts.md                # 客户端 JavaScript
|-- index.md                       # 模块文档索引
|
|-- api/
|   |-- rest-api.md                # REST API 深度解析
|   +-- developer-api.md           # Python / JS 开发者 API
|
|-- accounting/                    # 会计与财务
|-- stock/                         # 库存管理
|-- manufacturing/                 # 生产与制造
|-- crm/                           # 客户关系管理
|-- hr-payroll/                    # 人力资源与薪资
|-- buying/                        # 采购
|-- selling/                       # 销售
|-- projects/                      # 项目管理
|-- support/                       # 服务台与支持
|-- assets/                        # 资产管理
|-- pos/                           # 销售点
|-- integrations/                  # 第三方集成
|-- setup/                         # 系统设置与配置
+-- customization/                 # 定制与扩展

从这里开始: reference/frappe-framework-complete.md——单一文件,涵盖完整 Frappe API 层面及可运行代码示例。


使用说明

工作原理

本技能包是纯参考型包,不包含可执行代码。 当 Claude Code 检测到您正在 Frappe/ERPNext 环境中工作时, 会将相关文档加载到上下文窗口,从而能够:

  • 使用 bench new-app 脚手架搭建新应用
  • 生成 DocType、控制器和表单脚本
  • 配置钩子、计划任务和文档事件
  • 编写正确的 REST API 集成代码
  • 遵循 Frappe 在权限、工作流和测试方面的最佳实践

示例工作流

# 创建新的 Frappe 应用
bench new-app my_custom_app
bench --site mysite install-app my_custom_app

然后让 Claude Code 在您的应用内构建功能,它将参考技能文档生成符合 Frappe 惯例的代码:

# 带生命周期钩子的控制器
class CustomInvoice(Document):
    def validate(self):
        self.calculate_totals()

    def on_submit(self):
        self.create_gl_entries()

    def calculate_totals(self):
        self.grand_total = sum(item.amount for item in self.items)
// 带字段级事件的表单脚本
frappe.ui.form.on('Custom Invoice', {
    refresh(frm) {
        if (frm.doc.docstatus === 0) {
            frm.add_custom_button(__('获取项目'), () => {
                frm.trigger('fetch_items');
            });
        }
    },
    fetch_items(frm) {
        // 自定义逻辑
    }
});

参与贡献

欢迎贡献。无论您希望扩展模块覆盖范围、修复 API 示例,还是改进文档结构,欢迎提交 Issue 或 Pull Request。

  1. Fork 本仓库
  2. 创建功能分支(git checkout -b feature/add-xyz-reference
  3. 提交更改(git commit -m "docs: 添加 XYZ 模块参考"
  4. 推送分支(git push origin feature/add-xyz-reference
  5. 创建 Pull Request

许可证

本项目基于 MIT 许可证 授权。


openclaw 构建