How fusionCore Is Packaged
fusionCore ships as a mix of managed and unmanaged packages. The managed packages carry a global namespace, so the metadata they expose is referenced from a subscriber org with a namespace prefix. The three core packages and their namespaces are:- Platform —
FCORE_BASE - Commerce —
FCORE_PAY - Subscriptions —
FCORE_MEM
FCORE_BASE.ServiceLayer or FCORE_PAY__Wallet_Item__c.
You can tell whether a given package is managed or unmanaged from the namespace field in its sfdx-project.json: a populated namespace means the package is managed, while an empty or missing namespace means it is unmanaged. Unmanaged-package metadata does not carry a Salesforce namespace, so each unmanaged package instead applies its own per-package prefix to its API names. That prefix is documented near the top of the package’s README.md under Development Conventions.
The Shared Infrastructure
The platform provides several key pieces of shared infrastructure that the rest of fusionCore builds on. Learn these before writing feature code:- Logging — structured logging for capturing diagnostic output and errors in a consistent, queryable way.
- Caching — per-transaction caching that holds reusable data in memory for the life of a single transaction.
- DB classes — the per-object query pattern that centralizes how each object’s records are queried and retrieved.
- Utility functions — the smaller reusable helpers for collection manipulation, validation, describe calls, and LWC support.
- Trigger Framework — metadata-driven control over triggers, including ordering and the ability to turn specific triggers off programmatically or through custom metadata. It also supports validation-only triggers.
- Event Framework — an in-memory hook system, not standard Salesforce platform events. One package defines extension points, and other packages register handlers that run synchronously when an event fires.
- Services — common multi-step tasks grouped into service classes that bundle the code, event hooks, and supporting metadata for a task.
Coding Standards
The conventions every fusionCore package follows — naming, structure, and API-name prefixes.
Logging
Structured logging for capturing diagnostic output and errors in a consistent way.
Caching
Per-transaction caching that holds reusable data in memory for a single transaction.
DB Classes
The per-object query pattern that centralizes how each object’s records are retrieved.
Utility Functions
The smaller helpers for collection manipulation, validation, describe calls, and LWC support.
Trigger Framework
Metadata-driven trigger ordering and on/off control, including validation-only triggers.
Event Framework
The in-memory event and handler system packages use to extend each other synchronously.
Services
Service classes that bundle multi-step tasks with their event hooks and metadata.

