# ERPNext开发技能包
**GitHub**: [6missedcalls/erpnext-skill](https://github.com/6missedcalls/erpnext-skill) | **Gitea**: [mc-skills/6missedcalls--erpnext-skill](http://192.168.0.109:3000/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.**
[](https://opensource.org/licenses/MIT)
[](#)
[](#)
[](https://skills.sh/6missedcalls/erpnext-skill)
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](https://skills.sh)
```bash
npx skills add 6missedcalls/erpnext-skill
```
To install globally (available across all projects):
```bash
npx skills add 6missedcalls/erpnext-skill -g
```
To target a specific agent:
```bash
npx skills add 6missedcalls/erpnext-skill -a claude-code
```
### Manual install
Clone directly into your Claude Code skills directory:
```bash
# 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
```bash
# 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:
```python
# 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)
```
```javascript
// 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.
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/add-xyz-reference`)
3. Commit your changes (`git commit -m "docs: add XYZ module reference"`)
4. Push to the branch (`git push origin feature/add-xyz-reference`)
5. Open a Pull Request
---
## License
This project is licensed under the [MIT License](https://opensource.org/licenses/MIT).
---
Built by [openclaw](https://github.com/6missedcalls)