erpnext-syntax-customapp

Scaffold ERPNext/Frappe custom apps with deterministic structure, patches, and fixtures.

163|53|Updated Jan 14, 2026
One-click install
npx skills add https://github.com/OpenAEC-Foundation/ERPNext_Anthropic_Claude_Development_Skill_Package --skill erpnext-syntax-customapp
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: erpnext-syntax-customapp
Source: https://github.com/OpenAEC-Foundation/ERPNext_Anthropic_Claude_Development_Skill_Package/tree/main/skills/source/syntax/erpnext-syntax-customapp
Command: npx skills add https://github.com/OpenAEC-Foundation/ERPNext_Anthropic_Claude_Development_Skill_Package --skill erpnext-syntax-customapp

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Builds ERPNext/Frappe apps with a deterministic syntax, providing a reliable blueprint for app structure, build configuration, patches, and fixtures.

Core Features & Use Cases

  • Deterministic app scaffolding for ERPNext/Frappe custom apps including pyproject.toml/setup.py, modules.txt, patches, and fixtures.
  • Clear guidance on module organization, patch lifecycle (pre/post model sync), and fixture exports/imports workflows.
  • Use cases include starting a new app, migrating between v14/v15, and enforcing best practices for versioned development.

Quick Start

Create a new Frappe/ERPNext custom app skeleton following the syntax patterns described here, including pyproject.toml, modules, patches, and fixtures.

Frequently Asked Questions about erpnext-syntax-customapp

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure a new ERPNext custom app with deterministic syntax?

Structuring an ERPNext custom app requires a deterministic blueprint for app scaffolding, including pyproject.toml or setup.py, modules.txt, patches, and fixtures to enforce packaging rules and bench compatibility.

How do I configure patches and fixtures in a Frappe custom app?

Configuring patches and fixtures in a Frappe custom app involves defining patch placement across pre and post model sync lifecycles, alongside structured fixture exports and imports workflows to maintain versioned development compliance.

What is the best way to organize modules in an ERPNext custom app?

Organizing modules in an ERPNext custom app demands proper __init__.py initialization and module registration to ensure deterministic app structure and strict compliance with Frappe packaging rules.

Does this Frappe app scaffolding blueprint support version migration between v14 and v15?

Yes, this Frappe app scaffolding blueprint supports migrating between v14 and v15 by enforcing deterministic syntax for build configuration, patches, and fixtures to maintain best practices during version transitions.

Why do I need pyproject.toml for ERPNext custom app development?

You need pyproject.toml for ERPNext custom app development to configure build tools deterministically, ensuring proper packaging compliance, bench dependency compatibility, and standardized module registration.

What are the limitations of manually scaffolding a Frappe custom app without deterministic syntax?

Manually scaffolding a Frappe custom app without deterministic syntax risks improper patch placement, unregistered modules, and non-compliant fixture configuration, leading to build failures and bench incompatibility during migrations.