Medusa Plugins
The Medusa v2 plugins ZanReal develops in the open - what they are for, how they fit together, and what installing one into a Medusa project involves.
Medusa is the commerce framework we build stores on, and these are the plugins we develop for it in the open. They are narrow on purpose: one plugin, one job, each documented on its own page from the docs that ship in its repository.
All of them target Medusa v2. They build on the v2 admin SDK and plugin loader, so none of them installs into a v1 project.
The code lives at github.com/zanreal-labs alongside the rest of our open-source program.
How they fit together
@zanreal/medusa-admin-kit is the one the others lean on. It owns a single
extensible Catalog table in the admin, plus a registry another plugin writes
a column into, so a store running three of these plugins gets one product list
with three extra columns rather than three near-identical product lists.
A plugin that only does background work needs none of that and depends on nothing else here. The registry is an option, not a framework to fit into.
Installing one
Whichever plugin you add, the second half is the same for all of them: register
it in medusa-config.ts, and Medusa loads it while your admin build picks up
any screens it ships.
module.exports = defineConfig({
plugins: ["@zanreal/medusa-admin-kit"],
});The first half - getting the package onto disk - is worth stating plainly:
these plugins are not published to the public npm registry. A bare
npm add @zanreal/medusa-admin-kit does not resolve. The repository behind each
card below is where a copy comes from, and how to build it is that
repository's own README.
None of them vendors Medusa itself. Every plugin keeps the @medusajs/*
packages it needs as peer dependencies, so it builds against the Medusa version
you are already running; the floor each one requires is on its own page.
The plugins
@zanreal/medusa-admin-kit
An extensible Catalog table for the Medusa v2 admin, and the column registry sibling plugins write to.
@zanreal/medusa-usage
Metered usage for Medusa v2: an append-only event log, deterministic deduplication, billing periods and rating.
@zanreal/medusa-usage-tinybird
The Tinybird sink for @zanreal/medusa-usage: the same append-only usage log, deduplicated on read so a retry cannot double count.