| name | frappe-documentation-generator |
| description | Generate API documentation, user guides, and technical documentation for Frappe apps. Use when documenting APIs, creating user guides, or generating OpenAPI specs. |
Frappe Documentation Generator
Generate comprehensive documentation for Frappe applications including API documentation, user guides, and OpenAPI specifications.
When to Use This Skill
Claude should invoke this skill when:
- User wants to document APIs
- User needs user documentation
- User mentions documentation, API docs, or guides
- User wants OpenAPI/Swagger specs
- User needs to document DocTypes or workflows
Capabilities
1. API Documentation
Whitelisted Method Documentation:
@frappe.whitelist()
def get_customer_details(customer):
"""
Get detailed customer information
Args:
customer (str): Customer ID or name
Returns:
dict: Customer details including:
- name: Customer ID
- customer_name: Full name
- email_id: Email address
- mobile_no: Phone number
- credit_limit: Credit limit amount
- outstanding_amount: Current outstanding
Raises:
frappe.PermissionError: If user lacks read permission
frappe.DoesNotExistError: If customer not found
Example:
>>> get_customer_details("CUST-001")
{
"name": "CUST-001",
"customer_name": "John Doe",
"email_id": "john@example.com",
...
}
Endpoint:
POST /api/method/my_app.api.get_customer_details
{
"customer": "CUST-001"
}
"""
if not frappe.has_permission('Customer', 'read'):
frappe.throw(_('Not permitted'), frappe.PermissionError)
customer_doc = frappe.get_doc('Customer', customer)
return {
'name': customer_doc.name,
'customer_name': customer_doc.customer_name,
'email_id': customer_doc.email_id,
'mobile_no': customer_doc.mobile_no,
'credit_limit': customer_doc.credit_limit,
'outstanding_amount': customer_doc.get_outstanding()
}
2. OpenAPI Specification
Generate OpenAPI/Swagger:
openapi: 3.0.0
info:
title: My Frappe App API
version: 1.0.0
description: API documentation for My Frappe App
servers:
- url: https://example.com/api
description: Production server
paths:
/method/my_app.api.get_customer_details:
post:
summary: Get customer details
description: Retrieve detailed information for a customer
tags:
- Customers
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
customer:
type: string
description: Customer ID
required:
- customer
responses:
'200':
description: Customer details
content:
application/json:
schema:
type: object
properties:
name:
type: string
customer_name:
type: string
email_id:
type: string
'403':
description: Permission denied
'404':
description: Customer not found
3. User Guide Generation
DocType User Guide:
# Customer Management Guide
## Overview
The Customer DocType stores information about your customers including contact details, credit limits, and transaction history.
## Creating a Customer
1. Go to **Selling > Customer**
2. Click **New Customer**
3. Fill in required fields:
- Customer Name: Full name of the customer
- Customer Group: Classification (Individual/Company)
- Territory: Geographic location
4. Optional fields:
- Email, Phone, Address
- Credit Limit and Payment Terms
5. Click **Save**
## Key Features
### Credit Management
- Set credit limits to control customer purchases
- Monitor outstanding amounts
- Get alerts on credit limit breach
### Transaction History
View all customer transactions:
- Sales Invoices
- Payment Entries
- Delivery Notes
## Workflows
### Standard Flow
1. Create Customer
2. Create Sales Order
3. Create Sales Invoice
4. Receive Payment
5. Deliver Goods
## Tips
- Use customer groups for bulk operations
- Set default price lists per customer
- Configure payment terms for auto-fill
References
Frappe Documentation Patterns: