Understanding the Limited Source Kit (LSK)#
The Limited Source Kit (LSK) is a curated collection of Miva Merchant’s core source code—enough to let you see and build against the underlying logic without exposing the entire platform. It serves as both a reference and a starter-kit for developing custom Miva Merchant modules and integrations.
Cloning the LSK Repository#
Clone the repository to your local environment:
git clone https://github.com/mivaecommerce/miva-merchant-lsk.git
IDE Support#
Install the Miva IDE extension for VS Code:
- Syntax highlighting for
.mv
files - Snippet insertion
- Integrated file search across the LSK repository
LSK Structure#
At the top level, you’ll find a mix of directories (sample modules, templates, provisioning scripts, etc.) and root helper files:
.
├── admin
├── features
├── json
├── lib
├── modules
├── provisioning
├── templates
├── AttributeMachine.js
├── ImageMachine.js
├── MMLSK-LICENSE.txt
├── ajax.js
├── common_ui.js
├── mmlsk-download.mv
├── mmlsk-json.mv
├── mmlsk-merchant.mv
├── mmlsk-uri.mv
├── runtime.js
└── runtime_ui.js
Key Directories#
-
modules/ Each subfolder (e.g.
payment/
,shipping/
,system/
) contains ammlsk-<feature>.mv
example module. These provide the Module_Description, install/upgrade hooks, and stub functions you must implement for that feature. -
templates/ Houses example compiled
.mvc
templates illustrating how to render UI components and use<mvt:do>
to invoke LSK functions. -
json/ Contains the
mmlsk-json.mv
entry-point demonstrating how to output structured JSON from MivaScript—perfect for headless or SPA integrations . -
provisioning/ Scripts and snippets showing how to programmatically install or upgrade modules via the Module API (e.g., creating store features, setting defaults).
-
lib/ Shared libraries and utilities (database helpers, logging, etc.) that the example modules draw upon.
-
admin/ Admin-side UI fragments and assets for integrating new module settings into the Miva Merchant Admin.
-
features/ Metadata and sample code for Module API “features” (e.g.,
vis_system
for visible admin tabs), mapping each capability to its required functions.