Spree: Build commerce the way you want it (16k stars)
What it does
All text below is quoted directly from the project README.
>Open Source Platform for DTC, B2B Commerce, Marketplaces & Omnichannel. REST APIs, TypeScript SDKs, and production-ready Next.js storefront. Self-host it. Own your data. No vendor lock-in. Zero platform fees.
Features:
- REST API & TypeScript SDKs: a REST API for storefronts, admins and sellers, with publishable keys, scoped secret keys, rate limiting and an OpenAPI 3.0 spec. Each provide their own TypeScript SDK.
- Spree CLI: manage projects from the terminal (boot, generate, migrate, upgrade) and call the Admin API directly with spree api get/post/..., zero-config in local dev, built for scripts and AI agents.
- MCP Server: a local server that you can connect to Claude, ChatGPT, or any LLM to fully manage your store via natural language.
- Promotions & Gift Cards: a rules-based promotions engine for percentage and fixed discounts, free shipping, BOGO offers and coupon codes, plus native store credits and gift cards.
- Fulfillment: shipping, digital delivery and in-store pickup, delivery profiles and zones, multi-location inventory, and returns, exchanges and claims.
- MeiliSearch Integration: typo-tolerant product search and faceted filtering, or bring your own search provider.
>npx create-spree-app@latest my-store
Repository
spree/spree
Repository stats
|Metric|Value|
|:-|:-|
|Stars|15,785|
|Forks|5.3k|
|Last release|v6.0.0 (2026-10-27)|
|Languages|Ruby 62.1%, TypeScript 37.1%, Shell 0.3%|
|Contributors|867|
|AI contributor accounts (Claude / Codex / Cursor / Copilot)|@claude (617 commits), @cursoragent (37 commits)|
|AI co-authored commits|Claude: 632, Cursor: 38, Copilot: 3|
Main contributor
|Field|Value|
|:-|:-|
|Name|Damian Legawiec|
|GitHub|@damianlegawiec|
|Commits to this repo|8,593 (top contributor)|
|Bio|I build commerce infra at @spree|
|Company / Location|Warsaw, Poland|
|Followers|251|
──────────────────────────────
📌 How many great GitHub repos have you discovered and completely forgotten about?
Don't let another useful tool disappear into your Reddit feed. Get the community's best repos, organized by category, plus key takeaways from real developer discussions, delivered to your inbox twice a week.
📬 Never lose track of great repos again. Subscribe free.
8 points
Inventory at Every Location: What Is Still Free to Sell | Open-Source Spree Commerce
Know from your inventory at every location what is still free to sell: a store operations feature built into Spree Commerce, the open-source eCommerce platform.
PART OF SPREE COMMERCE STORE OPERATIONS
Inventory at every location is among the store operations features in the open-source Community Edition of Spree Commerce, alongside stock transfers, purchase orders and suppliers, and product import. All store operations videos: youtube.com
WHAT YOU SEE IN THIS VIDEO
The Inventory page shows what you have at each location: on hand, allocated to orders, held by checkouts, and available to sell. One steamer is followed from the shelf to the shipment. A shopper opens checkout with two in the cart, and two units show as reserved. She places the order, and the two move to allocated: promised, still on the shelf. Available is what a new buyer can still get. When the order ships, on hand goes down. Stock history lists every change and its reason.
Everything shown is the real admin dashboard and storefront. No mockups.
Sell what you have, not what you promised
CHAPTERS
0:00 What you have, at every location
0:10 Allocated: promised, still on the shelf · Reserved: held by a checkout right now
0:30 Available: what a buyer can still get · Shipped, and on hand goes down
0:59 Every change and its reason, in history
QUICK ANSWERS
Is it part of open-source Spree Commerce? Yes. Inventory at every location is in the free, open-source Community Edition.
Where is it in the admin dashboard? Inventory, one row per product and location.
What does Available mean? What a new customer can still buy: on hand, minus allocated, minus reserved.
Try it on a free sandbox: spree.sh
INSTALL IT WITH ONE COMMAND
npx create-spree-app@latest my-store
ABOUT SPREE COMMERCE
Spree Commerce open-source comes with these built in:
👉 B2B: companies as buyers, catalogs, price lists, tax exemptions, purchase-order numbers
👉 Marketplace: seller onboarding, commission rules and seller payouts
👉 Omni-channel: retail or wholesale sales channels, markets, currencies, languages, taxes
All configurable from the admin dashboard.
You run it on your own infrastructure and you own the code.
LINKS
All store operations videos: youtube.com
Source on GitHub: spree/spree
Talk to us about your project: spreecommerce.org
#InventoryManagement #OpenSourceEcommerce #SpreeCommerce
1 comment · 7 views
Marketplace Sellers Ship Their Own Orders: Seller Delivery | Open-Source Spree Commerce
Marketplace sellers ship their own orders with their own delivery methods: a multi-vendor marketplace feature built into Spree Commerce, the open-source eCommerce platform.
PART OF SPREE COMMERCE MARKETPLACE
Seller delivery is among the marketplace features in the open-source Community Edition of Spree Commerce, alongside seller onboarding, commission rules, order splitting, seller payouts and the seller's own panel. All marketplace feature videos: youtube.com
WHAT YOU SEE IN THIS VIDEO
In their own seller panel, a seller adds a delivery method of their own, with a price, and the boxes and pallets they ship in. At checkout, the buyer's parcel from that seller lists the seller's methods, while the store's own parcel lists the store's. The seller adds the tracking number and marks the parcel fulfilled. A return on the seller's order comes back to the seller, who approves and receives it. In your dashboard, the seller's methods sit inside your own delivery zones, tagged with the seller's name, so your delivery rules still apply.
Everything shown is the real admin dashboard, seller panel and storefront. No mockups.
Sellers handle delivery, you keep the rules
CHAPTERS
0:00 A seller sets up their own delivery
0:21 And the boxes and pallets they ship in
0:52 The buyer picks it at checkout
1:08 The seller packs it and adds tracking
1:33 Returns come back to the seller
1:53 Your delivery rules still apply
QUICK ANSWERS
Is it part of open-source Spree Commerce? Yes. Seller delivery methods are in the free, open-source Community Edition.
Where does a seller set it up? In the seller panel: Settings → Delivery methods, and Settings → Package types.
Where does the marketplace operator see it? In the admin dashboard: Settings → Delivery profiles, where each seller's method is tagged with the seller's name.
Try it on a free sandbox: spree.sh
INSTALL IT WITH ONE COMMAND
npx create-spree-app@latest my-store
ABOUT SPREE COMMERCE
Spree Commerce open-source comes with these built in:
👉 B2B: companies as buyers, catalogs, price lists, tax exemptions, purchase-order numbers
👉 Marketplace: seller onboarding, commission rules and seller payouts
👉 Omni-channel: retail or wholesale sales channels, markets, currencies, languages, taxes
All configurable from the admin dashboard.
You run it on your own infrastructure and you own the code.
LINKS
All marketplace feature videos: youtube.com
Source on GitHub: spree/spree
Talk to us about your project: spreecommerce.org
#MultiVendorMarketplace #OpenSourceEcommerce #SpreeCommerce
1 comment · 9 views
Wholesale Minimum Order Quantities and Order Multiples | Open-Source Spree Commerce
Wholesale minimum order quantities and order multiples: a B2B feature built into Spree Commerce, the open-source eCommerce platform. Make a wholesale buyer take a minimum, or a multiple, in units or in cartons.
PART OF SPREE COMMERCE B2B
Minimum order quantities and order multiples are among the B2B features in the open-source Community Edition of Spree Commerce, alongside the wholesale portal, companies and divisions, catalogs, price lists and purchase-order numbers. All B2B feature videos: youtube.com
WHAT YOU SEE IN THIS VIDEO
On a product, the B2B ordering section sets how much a buyer must take. The purchase unit can be units or cartons. Here the Electric Kettle 1.7L gets a minimum order quantity of 6 and an order multiple of 6. In the wholesale portal's Quick Order, a buyer who asks for 4 is told why: the kettle cannot be ordered in that quantity, try 6. A catalog's commercial terms also set a minimum order value per currency, here 500 US dollars. And stock is still counted in units.
Everything shown is the real admin dashboard and wholesale portal. No mockups.
Wholesale buyers order the way you sell
CHAPTERS
0:00 Set how much a wholesale buyer must take
0:13 A minimum, in units or in cartons · Sell only in multiples, like cases of 6
0:34 Below the minimum, the cart says why
0:47 A minimum order value per currency
1:09 Stock is still counted in units
QUICK ANSWERS
Is it part of open-source Spree Commerce? Yes. Minimum order quantities and order multiples are in the free, open-source Community Edition.
Where is it in the admin dashboard? A product → a variant → B2B ordering, for the minimum and the multiple. A catalog → Commercial terms → Order minimums, for a minimum order value.
Does selling in cartons change how stock is counted? No. Stock is still counted in units.
Try it on a free sandbox: spree.sh
INSTALL IT WITH ONE COMMAND
npx create-spree-app@latest my-store
ABOUT SPREE COMMERCE
Spree Commerce open-source comes with these built in:
👉 B2B: companies as buyers, catalogs, price lists, tax exemptions, purchase-order numbers
👉 Marketplace: seller onboarding, commission rules and seller payouts
👉 Omni-channel: retail or wholesale sales channels, markets, currencies, languages, taxes
All configurable from the admin dashboard.
You run it on your own infrastructure and you own the code.
LINKS
All B2B feature videos: youtube.com
Source on GitHub: spree/spree
Talk to us about your project: spreecommerce.org
#B2BEcommerce #OpenSourceEcommerce #SpreeCommerce
7 views
Marketplace Order Splitting: One Checkout, Many Sellers | Open-Source Spree Commerce
Marketplace order splitting: one checkout, many sellers. A multi-vendor marketplace feature built into Spree Commerce, the open-source eCommerce platform.
PART OF SPREE COMMERCE MARKETPLACE
Order splitting is among the marketplace features in the open-source Community Edition of Spree Commerce, alongside seller onboarding, commission rules, seller payouts and the seller's own panel. All marketplace feature videos: youtube.com
WHAT YOU SEE IN THIS VIDEO
A shopper checks out once with goods from two sellers. Each seller's parcel ships from that seller's own location, with that seller's own delivery method. In your dashboard that checkout becomes one order per seller, each with its own number. Both orders sit under one purchase, paid once, and each order shows its share of the payment. From an order you open every order in the purchase at once. In the seller's own panel, the seller sees only their part of the purchase.
Everything shown is the real storefront, admin dashboard and seller panel. No mockups.
One basket for the shopper, one order per seller
CHAPTERS
0:00 One checkout, goods from several sellers
0:19 Each seller gets an order of their own · Grouped together as one purchase
0:34 Each order shows the purchase it is in · Open every order in the purchase at once
0:47 The seller sees only their own part
QUICK ANSWERS
Is it part of open-source Spree Commerce? Yes. Order splitting is in the free, open-source Community Edition, as part of its multi-vendor marketplace.
Where is it in the admin dashboard? Orders → an order → Part of a larger purchase.
Does each seller see the whole purchase? No. A seller sees only their own order.
Try it on a free sandbox: spree.sh
INSTALL IT WITH ONE COMMAND
npx create-spree-app@latest my-store
ABOUT SPREE COMMERCE
Spree Commerce open-source comes with these built in:
👉 B2B: companies as buyers, catalogs, price lists, tax exemptions, purchase-order numbers
👉 Marketplace: seller onboarding, commission rules and seller payouts
👉 Omni-channel: retail or wholesale sales channels, markets, currencies, languages, taxes
All configurable from the admin dashboard.
You run it on your own infrastructure and you own the code.
LINKS
All marketplace feature videos: youtube.com
Source on GitHub: spree/spree
Talk to us about your project: spreecommerce.org
#MultiVendorMarketplace #OpenSourceEcommerce #SpreeCommerce
1 like · 20 views
Still paying for Shopify, BigCommerce or WooCommerce? Spree Commerce does the same job for $0.
Spree is a complete, modular & API-driven open source e-commerce solution for Ruby on Rails. ([Demo](demo.spreecommerce.org), [Source Code](spree/spree))…
Mentions
Spree: Build commerce the way you want it (16k stars) What it does All text below is quoted directly from the project README. >Open Source Platform for DTC, B2B Commerce, Marketplaces & Omnichannel. REST APIs, TypeScript SDKs, and production-ready Next.js storefront. Self-host it. Own your data. No vendor lock-in. Zero platform fees. Features: - REST API & TypeScript SDKs: a REST API for storefronts, admins and sellers, with publishable keys, scoped secret keys, rate limiting and an OpenAPI 3.0 spec. Each provide their own TypeScript SDK. - Spree CLI: manage projects from the terminal (boot, generate, migrate, upgrade) and call the Admin API directly with spree api get/post/..., zero-config in local dev, built for scripts and AI agents. - MCP Server: a local server that you can connect to Claude, ChatGPT, or any LLM to fully manage your store via natural language. - Promotions & Gift Cards: a rules-based promotions engine for percentage and fixed discounts, free shipping, BOGO offers and coupon codes, plus native store credits and gift cards. - Fulfillment: shipping, digital delivery and in-store pickup, delivery profiles and zones, multi-location inventory, and returns, exchanges and claims. - MeiliSearch Integration: typo-tolerant product search and faceted filtering, or bring your own search provider. >npx create-spree-app@latest my-store Repository spree/spree Repository stats |Metric|Value| |:-|:-| |Stars|15,785| |Forks|5.3k| |Last release|v6.0.0 (2026-10-27)| |Languages|Ruby 62.1%, TypeScript 37.1%, Shell 0.3%| |Contributors|867| |AI contributor accounts (Claude / Codex / Cursor / Copilot)|@claude (617 commits), @cursoragent (37 commits)| |AI co-authored commits|Claude: 632, Cursor: 38, Copilot: 3| Main contributor |Field|Value| |:-|:-| |Name|Damian Legawiec| |GitHub|@damianlegawiec| |Commits to this repo|8,593 (top contributor)| |Bio|I build commerce infra at @spree| |Company / Location|Warsaw, Poland| |Followers|251| ────────────────────────────── 📌 How many great GitHub repos have you discovered and completely forgotten about? Don't let another useful tool disappear into your Reddit feed. Get the community's best repos, organized by category, plus key takeaways from real developer discussions, delivered to your inbox twice a week. 📬 Never lose track of great repos again. Subscribe free.
Inventory at Every Location: What Is Still Free to Sell | Open-Source Spree Commerce Know from your inventory at every location what is still free to sell: a store operations feature built into Spree Commerce, the open-source eCommerce platform. PART OF SPREE COMMERCE STORE OPERATIONS Inventory at every location is among the store operations features in the open-source Community Edition of Spree Commerce, alongside stock transfers, purchase orders and suppliers, and product import. All store operations videos: youtube.com WHAT YOU SEE IN THIS VIDEO The Inventory page shows what you have at each location: on hand, allocated to orders, held by checkouts, and available to sell. One steamer is followed from the shelf to the shipment. A shopper opens checkout with two in the cart, and two units show as reserved. She places the order, and the two move to allocated: promised, still on the shelf. Available is what a new buyer can still get. When the order ships, on hand goes down. Stock history lists every change and its reason. Everything shown is the real admin dashboard and storefront. No mockups. Sell what you have, not what you promised CHAPTERS 0:00 What you have, at every location 0:10 Allocated: promised, still on the shelf · Reserved: held by a checkout right now 0:30 Available: what a buyer can still get · Shipped, and on hand goes down 0:59 Every change and its reason, in history QUICK ANSWERS Is it part of open-source Spree Commerce? Yes. Inventory at every location is in the free, open-source Community Edition. Where is it in the admin dashboard? Inventory, one row per product and location. What does Available mean? What a new customer can still buy: on hand, minus allocated, minus reserved. Try it on a free sandbox: spree.sh INSTALL IT WITH ONE COMMAND npx create-spree-app@latest my-store ABOUT SPREE COMMERCE Spree Commerce open-source comes with these built in: 👉 B2B: companies as buyers, catalogs, price lists, tax exemptions, purchase-order numbers 👉 Marketplace: seller onboarding, commission rules and seller payouts 👉 Omni-channel: retail or wholesale sales channels, markets, currencies, languages, taxes All configurable from the admin dashboard. You run it on your own infrastructure and you own the code. LINKS All store operations videos: youtube.com Source on GitHub: spree/spree Talk to us about your project: spreecommerce.org #InventoryManagement #OpenSourceEcommerce #SpreeCommerce
Marketplace Sellers Ship Their Own Orders: Seller Delivery | Open-Source Spree Commerce Marketplace sellers ship their own orders with their own delivery methods: a multi-vendor marketplace feature built into Spree Commerce, the open-source eCommerce platform. PART OF SPREE COMMERCE MARKETPLACE Seller delivery is among the marketplace features in the open-source Community Edition of Spree Commerce, alongside seller onboarding, commission rules, order splitting, seller payouts and the seller's own panel. All marketplace feature videos: youtube.com WHAT YOU SEE IN THIS VIDEO In their own seller panel, a seller adds a delivery method of their own, with a price, and the boxes and pallets they ship in. At checkout, the buyer's parcel from that seller lists the seller's methods, while the store's own parcel lists the store's. The seller adds the tracking number and marks the parcel fulfilled. A return on the seller's order comes back to the seller, who approves and receives it. In your dashboard, the seller's methods sit inside your own delivery zones, tagged with the seller's name, so your delivery rules still apply. Everything shown is the real admin dashboard, seller panel and storefront. No mockups. Sellers handle delivery, you keep the rules CHAPTERS 0:00 A seller sets up their own delivery 0:21 And the boxes and pallets they ship in 0:52 The buyer picks it at checkout 1:08 The seller packs it and adds tracking 1:33 Returns come back to the seller 1:53 Your delivery rules still apply QUICK ANSWERS Is it part of open-source Spree Commerce? Yes. Seller delivery methods are in the free, open-source Community Edition. Where does a seller set it up? In the seller panel: Settings → Delivery methods, and Settings → Package types. Where does the marketplace operator see it? In the admin dashboard: Settings → Delivery profiles, where each seller's method is tagged with the seller's name. Try it on a free sandbox: spree.sh INSTALL IT WITH ONE COMMAND npx create-spree-app@latest my-store ABOUT SPREE COMMERCE Spree Commerce open-source comes with these built in: 👉 B2B: companies as buyers, catalogs, price lists, tax exemptions, purchase-order numbers 👉 Marketplace: seller onboarding, commission rules and seller payouts 👉 Omni-channel: retail or wholesale sales channels, markets, currencies, languages, taxes All configurable from the admin dashboard. You run it on your own infrastructure and you own the code. LINKS All marketplace feature videos: youtube.com Source on GitHub: spree/spree Talk to us about your project: spreecommerce.org #MultiVendorMarketplace #OpenSourceEcommerce #SpreeCommerce
Wholesale Minimum Order Quantities and Order Multiples | Open-Source Spree Commerce Wholesale minimum order quantities and order multiples: a B2B feature built into Spree Commerce, the open-source eCommerce platform. Make a wholesale buyer take a minimum, or a multiple, in units or in cartons. PART OF SPREE COMMERCE B2B Minimum order quantities and order multiples are among the B2B features in the open-source Community Edition of Spree Commerce, alongside the wholesale portal, companies and divisions, catalogs, price lists and purchase-order numbers. All B2B feature videos: youtube.com WHAT YOU SEE IN THIS VIDEO On a product, the B2B ordering section sets how much a buyer must take. The purchase unit can be units or cartons. Here the Electric Kettle 1.7L gets a minimum order quantity of 6 and an order multiple of 6. In the wholesale portal's Quick Order, a buyer who asks for 4 is told why: the kettle cannot be ordered in that quantity, try 6. A catalog's commercial terms also set a minimum order value per currency, here 500 US dollars. And stock is still counted in units. Everything shown is the real admin dashboard and wholesale portal. No mockups. Wholesale buyers order the way you sell CHAPTERS 0:00 Set how much a wholesale buyer must take 0:13 A minimum, in units or in cartons · Sell only in multiples, like cases of 6 0:34 Below the minimum, the cart says why 0:47 A minimum order value per currency 1:09 Stock is still counted in units QUICK ANSWERS Is it part of open-source Spree Commerce? Yes. Minimum order quantities and order multiples are in the free, open-source Community Edition. Where is it in the admin dashboard? A product → a variant → B2B ordering, for the minimum and the multiple. A catalog → Commercial terms → Order minimums, for a minimum order value. Does selling in cartons change how stock is counted? No. Stock is still counted in units. Try it on a free sandbox: spree.sh INSTALL IT WITH ONE COMMAND npx create-spree-app@latest my-store ABOUT SPREE COMMERCE Spree Commerce open-source comes with these built in: 👉 B2B: companies as buyers, catalogs, price lists, tax exemptions, purchase-order numbers 👉 Marketplace: seller onboarding, commission rules and seller payouts 👉 Omni-channel: retail or wholesale sales channels, markets, currencies, languages, taxes All configurable from the admin dashboard. You run it on your own infrastructure and you own the code. LINKS All B2B feature videos: youtube.com Source on GitHub: spree/spree Talk to us about your project: spreecommerce.org #B2BEcommerce #OpenSourceEcommerce #SpreeCommerce
Marketplace Order Splitting: One Checkout, Many Sellers | Open-Source Spree Commerce Marketplace order splitting: one checkout, many sellers. A multi-vendor marketplace feature built into Spree Commerce, the open-source eCommerce platform. PART OF SPREE COMMERCE MARKETPLACE Order splitting is among the marketplace features in the open-source Community Edition of Spree Commerce, alongside seller onboarding, commission rules, seller payouts and the seller's own panel. All marketplace feature videos: youtube.com WHAT YOU SEE IN THIS VIDEO A shopper checks out once with goods from two sellers. Each seller's parcel ships from that seller's own location, with that seller's own delivery method. In your dashboard that checkout becomes one order per seller, each with its own number. Both orders sit under one purchase, paid once, and each order shows its share of the payment. From an order you open every order in the purchase at once. In the seller's own panel, the seller sees only their part of the purchase. Everything shown is the real storefront, admin dashboard and seller panel. No mockups. One basket for the shopper, one order per seller CHAPTERS 0:00 One checkout, goods from several sellers 0:19 Each seller gets an order of their own · Grouped together as one purchase 0:34 Each order shows the purchase it is in · Open every order in the purchase at once 0:47 The seller sees only their own part QUICK ANSWERS Is it part of open-source Spree Commerce? Yes. Order splitting is in the free, open-source Community Edition, as part of its multi-vendor marketplace. Where is it in the admin dashboard? Orders → an order → Part of a larger purchase. Does each seller see the whole purchase? No. A seller sees only their own order. Try it on a free sandbox: spree.sh INSTALL IT WITH ONE COMMAND npx create-spree-app@latest my-store ABOUT SPREE COMMERCE Spree Commerce open-source comes with these built in: 👉 B2B: companies as buyers, catalogs, price lists, tax exemptions, purchase-order numbers 👉 Marketplace: seller onboarding, commission rules and seller payouts 👉 Omni-channel: retail or wholesale sales channels, markets, currencies, languages, taxes All configurable from the admin dashboard. You run it on your own infrastructure and you own the code. LINKS All marketplace feature videos: youtube.com Source on GitHub: spree/spree Talk to us about your project: spreecommerce.org #MultiVendorMarketplace #OpenSourceEcommerce #SpreeCommerce
Still paying for Shopify, BigCommerce or WooCommerce? Spree Commerce does the same job for $0. Spree is a complete, modular & API-driven open source e-commerce solution for Ruby on Rails. ([Demo](demo.spreecommerce.org), [Source Code](spree/spree))…