Ship your store, not just an API
The only open-source e-commerce platform with API and storefront. TypeScript end-to-end. AI-native. Plugin-first.
Everything included
Not headless. Not half-baked.
Every feature you need to run a production store — storefront, admin, API, and everything in between.
Products & Catalog
Variants, options, categories. Full-text search with ranking, instant Cmd+K search, SEO optimization, reviews, and wishlists.
Orders & Checkout
Cart management, guest checkout, coupon system (%, fixed, free shipping), and full order lifecycle management.
Payments
Plugin-based payment system with Stripe included out of the box. Webhook verification, secure processing.
AI-Native
Product descriptions, smart search, chatbot, auto SEO. Provider-agnostic — works with OpenRouter, OpenAI, Anthropic, Google.
Page Builder
20+ drag-and-drop blocks for dynamic shop pages. Build landing pages, product showcases, and content — no code required.
Web Installer
WordPress-style setup wizard. Three clicks to a running store — database, admin, demo data. No terminal knowledge needed.
i18n & Multi-Currency
URL-based locale routing, multi-currency support, GDPR cookie consent. Tax zones with EU VAT validation.
Security
Bcrypt hashing, rate limiting, Stripe webhook verification, Zod validation, XSS protection, and role-based access control.
Admin Dashboard
Product, order, and customer management. Email logs, coupon analytics, search analytics, translation manager, and cache controls.
Plugin System
Extend everything.
Break nothing.
Hook-based plugins with typed settings, event hooks, price filters, and storefront slots. Ship features without forking the core.
- Typed settings with secret support
- Event hooks for order, product, and user lifecycle
- Price and data filters
- Storefront slot injection
- 5 plugin types: feature, payment, shipping, email, AI
import { definePlugin } from '@forkcart/plugin-sdk';
export default definePlugin({
name: 'my-plugin',
version: '1.0.0',
type: 'feature',
settings: {
apiKey: { type: 'string', required: true, secret: true },
},
events: {
'order:created': async (order) => {
// notify, sync, anything
},
},
filters: {
'product:price': (price) => price * 0.9,
},
});Why ForkCart
Complete stack vs. headless-only
Every open-source competitor gives you an API. ForkCart gives you the whole store.
| Feature | ForkCart | Medusa.js | Vendure | Saleor | Shopware |
|---|---|---|---|---|---|
| Language | TypeScript | TypeScript | TypeScript | Python / GraphQL | PHP |
| Storefront | ✓Included | ❌ Headless only | ❌ Headless only | ❌ Headless only | Twig |
| Page Builder | ✓Drag & Drop | ✗— | ✗— | ✗— | Shopping Experiences |
| AI Built-in | ✓Native | ✗— | ✗— | ✗— | Via plugins |
| Plugin System | Hook-based SDK | Modules | Plugins | Apps | Plugins |
| Web Installer | ✓WordPress-style | ✗— | ✗— | ✗— | ✗— |
| Self-hosted | Yes | Yes | Yes | Yes | Yes |
| License | MIT | MIT | MIT | BSD | MIT |
Tech Stack
Modern tools.
Zero legacy.
Built on the latest TypeScript ecosystem. No PHP, no Java, no runtime surprises. Every layer is typed, tested, and fast.
Client Request
│
▼
┌─────────────┐
│ Hono Route │ ← API Layer
└──────┬──────┘
│
▼
┌─────────────┐
│ Service │ ← Business Logic
└──────┬──────┘
│
├──────────────┐
▼ ▼
┌────────────┐ ┌───────────┐
│ Repository │ │ EventBus │
└─────┬──────┘ └─────┬─────┘
│ │
▼ ▼
┌────────────┐ ┌───────────┐
│ PostgreSQL │ │ Plugins │
└────────────┘ └───────────┘Ready to fork?
Get a full e-commerce stack running in under 5 minutes. No vendor lock-in. No monthly fees. Just your store.