frappe-syntax-customapp

Generate Frappe v14-v16 custom app scaffolding with correct metadata and migration patterns.

Updated May 31, 2026
One-click install
npx skills add https://github.com/anonymousminati/Res-POS --skill frappe-syntax-customapp-anonymousminati
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: frappe-syntax-customapp
Source: https://github.com/anonymousminati/Res-POS/tree/main/.claude/skills/syntax/frappe-syntax-customapp
Command: npx skills add https://github.com/anonymousminati/Res-POS --skill frappe-syntax-customapp-anonymousminati

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps you build Frappe custom apps without missing the required structure, packaging metadata, module registration, or migration conventions that commonly break installs and updates.

Core Features & Use Cases

  • App scaffolding guidance: Defines the correct v14-v16 layout for pyproject.toml, init.py, hooks, modules.txt, patches, and package directories.
  • Configuration and dependency rules: Explains how to declare Frappe and ERPNext dependencies, version metadata, and build settings without causing packaging failures.
  • Migration and customization workflows: Covers patches, fixtures, modules, and app extension patterns for custom fields, property setters, and data migrations.
  • Use case: Use it when creating a brand-new Frappe app or extending an existing ERPNext installation with stable, installable customizations.

Quick Start

Ask this Skill to draft or validate a Frappe custom app structure, then use its guidance to generate the correct files and configuration for your target Frappe version.

Frequently Asked Questions about frappe-syntax-customapp

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

FAQPage Schema
How do I scaffold a Frappe custom app correctly for v14 to v16?

To scaffold a Frappe custom app correctly, you need the proper v14-v16 layout including pyproject.toml, __init__.py, hooks, modules.txt, and package directories. This ensures your app installs and updates without breaking bench workflows.

What is the correct pyproject.toml configuration for a Frappe custom app?

Correct pyproject.toml configuration for a Frappe custom app requires accurate package naming, __version__ exports, and Frappe dependency declarations. Properly defining these metadata fields prevents packaging failures during bench install and update operations.

How do I set up patches and fixtures in a Frappe app?

Setting up patches and fixtures in a Frappe app involves registering modules and defining safe migration patterns in your hooks. This Skill guides you through app extension patterns for custom fields, property setters, and data migrations.

Does this Frappe scaffolding guidance work for extending an existing ERPNext installation?

Yes, this Frappe scaffolding guidance works for extending an existing ERPNext installation. It covers app extension patterns for custom fields and property setters, ensuring your customizations remain stable and installable across bench-based development workflows.

Why does my Frappe custom app break during bench install or update?

Your Frappe custom app breaks during bench install or update due to missing structure, packaging metadata, module registration, or migration conventions. Validating your app structure against v14-v16 standards fixes these installable app bundle errors.

Do I need to register modules in modules.txt for a Frappe custom app?

Yes, you need to register modules in modules.txt for a Frappe custom app. Proper module registration alongside correct hooks and pyproject.toml configuration is required to maintain stable, installable customizations across v14-v16 app structures.