What problem does it solve?
Frappe custom apps often fail in production due to incorrect scaffolding, missing required build configuration, misconfigured module registration, and broken migration patterns. This Skill prevents those issues by providing deterministic, version-aware syntax and guardrails for building and migrating Frappe custom apps from scratch.
Core Features & Use Cases
- Version-aware app scaffolding: Guides correct app structure for Frappe v14 (setup.py) and v15/v16+ (pyproject.toml with flit_core).
- Critical build and install correctness: Ensures the app has the required version and correct pyproject.toml rules so the app can be built and installed reliably.
- Safe data migration strategy: Specifies how to use patches.txt with pre_model_sync vs post_model_sync, batching, commits, and re-run semantics to reduce migration risk.
- Correct module and fixture exports: Enforces modules.txt registration and fixture filtering rules so Custom Field and Property Setter definitions deploy consistently across sites.
Quick Start
Use the frappe-syntax-customapp skill to generate a correct v15+ Frappe custom app scaffold plan with the required pyproject.toml, hooks.py settings (required_apps and fixtures), and patches.txt structure for your targeted migration.