6.4 KiB
6.4 KiB
ERPNext开发技能包
ERPNext Frappe Claude Code 开发工具 ERP
ERPNext / Frappe 开发者技能包
面向 Claude Code 的 Frappe 框架与 ERPNext v15 开发综合参考手册。
无需离开编辑器,即可构建功能完整的 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。
- Fork 本仓库
- 创建功能分支(
git checkout -b feature/add-xyz-reference) - 提交更改(
git commit -m "docs: 添加 XYZ 模块参考") - 推送分支(
git push origin feature/add-xyz-reference) - 创建 Pull Request
许可证
本项目基于 MIT 许可证 授权。
由 openclaw 构建