7.3 KiB
ERPNext开发技能包
GitHub: 6missedcalls/erpnext-skill | Gitea: mc-skills/6missedcalls--erpnext-skill
中文摘要
为Claude Code提供Frappe框架和ERPNext v15的全面开发参考,涵盖文档API、数据库操作、控制器钩子、REST接口、表单脚本及财务/供应链/HR等模块,帮助开发者在编辑器内快速构建、扩展和调试ERPNext自定义应用。
标签
ERPNext Frappe Claude Code ERP开发 技能插件
README 原文
ERPNext / Frappe Developer Skill
Comprehensive Frappe Framework and ERPNext v15 development reference for Claude Code.
Build full-featured ERPNext applications without leaving your editor. Claude Code gains instant access to every Frappe API, DocType pattern, controller hook, and module reference it needs to scaffold, extend, and debug custom ERPNext apps.
Features
Framework API Coverage
| API Surface | What You Get |
|---|---|
| Document API | CRUD operations, naming, permissions, workflow transitions |
| Database API | Queries, transactions, bulk operations, direct SQL |
| Controllers | Lifecycle hooks, validation, submission, cancellation |
| Hooks | App configuration, scheduled jobs, doc events, overrides |
| REST API | Resource endpoints, custom methods, authentication |
| Form Scripts | Client-side JS, field events, dialogs, routing |
ERPNext Module References
| Domain | Modules |
|---|---|
| Finance | Accounting, Assets |
| Supply Chain | Stock, Buying, Selling, Manufacturing |
| People | HR and Payroll |
| Customer Facing | CRM, Support, POS |
| Operations | Projects, Integrations, Setup, Customization |
Every module reference includes DocType relationships, field schemas, common workflows, and ready-to-use code examples targeting ERPNext v15.
Installation
One-line install via skills.sh
npx skills add 6missedcalls/erpnext-skill
To install globally (available across all projects):
npx skills add 6missedcalls/erpnext-skill -g
To target a specific agent:
npx skills add 6missedcalls/erpnext-skill -a claude-code
Manual install
Clone directly into your Claude Code skills directory:
# Project-level (current project only)
git clone https://github.com/6missedcalls/erpnext-skill.git .claude/skills/erpnext-skill
# Global (all projects)
git clone https://github.com/6missedcalls/erpnext-skill.git ~/.claude/skills/erpnext-skill
Via Claude Code plugin marketplace
/plugin marketplace add 6missedcalls/erpnext-skill
Then select Browse and install plugins and follow the prompts.
Quick Start
Once installed, Claude Code automatically loads the skill whenever you work on a Frappe or ERPNext project. No manual invocation needed -- just ask Claude Code to build what you need:
"Create a custom app with an Invoice DocType that auto-calculates tax"
"Add a webhook hook that syncs new Sales Orders to an external API"
"Write a form script that validates line items before submission"
Documentation
The reference/ directory is organized for fast, targeted lookups:
reference/
|-- frappe-framework-complete.md # Primary reference -- full API docs
|-- document-api.md # Document CRUD operations
|-- database-api.md # Database queries and transactions
|-- hooks-reference.md # hooks.py configuration
|-- rest-api.md # REST API endpoints
|-- form-scripts.md # Client-side JavaScript
|-- index.md # Module documentation index
|
|-- api/
| |-- rest-api.md # REST API deep-dive
| +-- developer-api.md # Python / JS developer APIs
|
|-- accounting/ # Accounting and Finance
|-- stock/ # Inventory and Stock Management
|-- manufacturing/ # Production and Manufacturing
|-- crm/ # Customer Relationship Management
|-- hr-payroll/ # Human Resources and Payroll
|-- buying/ # Procurement and Purchasing
|-- selling/ # Sales
|-- projects/ # Project Management
|-- support/ # Helpdesk and Support
|-- assets/ # Asset Management
|-- pos/ # Point of Sale
|-- integrations/ # Third-party Integrations
|-- setup/ # System Setup and Configuration
+-- customization/ # Customization and Extensions
Start here: reference/frappe-framework-complete.md -- the single
file that covers the entire Frappe API surface with working code examples.
Usage
How It Works
This skill is a reference-only package. It contains no executable code. When Claude Code detects that you are working in a Frappe/ERPNext context, it loads the relevant documentation into its context window so that it can:
- Scaffold new apps with
bench new-app - Generate DocTypes, controllers, and form scripts
- Wire up hooks, scheduled tasks, and doc events
- Write correct REST API integrations
- Follow Frappe best practices for permissions, workflows, and testing
Example Workflow
# Create a new Frappe app
bench new-app my_custom_app
bench --site mysite install-app my_custom_app
Then ask Claude Code to build features inside your app. It will reference the skill documentation to produce idiomatic Frappe code:
# Controller with lifecycle hooks
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)
// Form script with field-level events
frappe.ui.form.on('Custom Invoice', {
refresh(frm) {
if (frm.doc.docstatus === 0) {
frm.add_custom_button(__('Fetch Items'), () => {
frm.trigger('fetch_items');
});
}
},
fetch_items(frm) {
// Custom logic here
}
});
Contributing
Contributions are welcome. Whether you want to expand module coverage, fix an API example, or improve the documentation structure, feel free to open an issue or submit a pull request.
- Fork the repository
- Create a feature branch (
git checkout -b feature/add-xyz-reference) - Commit your changes (
git commit -m "docs: add XYZ module reference") - Push to the branch (
git push origin feature/add-xyz-reference) - Open a Pull Request
License
This project is licensed under the MIT License.
Built by openclaw