Introduction
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
Admin Kit
@zanreal/medusa-admin-kit is an extensible Catalog table for the Medusa v2 admin, and the column registry sibling plugins write to.
Allegro
@zanreal/medusa-allegro is Allegro marketplace sync for Medusa v2: offers keyed by SKU, bounded price writes, stock, and the order event drain.
Usage
@zanreal/medusa-usage is metered usage for Medusa v2: an append-only event log, deterministic deduplication, billing periods and rating.
Tinybird Sink
@zanreal/medusa-usage-tinybird is the Tinybird sink for @zanreal/medusa-usage: the same append-only usage log, deduplicated on read so a retry cannot double count.
FX Pricing
@zanreal/medusa-fx-pricing derives USD and EUR variant prices from the NBP table A mid rate the moment the PLN price changes, with a margin you choose and manual prices left untouched.
Product Costs
@zanreal/medusa-product-costs tracks purchase cost (COGS) per SKU for Medusa v2, with an append-only history and margin, break-even and net income derived from it.
inFakt
Polish invoicing for Medusa v2: inFakt invoices for paid orders, KSeF filing for the B2B ones, and a durable pipeline that parks anything ambiguous for a human.