skills$openclaw/frappecli
pasogott4.7k

by pasogott

frappecli – OpenClaw Skill

frappecli is an OpenClaw Skills integration for coding workflows. CLI for Frappe Framework / ERPNext instances. Use when user asks about "Frappe", "ERPNext", "doctypes", "Frappe API", or needs to manage documents, files, reports, or call RPC methods on a Frappe site.

4.7k stars9.8k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026coding

Skill Snapshot

namefrappecli
descriptionCLI for Frappe Framework / ERPNext instances. Use when user asks about "Frappe", "ERPNext", "doctypes", "Frappe API", or needs to manage documents, files, reports, or call RPC methods on a Frappe site. OpenClaw Skills integration.
ownerpasogott
repositorypasogott/frappecli
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @pasogott/frappecli
last updatedFeb 7, 2026

Maintainer

pasogott

pasogott

Maintains frappecli in the OpenClaw Skills directory.

View GitHub profile
File Explorer
2 files
.
_meta.json
272 B
SKILL.md
3.3 KB
SKILL.md

name: frappecli version: 0.1.0 description: CLI for Frappe Framework / ERPNext instances. Use when user asks about "Frappe", "ERPNext", "doctypes", "Frappe API", or needs to manage documents, files, reports, or call RPC methods on a Frappe site. tools: [bash]

frappecli

CLI for managing Frappe Framework instances via REST API.

Installation

brew tap pasogott/tap
brew install frappecli

Or from source:

git clone https://github.com/pasogott/frappecli.git
cd frappecli && uv sync && uv pip install -e .

Configuration

Create ~/.config/frappecli/config.yaml:

sites:
  production:
    url: https://erp.company.com
    api_key: your_api_key
    api_secret: your_api_secret
  staging:
    url: https://staging.company.com
    api_key: your_staging_key
    api_secret: your_staging_secret

default_site: production

Commands

Site Management

frappecli site doctypes                    # List all doctypes
frappecli site doctypes --module "Core"    # Filter by module
frappecli site info "User"                 # Get doctype details

Document CRUD

# List documents
frappecli doc list Customer
frappecli doc list Customer --filters '{"status":"Active"}' --limit 10

# Get single document
frappecli doc get Customer CUST-001
frappecli doc get Customer CUST-001 --fields name,customer_name,status

# Create document
frappecli doc create Customer --data '{"customer_name":"Acme","customer_type":"Company"}'

# Update document
frappecli doc update Customer CUST-001 --data '{"status":"Inactive"}'

# Delete document
frappecli doc delete Customer CUST-001

File Management

# Upload file (private by default)
frappecli file upload invoice.pdf --doctype "Sales Invoice" --docname "INV-001"

# Upload public file
frappecli file upload logo.png --public

# Download file
frappecli file download /private/files/invoice.pdf -o ./downloads/

# List files for document
frappecli file list --doctype "Sales Invoice" --docname "INV-001"

Reports

# Run report (JSON output)
frappecli report run "General Ledger" --filters '{"company":"My Company"}'

# Export to CSV
frappecli report run "Accounts Receivable" --format csv -o report.csv

RPC Methods

# Call custom method
frappecli rpc frappe.ping

# With arguments
frappecli rpc myapp.api.process_data --args '{"doc_id":"DOC-001"}'

Multi-Site

# Use specific site
frappecli --site staging doc list Customer

# Switch default site
frappecli config set default_site staging

Output Formats

frappecli doc list Customer --format table   # Pretty table (default)
frappecli doc list Customer --format json    # JSON
frappecli doc list Customer --format csv     # CSV

Examples

Bulk Operations

# Export all active customers
frappecli doc list Customer --filters '{"status":"Active"}' --format csv > customers.csv

# Get document with child tables
frappecli doc get "Sales Invoice" INV-001 --fields '*'
# Get customer names only
frappecli doc list Customer --format json | jq -r '.[].customer_name'

# Count by status
frappecli doc list Customer --format json | jq 'group_by(.status) | map({status: .[0].status, count: length})'
README.md

No README available.

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

  • OpenClaw CLI installed and configured.
  • Language: Markdown
  • License: MIT
  • Topics:

Configuration

Create `~/.config/frappecli/config.yaml`: ```yaml sites: production: url: https://erp.company.com api_key: your_api_key api_secret: your_api_secret staging: url: https://staging.company.com api_key: your_staging_key api_secret: your_staging_secret default_site: production ```

FAQ

How do I install frappecli?

Run openclaw add @pasogott/frappecli in your terminal. This installs frappecli into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/pasogott/frappecli. Review commits and README documentation before installing.