devtoolProduction2026

ffc — Foxmayn Frappe CLI

How a Go CLI Brought Full Frappe/ERPNext Management to the Terminal

At a Glance

Challenge

Managing Frappe sites required constant browser context-switching

Result

Full CRUD, schema inspection, and report execution from the terminal

Tech Stack

GoCobraFrappegoreleaser

Status

production

Situation

Frappe/ERPNext developers spend significant time in the web UI for routine operations: creating documents, inspecting schemas, running reports, and executing server methods. This workflow breaks developer flow — every operation requires opening a browser, navigating menus, and clicking through forms. For automation and CI/CD scenarios, there was no scriptable interface to interact with Frappe sites programmatically.

The Challenge

Build a minimal, cross-platform CLI that covers the full Frappe document lifecycle — from CRUD operations to schema introspection and report execution — with machine-readable output formats for scripting and automation.

What Was Built

  • Built the CLI in Go using Cobra for command structure, providing sub-commands for every Frappe document operation: get-doc, list-docs, create-doc, update-doc, delete-doc, and count-docs.

  • Added schema introspection commands (list-doctypes, get-schema) so developers can explore DocType structures and field metadata without leaving the terminal.

  • Implemented advanced operations: call-method for executing whitelisted server procedures, and list-reports/run-report for running Frappe reports with custom filters.

  • Built an interactive TUI setup wizard and settings manager using Charmbracelet components, with support for multiple site profiles and configurable number/date formats.

  • Added three output formats — table (with lipgloss formatting), JSON, and YAML — so output can be piped directly into jq, yq, or other automation tools.

  • Published cross-platform binaries via goreleaser with one-liner install scripts for Linux, macOS, and Windows.

Results

Operations covered

Full CRUD + schema + reports + RPC

Output formats

Table, JSON, YAML

Platforms

Linux, macOS, Windows

Installation

One-liner scripts + go install

Frappe developers can now manage sites, automate document operations, and integrate Frappe into CI/CD pipelines without ever opening a browser — cutting context-switching and enabling scriptable workflows that were previously impossible.

Key Achievement

Cross-platform CLI with one-liner installers, multiple output formats (table/JSON/YAML), and full Frappe document lifecycle coverage.

Frequently Asked Questions