AI‑supportive CRM / ERP foundation framework — built to power R&D, new processes, operations, and growth. It’s modular, extensible, and designed for teams that want strong defaults with room to customize everything. Better than Django, Retool and other alternatives - and Enterprise Grade! https://www.openmercato.com/
  • TypeScript 92.2%
  • MDX 5.1%
  • JavaScript 1.7%
  • HTML 0.4%
  • Shell 0.2%
  • Other 0.3%
Find a file
2026-04-23 11:07:50 +02:00
.ai docs(skills): reassign authors on review and fix handoffs (#1644) 2026-04-22 11:36:57 +02:00
.devcontainer fix: handle missing xdg-open in dev container by catching async spawn errors (#1218) 2026-04-11 16:15:13 +02:00
.github feat: release as is 2026-04-22 13:45:24 +02:00
.husky feat: UMES implementation works E-H (#751) 2026-03-01 00:05:04 +01:00
.vscode feat: sidebar-reorganization task spec 2026-01-26 11:10:52 +01:00
apps fix(mercato): type and test the AI assistant integration fallback 2026-04-23 09:03:09 +02:00
certs feat: currency exchange rate (#295) 2026-01-12 14:09:37 +01:00
config/verdaccio feat: agentic tool setup for standalone apps (SPEC-058) (#932) 2026-03-12 16:38:07 +01:00
data fix: update rest of the imports to be reference of a packages instead of using ts aliases (#393) 2026-01-21 16:43:53 +01:00
docker fix(docs): correct outdated statements in README files (#1187) 2026-04-11 11:32:13 +02:00
docs Docs/design system audit 2026 04 10 (#1226) 2026-04-11 18:38:45 +02:00
packages fix message fix for standalone app 2026-04-22 12:36:37 +02:00
scripts feat: release as is 2026-04-22 13:45:24 +02:00
tests/helpers feat: refactor part 8 + unit tests 2025-11-08 18:39:50 +01:00
.dockerignore perf(ci): parallel job graph, sharded integration tests, Turbo cache (#1509) 2026-04-17 09:49:02 +02:00
.gitattributes fix: normalize shell script EOL and set Testcontainers Docker Desktop overrides for Windows 2026-03-04 21:22:35 +01:00
.gitignore chore: use global coverage/ ignore pattern 2026-04-12 00:13:24 +02:00
.mcp.json.example fix: asistant (#442) 2026-01-29 17:21:08 +01:00
.npmrc.local feat: package publishing infrastructure and standalone usage support (#400) 2026-01-22 13:00:07 +01:00
.nvmrc feat: SPEC005 - record locking (#635) 2026-02-23 14:28:45 +01:00
.yarnrc.yml merge: resolve conflicts with develop 2026-01-23 13:41:41 +01:00
AGENTS.md docs(skills): add sync-merged-pr-issues and auto-update-changelog skills (#1568) 2026-04-17 12:16:29 +02:00
BACKWARD_COMPATIBILITY.md feat: initial UMES specification (#710) 2026-02-25 13:45:47 +01:00
CHANGELOG.md release: v0.5.0 pre-release (#1626) 2026-04-22 08:52:24 +02:00
CLAUDE.md feat: Create new AGENTS.md files stracture. (#492) 2026-02-08 11:12:10 +01:00
CONTRIBUTING.md fix(docs): correct outdated statements in README files (#1187) 2026-04-11 11:32:13 +02:00
docker-compose.fullapp.dev.yml fix(checkout): resolve ESM import errors and Docker dev env (#1153) 2026-04-11 12:07:32 +02:00
docker-compose.fullapp.yml fix: CR fixes (#1116) 2026-03-30 23:51:46 +02:00
docker-compose.preview.yaml fix: normalize shell script EOL and set Testcontainers Docker Desktop overrides for Windows 2026-03-04 21:22:35 +01:00
docker-compose.yml fix: healtchecks fixes 2026-03-30 15:10:06 +02:00
Dockerfile fix: standalone docker fixes 2026-03-30 15:23:23 +02:00
eslint.config.mjs fix: stabilization fixes (#1174) 2026-04-08 20:59:29 +02:00
ISSUE_LOG.md fix(customer_accounts): address customer portal UX feedback (#988) (#1051) 2026-03-26 08:36:24 +01:00
jest.config.cjs fix(customers): deassign deal from customer/company detail instead of deleting (#109) (#1455) 2026-04-14 09:34:42 +02:00
jest.dom.setup.ts feat: Enhance AttachmentContentPreview with tab navigation and markdown support; add source label to translations 2025-12-10 00:30:01 +01:00
jest.setup.ts handle generated boostrap via DI 2026-01-10 16:20:53 +01:00
LICENSE docs: update enterprise README with all delivered modules and fix license year 2026-03-17 22:51:46 +01:00
newrelic.js fix: newrelic request tracing 2025-12-09 06:48:58 +01:00
package.json feat: release as is 2026-04-22 13:45:24 +02:00
railway.toml railway entrypoints 2026-03-11 17:25:00 +01:00
README.md docs: add Hall of Fame for Open Mercato Agentic Hackathon winners (#1646) 2026-04-22 11:19:46 +02:00
SECURITY.md release: v0.5.0 pre-release (#1626) 2026-04-22 08:52:24 +02:00
tsconfig.base.json feat: migration to monorepo (#320) 2026-01-16 14:18:25 +01:00
tsconfig.json feat: migration to monorepo (#320) 2026-01-16 14:18:25 +01:00
turbo.json release: v0.5.0 pre-release (#1626) 2026-04-22 08:52:24 +02:00
UPGRADE_NOTES.md release: v0.5.0 pre-release (#1626) 2026-04-22 08:52:24 +02:00
yarn.lock release: v0.5.0 pre-release (#1626) 2026-04-22 08:52:24 +02:00

Open Mercato logo

Open Mercato

License: MIT Docs PRs Welcome Built with Next.js

Open Mercato is a newera, AIsupportive platform for shipping enterprisegrade CRMs, ERPs, and commerce backends. Its modular, extensible, and designed so teams can mix their own modules, entities, and workflows while keeping the guardrails of a production-ready stack.

Start with 80% done.

Buy vs. build? Now, you can have best of both. Use Open Mercato enterprise ready business features like CRM, Sales, OMS, Encryption and build the remaining 20% that really makes the difference for your business.

Watch: What “Start with 80% done” means

Core Use Cases

  • 💼 CRM model customers, opportunities, and bespoke workflows with infinitely flexible data definitions.
  • 🏭 ERP manage orders, production, and service delivery while tailoring modules to match your operational reality.
  • 🛒 Commerce launch CPQ flows, B2B ordering portals, or full commerce backends with reusable modules.
  • 🤝 Self-service system spin up customer or partner portals with configurable forms, guided flows, and granular permissions.
  • 🔄 Workflows orchestrate custom data lifecycles and document workflows per tenant or team.
  • 🧵 Production coordinate production management with modular entities, automation hooks, and reporting.
  • 🌐 Headless/API platform expose rich, well-typed APIs for mobile and web apps using the same extensible data model.

Highlights

  • 🧩 Modular architecture drop in your own modules, pages, APIs, and entities with auto-discovery and overlay overrides.
  • 🧬 Custom entities & dynamic forms declare fields, validators, and UI widgets per module and manage them live from the admin.
  • 🏢 Multi-tenant by default SaaS-ready tenancy with strict organization/tenant scoping for every entity and API.
  • 🏛️ Multi-hierarchical organizations built-in organization trees with role- and user-level visibility controls.
  • 🛡️ Feature-based RBAC combine per-role and per-user feature flags with organization scoping to gate any page or API.
  • Data indexing & caching hybrid JSONB indexing and smart caching for blazing-fast queries across base and custom fields.
  • 🔔 Event subscribers & workflows publish domain events and process them via persistent subscribers (local or Redis).
  • Growing test coverage expanding unit and integration tests ensure modules stay reliable as you extend them.
  • 🧠 AI-supportive foundation structured for assistive workflows, automation, and conversational interfaces.
  • ⚙️ Modern stack Next.js App Router, TypeScript, zod, Awilix DI, MikroORM, and bcryptjs out of the box.

Screenshots

Order shipments timeline Editing an organization Users management view
Order Shipments Organizations Users
Managing roles and permissions Defining custom fields Managing custom entity records
Roles & ACL Custom Fields Custom Entity Records
Add new customer form Deals pipeline board Customer notes timeline
Add New Customer Deals Pipeline Customer Notes
Sales pipeline board view Order shipments timeline Order totals breakdown
Sales Pipeline Order Shipments Order Totals
Catalog products list Sales channels overview Sales channel offers listing
Catalog Products Sales Channels Channel Offers
Home page showing enabled modules
Home overview with enabled modules list

Architecture Overview

  • 🧩 Modules: Each feature lives under src/modules/<module> with autodiscovered frontend/backend pages, APIs, CLI, i18n, and DB entities.
  • 🗃️ Database: MikroORM with permodule entities and migrations; no global schema. Migrations are generated and applied per module.
  • 🧰 Dependency Injection: Awilix container constructed per request. Modules can register and override services/components via di.ts.
  • 🏢 Multitenant: Core directory module defines tenants and organizations. Most entities carry tenant_id + organization_id.
  • 🔐 Security: RBAC roles, zod validation, bcryptjs hashing, JWT sessions, rolebased access in routes and APIs.

Read more on the Open Mercato Architecture

Official Modules

Open Mercato ships with a module system that lets you add features to your app without forking or modifying the platform. The Official Modules repo is where the community publishes those features.

Every module there:

  • 🔌 Installs in one command — no manual wiring, no config files to edit
  • 🔒 Stays isolated — each module is its own npm package that hooks into the platform through declared extension points, never by patching core code
  • 🧬 Is ejectable — run --eject to copy the module into your app and own it fully
  • 🤝 Gets reviewed — every submission goes through core team review before reaching npm

Whether you're adding a small UI widget or shipping a full vertical feature with its own entities, API routes, and admin pages — if it runs on Open Mercato, it belongs there.

AI Assistant

Open Mercato includes a built-in AI Assistant that can discover and interact with your data model and APIs. The assistant uses MCP (Model Context Protocol) to expose tools for schema discovery and API execution.

AI Assistant chat interface AI Assistant settings AI Assistant MCP tools
Chat Interface Settings MCP Tools

Key capabilities:

  • 🔍 Schema Discovery Query database entity schemas including fields, types, and relationships
  • 🔗 API Discovery Search for API endpoints using natural language queries
  • API Execution Execute API calls with automatic tenant context and authentication
  • 🧠 Hybrid Search Uses Meilisearch for fast fulltext + vector search across schemas and endpoints

MCP Tools:

Tool Purpose
discover_schema Search entity schemas by name or keyword
find_api Find API endpoints by natural language query
call_api Execute API calls with tenant context
context_whoami Get current authentication context

Integration modes:

  • Development (yarn mcp:dev) For Claude Code and local development with API key auth
  • Production (yarn mcp:serve) For web AI chat with session tokens

See the AI Assistant specification for detailed documentation on entity extraction, OpenAPI integration, and search indexing.

Data Encryption

Open Mercato ships with tenant-scoped, field-level data encryption so PII and sensitive business data stay protected while you keep the flexibility of custom entities and fields. Encryption maps live in the admin UI/database, letting you pick which system and custom columns are encrypted; MikroORM hooks automatically encrypt on write and decrypt on read while keeping deterministic hashes (e.g., email_hash) for lookups.

Architecture in two lines: Vault/KMS (or a derived-key fallback) issues per-tenant DEKs and caches them so performance stays snappy; AES-GCM wrappers sit in the ORM lifecycle, storing ciphertext at rest while CRUD and APIs keep working with plaintext. Read the docs to dive deeper: docs.openmercato.com/user-guide/encryption.

Getting Started

Quick start

You need: Node.js 24 · Git · PostgreSQL + Redis (easiest via Docker Desktop)

🔧 Monorepo — core development / full demo
# macOS / Linux
brew install node@24   # or: nvm install 24 && nvm use 24
corepack enable && corepack prepare yarn@4.12.0 --activate

git clone https://github.com/open-mercato/open-mercato.git
cd open-mercato && git checkout develop
docker compose up -d                  # starts PostgreSQL, Redis, Meilisearch
cp apps/mercato/.env.example apps/mercato/.env
# set DATABASE_URL / JWT_SECRET / REDIS_URL in apps/mercato/.env
yarn dev:greenfield                   # installs, builds, seeds, starts the app
# Windows (PowerShell as Administrator — or use Git Bash / cmd)
# 1. Install Node.js 24 MSI from https://nodejs.org/en/download, then open a new terminal
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
corepack enable; corepack prepare yarn@4.12.0 --activate

git clone https://github.com/open-mercato/open-mercato.git
cd open-mercato; git checkout develop
docker compose up -d                  # or use native PostgreSQL + pgAdmin: https://www.postgresql.org/download/windows/
Copy-Item apps\mercato\.env.example apps\mercato\.env
# set DATABASE_URL / JWT_SECRET / REDIS_URL in apps\mercato\.env
yarn dev:greenfield

Open http://localhost:3000/backend — credentials printed in the terminal.

📦 Standalone app — build on Open Mercato without touching the core
# macOS / Linux
brew install node@24   # or: nvm install 24 && nvm use 24
corepack enable && corepack prepare yarn@4.12.0 --activate

npx create-mercato-app my-app
cd my-app
docker compose up -d                  # starts PostgreSQL, Redis, Meilisearch
# set DATABASE_URL / JWT_SECRET / REDIS_URL in .env
yarn setup                            # installs, seeds, starts the app
# Windows (PowerShell as Administrator — or use Git Bash / cmd)
# 1. Install Node.js 24 MSI from https://nodejs.org/en/download, then open a new terminal
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
corepack enable; corepack prepare yarn@4.12.0 --activate

npx create-mercato-app my-app
cd my-app
docker compose up -d                  # or use native PostgreSQL + pgAdmin: https://www.postgresql.org/download/windows/
# set DATABASE_URL / JWT_SECRET / REDIS_URL in .env
yarn setup

Open http://localhost:3000/backend — credentials printed in the terminal.


Detailed guides (prerequisites, native services, troubleshooting)

Each guide below is self-contained and covers all prerequisites, infrastructure setup (native services or Docker), and every command from zero to a running app.

Guide
🔧 Monorepo — contribute to the core or demo the full platform 🍎 macOS · 🐧 Linux · 🪟 Windows
📦 Standalone app — build your product without modifying the core 🍎 macOS · 🐧 Linux · 🪟 Windows
🐧 Windows with WSL2 — Ubuntu on Windows: memory config, Docker, GitHub CLI, native Postgres bridging WSL2 guide →
🐳 Docker dev — full containerized dev with hot reload, no local toolchain All platforms →
🚀 VPS / production — deploy a full stack to any Linux server Deploy guide →
🛠️ Dev Container — zero-install VS Code environment Setup guide →
☁️ Railway — one-click cloud deployment Railway guide →
Getting Started for Core Contributions

Getting Started for Core Contributions
Building Standalone App on Linux/Mac

Building Standalone App on Linux/Mac
How to install Open Mercato on Windows

How to Install

Release Channels

  • latest is the stable npm channel published from main.
  • develop is the moving prerelease channel published from pushes to develop.
  • Exact snapshot versions remain installable for debugging or rollback when you need to pin one specific build.

Examples:

yarn add @open-mercato/core@develop
npx create-mercato-app@develop my-app

Docker Setup

Open Mercato ships two Docker Compose configurations — one for hot-reload development and one for production. Full step-by-step guides with environment variables, troubleshooting, and upgrade instructions:

Live demo

Explore the Open Mercato live demo

Documentation

Browse the full documentation at docs.openmercato.com.

Spec Driven Development

Open Mercato follows a spec-first development approach. Before implementing new features or making significant changes, we document the design in the .ai/specs/ folder.

Why Specs?

  • Clarity: Specs ensure everyone understands the feature before coding starts
  • Consistency: Design decisions are documented and can be referenced by humans and AI agents
  • Traceability: Each spec maintains a changelog tracking the evolution of the feature

How It Works

  1. Before coding: Check if a spec exists in .ai/specs/ (named {YYYY-MM-DD}-{title}.md)
  2. New features: Create or update the spec with your design before implementation
  3. After changes: Update the spec's changelog with a dated summary

Naming convention: Specs use the format {YYYY-MM-DD}-{title}.md (e.g., 2026-01-26-sidebar-reorganization.md)

See .ai/specs/README.md for the full specification directory and .ai/specs/AGENTS.md for detailed guidelines on maintaining specs.

Join us on Discord

Connect with the team and other builders in our Discord community: https://discord.gg/f4qwPtJ3qA.

🏆 Hall of Fame

Honoring the champions of the Open Mercato Agentic Hackathon — Sopot, 1012 April 2026.

🥇 Team MercatoMinds — 378 pts · 36 PRs

# Contributor GitHub Points PRs
1 Michał Strześniewski @strzesniewski 106 9
2 Wiktor Idzikowski @WXYZx 93 11
3 Adam Kardasz @WH173-P0NY 87 7
4 Karol Roman @RMN-45 39 3
5 Adam Kanigowski @AK-300codes 29 3
6 Tomasz Jeleszuk @Tomeckyyyy 24 3

Huge thanks for the incredible energy, craftsmanship, and contributions delivered over the weekend. 🎉

Contributing

We welcome contributions of all sizes—from fixes and docs updates to new modules. Start by reading CONTRIBUTING.md for branching conventions (main, develop, feat/<feature>), release flow, and the full PR checklist. Then check the open issues or propose an idea in a discussion, and:

  1. Fork the repository and create a branch that reflects your change.
  2. Install dependencies with yarn install and bootstrap via yarn mercato init (add --no-examples to skip demo CRM content; --stresstest for thousands of synthetic contacts, companies, deals, and timeline interactions; or --stresstest --lite for high-volume contacts without the heavier extras).
  3. Develop and validate your changes (yarn lint, yarn test, or the relevant module scripts).
  4. Open a pull request referencing any related issues and outlining the testing you performed.

Refer to AGENTS.md for deeper guidance on architecture and conventions when extending modules.

Open Mercato is proudly supported by Catch The Tornado.

CLI Commands

Open Mercato let the module developers to expose the custom CLI commands for variouse maintenance tasks. Read more on the CLI documentation

Considering a project on Open Mercato?

If you're planning to build on Open Mercato, dont go it alone.

Certified Partner Agencies

Reach out to us - we will connect you with one of our Certified Partner Agencies. Our Partnership Program certifies software consultancies that actively use and contribute to Open Mercato.

Our mission is simple: ensure every Open Mercato deployment is successful, secure, and scalable.

License

Enterprise Edition

Open Mercato Core is and always will be MIT Licensed, fully Open Source.

Open Mercato Enterprise Subscription

The Open Mercato Enterprise Subscription helps ensure your deployment is secure, scalable, and production-ready without surprises before go-live.

It combines certification, expert reviews, and ongoing advisory support for teams building serious systems on Open Mercato.

Whats included:

  • Architecture & Production Readiness
  • Pre-deployment architecture audit
  • Production approval before go-live
  • Hosting and deployment best practices
  • Security & Quality (monthly reviews)
  • Customer Success Manager (pre-go-live)
  • Priority technical support channel
  • Platform Continuity - access to security patches and new features

Contact us to get support for your implementation: info@openmercato.com

Enterprise features are delivered under the @open-mercato/enterprise package (/packages/enterprise) and are not part of the open source license scope.