The Extension Framework is SuiteCRM’s mechanism for layering customisations without editing core files. Rather than modifying a module’s vardefs.php directly, you place partial files in a structured directory:
custom/Extension/modules/<Module>/Ext/
├── Vardefs/ ← Field additions
├── Language/ ← Label additions
├── LogicHooks/ ← Hook registrations
└── Layoutdefs/ ← Layout modifications
When a Cache Management (Quick Repair and Rebuild) is triggered, these fragment files are merged into compiled output files under custom/modules/<Module>/Ext/. SuiteCRM then loads the compiled file rather than scanning every fragment on each request.
This pattern is used by Studio, Module Builder, and the Module Installer — all of which write to custom/Extension/ automatically.