Upgrade-safe customization
Prefer configuration and documented extension points in this order:
- Admin settings and store/company identity.
- Theme and view overrides.
- Events, jobs, and service contracts.
- A private extension package owned by the customer or agency.
- A private fork only when the preceding options cannot express the change.
Keep customer-specific code outside the Vendorzo repository. Direct edits to Vendorzo files remain possible for source customers, but those edits are the customer’s merge and regression responsibility during upgrades.
Do not replace shared commerce contracts with edition-specific calls. Merchant must remain installable without the Marketplace package, and Marketplace extensions must keep their data and side effects scoped to the owning store.
Before upgrading, reproduce the customer customization on staging, run the release acceptance checklist against an isolated restore, and record any migration or extension-point changes in the deployment notes. The public API surface is not a general extension contract; see API support boundary.