Created by potrace 1.16, written by Peter Selinger 2001-2019

Miva Developer Docs


MMT is Miva’s command line tool for template branches. It downloads a branch’s templates, properties and CSS and JavaScript resources into a folder on your computer, so you can edit them in your own editor, track them in Git, and push your changes back to the branch as a changeset.

MMT needs Miva Merchant 10.00.00 or later and Python 3.6 or later. The current version is 1.0.6.

How it works#

  1. A credential tells MMT how to connect to a store: the store’s JSON API URL plus an API token or an admin user’s SSH key.
  2. A remote names a store and branch to work with, using a credential.
  3. Checkout downloads the branch into a folder and starts tracking every file.
  4. You edit files. Status and diff show what you changed.
  5. Push sends your changes to the branch as a new changeset. Pull brings in changes other people made.

Credentials and remotes are saved once for your user account. Each checkout folder remembers its own remote and changeset in a .mmt folder.

What do you want to do?#

  • Get started


    Install MMT, add a credential and make your first checkout.

  • Learn the workflow


    Pull, edit and push without overwriting other people’s changes, and work with branches.

  • Look up a command


    Every command and option, taken from MMT 1.0.6.

What MMT manages#

MMT works on the objects stored in a template branch:

  • Page templates and their settings
  • Store, product and category properties, such as Theme Components, headers and footers, buttons and email templates
  • CSS and JavaScript resources and resource groups

It changes objects that already exist on the branch. It can’t create or delete templates, properties or resources, and it can’t change anything that isn’t part of a template branch:

  • Creating or deleting pages
  • Page item assignments
  • Module settings, such as payment rules, shipping rules and price groups
  • Store and domain settings
  • URIs

Make those changes in the admin, or with the JSON API or XML provisioning.

Guides and reference#

Page Covers
Pull, edit and push The everyday loop, conflicts and team use
Branches and tags Creating, switching and deleting branches; changeset tags
Checkout folder layout Every folder and file MMT writes, and which Miva object it is
Editor and diff settings Using your own editor for commit notes and your own diff tool
Commands Every command and option
Troubleshooting Error messages and what causes them

Tools and resources#