[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-94456":3},{"id":4,"name":5,"fullName":6,"owner":5,"repo":5,"description":7,"homepage":8,"htmlUrl":9,"language":10,"languages":8,"totalLinesOfCode":8,"stars":11,"forks":12,"watchers":13,"openIssues":13,"contributorsCount":8,"subscribersCount":13,"size":13,"stars1d":13,"stars7d":13,"stars30d":13,"stars90d":13,"forks30d":13,"starsTrendScore":13,"compositeScore":14,"rankGlobal":8,"rankLanguage":8,"license":8,"archived":15,"fork":15,"defaultBranch":16,"hasWiki":15,"hasPages":15,"topics":8,"createdAt":8,"pushedAt":8,"updatedAt":17,"readmeContent":18,"aiSummary":19,"trendingCount":13,"starSnapshotCount":13,"syncStatus":20,"lastSyncTime":8,"discoverSource":21},94456,"open-mercato","open-mercato\u002Fopen-mercato","AI-Engineering Foundation Framework built with AI and designed for AI. Hundreds of architectural and domain decisions (multi-tenancy, RBAC, event flow, pricing, sales pipeline,CRM\u002FERP processes) are already made conventions and specs so agents (Cursor, Claude Code, Codex) arch. decisions without reinventing. Ship production grade with AI Agents.",null,"https:\u002F\u002Fgithub.com\u002Fopen-mercato\u002Fopen-mercato","TypeScript",1578,353,0,52.65,false,"main","2026-08-24 04:01:22","\u003Cp align=\"center\">\n  \u003Cimg src=\".\u002Fapps\u002Fmercato\u002Fpublic\u002Fopen-mercato.svg\" alt=\"Open Mercato logo\" width=\"120\" \u002F>\n\u003C\u002Fp>\n\n# Open Mercato\n\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-green.svg)](LICENSE)\n[![Docs](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-openmercato.com-1F7AE0.svg)](https:\u002F\u002Fdocs.openmercato.com\u002F)\n[![PRs Welcome](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPRs-welcome-ff69b4.svg)](https:\u002F\u002Fgithub.com\u002Fopen-mercato\u002Fopen-mercato\u002Fissues)\n[![Built with Next.js](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBuilt%20with-Next.js-black?logo=next.js)](https:\u002F\u002Fnextjs.org\u002F)\n\n**Open Mercato - the AI-Engineering Foundation Framework.**\n\nAI code assistants generate code. They don't decide where it goes, how it should be layered, or whether it stays consistent across 30 or 50 engineers in the team.\n\nOpen Mercato is the open-source foundation framework that solves it:\n\n- **Architecture-aware AI harness** - agents know where in the project to place code, not just how to write it, they are provided with autonomous skills for everything from adding data table, Design-System coherent forms to implementing whole features with unit and integration tests,\n- **Spec-first development** - specs ship with the repo, AI output becomes reproducible\n- **Including AI harness and skills for human cooperation** - code review, ticketing flow and debugging\n- **Ready-made CRM\u002FERP domain modules** - start at 80% done\n- **Open-source, no lock-in** - full code ownership, no per-seat pricing trap\n- **Teachable** - the whole team enters AI-assisted dev, not just 1–2 seniors\n\nEnd with „almost ready apps”. Ship it pro, ship it fast. We’ve got you!\n\nBuilt for CTOs who have already deployed Cursor\u002FCopilot and noticed it isn't enough. Built for developers who want to build professional business apps and backends without constantly checking their back.\n\n## Start with 80% done.\n\n**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&percnt;** that really makes the difference for your business.\n\n[![Watch: What “Start with 80% done” means](https:\u002F\u002Fimg.youtube.com\u002Fvi\u002F53jsDjAXXhQ\u002Fmaxresdefault.jpg)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=53jsDjAXXhQ)\n\n## Quick Links\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"#getting-started\">⚡ Getting Started\u003C\u002Fa>\n  ·\n  \u003Ca href=\"#developing-your-first-open-mercato-app\">🎬 Building your First Open Mercato App\u003C\u002Fa>\n  ·\n  \u003Ca href=\"https:\u002F\u002Fdocs.openmercato.com\u002F\">📚 Documentation\u003C\u002Fa>\n\u003C\u002Fp>\n\n## Core Use Cases\n\n- 🛒 **Commerce** – launch CPQ flows, B2B ordering portals, or full commerce backends with reusable modules.\n- 🌐 **Headless\u002FAPI platform\u002FCustom Backend** – expose rich, well-typed APIs for mobile and web apps using the same extensible data model.\n- 💼 **CRM** – model customers, opportunities, and bespoke workflows with infinitely flexible data definitions.\n- 🏭 **ERP** – manage orders, production, and service delivery while tailoring modules to match your operational reality.\n- 🤝 **Self-service system** – spin up customer or partner portals with configurable forms, guided flows, and granular permissions.\n- 🔄 **Workflows** – orchestrate custom data lifecycles and document workflows per tenant or team.\n- 🧵 **Production** – coordinate production management with modular entities, automation hooks, and reporting.\n\n## Highlights\n\n- 🧩 **Modular architecture** – drop in your own modules, pages, APIs, and entities with auto-discovery and overlay overrides.\n- 🧬 **Custom entities & dynamic forms** – declare fields, validators, and UI widgets per module and manage them live from the admin.\n- 🏢 **Multi-tenant by default** – SaaS-ready tenancy with strict organization\u002Ftenant scoping for every entity and API.\n- 🏛️ **Multi-hierarchical organizations** – built-in organization trees with role- and user-level visibility controls.\n- 🛡️ **Feature-based RBAC** – combine per-role and per-user feature flags with organization scoping to gate any page or API.\n- ⚡ **Data indexing & caching** – hybrid JSONB indexing and smart caching for blazing-fast queries across base and custom fields.\n- 🔔 **Event subscribers & workflows** – publish domain events and process them via persistent subscribers (local or Redis).\n- ✅ **Growing test coverage** – expanding unit and integration tests ensure modules stay reliable as you extend them.\n- 🧠 **AI-supportive foundation** – structured for assistive workflows, automation, and conversational interfaces.\n- ⚙️ **Modern stack** – Next.js App Router, TypeScript, zod, Awilix DI, MikroORM, and bcryptjs out of the box.\n\n\n## Live demo\n\n[![Explore the Open Mercato live demo](.\u002Fapps\u002Fdocs\u002Fstatic\u002Fscreenshots\u002Fopen-mercato-onboarding-showoff.png)](https:\u002F\u002Fdemo.openmercato.com)\n\n## Screenshots\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd align=\"center\" width=\"33%\">\n      \u003Ca href=\".\u002Fapps\u002Fdocs\u002Fstatic\u002Fscreenshots\u002Fopen-mercato-dashboard.png\">\u003Cimg src=\".\u002Fapps\u002Fdocs\u002Fstatic\u002Fscreenshots\u002Fopen-mercato-dashboard.png\" alt=\"Open Mercato dashboard\" height=\"170\"\u002F>\u003C\u002Fa>\u003Cbr\u002F>\n      \u003Cstrong>Dashboard\u003C\u002Fstrong>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"33%\">\n      \u003Ca href=\".\u002Fapps\u002Fdocs\u002Fstatic\u002Fscreenshots\u002Fopen-mercato-orders-order-details.png\">\u003Cimg src=\".\u002Fapps\u002Fdocs\u002Fstatic\u002Fscreenshots\u002Fopen-mercato-orders-order-details.png\" alt=\"Order details view\" height=\"170\"\u002F>\u003C\u002Fa>\u003Cbr\u002F>\n      \u003Cstrong>Order Details\u003C\u002Fstrong>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"33%\">\n      \u003Ca href=\".\u002Fapps\u002Fdocs\u002Fstatic\u002Fscreenshots\u002Fopen-mercato-ai-assistant-chat.png\">\u003Cimg src=\".\u002Fapps\u002Fdocs\u002Fstatic\u002Fscreenshots\u002Fopen-mercato-ai-assistant-chat.png\" alt=\"AI Assistant chat\" height=\"170\"\u002F>\u003C\u002Fa>\u003Cbr\u002F>\n      \u003Cstrong>AI Assistant\u003C\u002Fstrong>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n[Browse the full screenshot gallery.](SCREENSHOTS.md)\n\n\n## Architecture Overview\n\n- 🧩 Modules: Each feature lives under `src\u002Fmodules\u002F\u003Cmodule>` with auto‑discovered frontend\u002Fbackend pages, APIs, CLI, i18n, and DB entities.\n- 🗃️ Database: MikroORM with per‑module entities and migrations; no global schema. Migrations are generated and applied per module.\n- 🧰 Dependency Injection: Awilix container constructed per request. Modules can register and override services\u002Fcomponents via `di.ts`.\n- 🏢 Multi‑tenant: Core `directory` module defines `tenants` and `organizations`. Most entities carry `tenant_id` + `organization_id`.\n- 🔐 Security: RBAC roles, zod validation, bcryptjs hashing, JWT sessions, role‑based access in routes and APIs.\n\nRead more on the [Open Mercato Architecture](https:\u002F\u002Fdocs.openmercato.com\u002Farchitecture\u002Fsystem-overview)\n\n## Getting Started\n\n### ⚡ Quick start\n\n**You need:** [Node.js 24](https:\u002F\u002Fnodejs.org\u002Fen\u002Fdownload) · [Git](https:\u002F\u002Fgit-scm.com\u002F) · PostgreSQL + Redis (easiest via [Docker Desktop](https:\u002F\u002Fwww.docker.com\u002Fproducts\u002Fdocker-desktop\u002F))\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>🔧 Monorepo\u003C\u002Fstrong> — core development \u002F full demo\u003C\u002Fsummary>\n\n```bash\n# macOS \u002F Linux\nbrew install node@24   # or: nvm install 24 && nvm use 24\ncorepack enable && corepack prepare yarn@4.12.0 --activate\n\ngit clone https:\u002F\u002Fgithub.com\u002Fopen-mercato\u002Fopen-mercato.git\ncd open-mercato && git checkout develop\ndocker compose up -d                  # starts PostgreSQL, Redis, Meilisearch\ncp apps\u002Fmercato\u002F.env.example apps\u002Fmercato\u002F.env\n# set DATABASE_URL \u002F JWT_SECRET \u002F REDIS_URL in apps\u002Fmercato\u002F.env\nyarn dev:greenfield                   # installs, builds, seeds, starts the app\n```\n\n```powershell\n# Windows (PowerShell as Administrator — or use Git Bash \u002F cmd)\n# 1. Install Node.js 24 MSI from https:\u002F\u002Fnodejs.org\u002Fen\u002Fdownload, then open a new terminal\nSet-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser\ncorepack enable; corepack prepare yarn@4.12.0 --activate\n\ngit clone https:\u002F\u002Fgithub.com\u002Fopen-mercato\u002Fopen-mercato.git\ncd open-mercato; git checkout develop\ndocker compose up -d                  # or use native PostgreSQL + pgAdmin: https:\u002F\u002Fwww.postgresql.org\u002Fdownload\u002Fwindows\u002F\nCopy-Item apps\\mercato\\.env.example apps\\mercato\\.env\n# set DATABASE_URL \u002F JWT_SECRET \u002F REDIS_URL in apps\\mercato\\.env\nyarn dev:greenfield\n```\n\nOpen **http:\u002F\u002Flocalhost:3000\u002Fbackend** — credentials printed in the terminal.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>📦 Standalone app\u003C\u002Fstrong> — build on Open Mercato without touching the core\u003C\u002Fsummary>\n\n```bash\n# macOS \u002F Linux\nbrew install node@24   # or: nvm install 24 && nvm use 24\ncorepack enable && corepack prepare yarn@4.12.0 --activate\n\nnpx create-mercato-app my-app\ncd my-app\ndocker compose up -d                  # starts PostgreSQL, Redis, Meilisearch\n# set DATABASE_URL \u002F JWT_SECRET \u002F REDIS_URL in .env\nyarn setup                            # installs, seeds, starts the app\n```\n\n```powershell\n# Windows (PowerShell as Administrator — or use Git Bash \u002F cmd)\n# 1. Install Node.js 24 MSI from https:\u002F\u002Fnodejs.org\u002Fen\u002Fdownload, then open a new terminal\nSet-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser\ncorepack enable; corepack prepare yarn@4.12.0 --activate\n\nnpx create-mercato-app my-app\ncd my-app\ndocker compose up -d                  # or use native PostgreSQL + pgAdmin: https:\u002F\u002Fwww.postgresql.org\u002Fdownload\u002Fwindows\u002F\n# set DATABASE_URL \u002F JWT_SECRET \u002F REDIS_URL in .env\nyarn setup\n```\n\nOpen **http:\u002F\u002Flocalhost:3000\u002Fbackend** — credentials printed in the terminal.\n\n\u003C\u002Fdetails>\n\n#### Running multiple persistent local instances\n\nTo keep two long-lived local instances pointing at the same PostgreSQL server (e.g. `client-a` next to a stock `open-mercato`), pass an optional database-name override to `yarn dev`, `yarn dev:greenfield`, or `yarn setup`:\n\n```bash\n# Monorepo: explicit database name; .env update is offered (default yes)\nyarn dev:greenfield --database-name=my_db\n\n# Monorepo: derive database name from the current working directory\nyarn dev --database-name\n\n# Standalone app: same flag, applied to .\u002F.env\nyarn setup --database-name=client_a\n\n# One-off run that does not touch .env (current child process only)\nyarn dev --database-name=review_1720 --no-update-env\n```\n\nWithout the flag, behavior is unchanged (no prompt, no `.env` mutation). See the [installation guides](https:\u002F\u002Fdocs.openmercato.com\u002Finstallation\u002Fmonorepo) and [`yarn setup`](https:\u002F\u002Fdocs.openmercato.com\u002Finstallation\u002Fsetup) for details.\n\n#### Reducing dev-mode memory usage\n\n`yarn dev` watches every workspace package by default, and the watcher's memory footprint scales with how many packages it tracks. On smaller machines you can narrow the watch scope so only the packages you actually touch stay live — the active mode is printed with an emoji at startup:\n\n```bash\n# Watch only packages you've touched recently (git working tree + branch diff)\nyarn dev --watch=auto-optimized\nOM_WATCH_SCOPE=auto-optimized yarn dev\n\n# Watch only an explicit set of packages\nOM_WATCH_SCOPE=env OM_WATCH_PACKAGES=core,ui yarn dev\n\n# Watch only the most frequently changed packages (default cap: 6)\nyarn dev --watch=popular\n```\n\nSet `OM_WATCH_SCOPE=all` (or `--watch=all`) to restore watching every package. See [Choosing which packages the watcher tracks](https:\u002F\u002Fdocs.openmercato.com\u002Fappendix\u002Ftroubleshooting) for the full reference, including `OM_WATCH_POPULAR_LIMIT` and the `git`-detection toggles.\n\n---\n\n### Detailed guides (prerequisites, native services, troubleshooting)\n\nEach guide below is self-contained and covers all prerequisites, infrastructure setup (native services or Docker), and every command from zero to a running app.\n\n| | Guide |\n|---|---|\n| 🔧 **Monorepo** — contribute to the core or demo the full platform | [🍎 macOS](https:\u002F\u002Fdocs.openmercato.com\u002Finstallation\u002Fmonorepo#macos) · [🐧 Linux](https:\u002F\u002Fdocs.openmercato.com\u002Finstallation\u002Fmonorepo#linux) · [🪟 Windows](https:\u002F\u002Fdocs.openmercato.com\u002Finstallation\u002Fmonorepo#windows) |\n| 📦 **Standalone app** — build your product without modifying the core | [🍎 macOS](https:\u002F\u002Fdocs.openmercato.com\u002Finstallation\u002Fstandalone#macos) · [🐧 Linux](https:\u002F\u002Fdocs.openmercato.com\u002Finstallation\u002Fstandalone#linux) · [🪟 Windows](https:\u002F\u002Fdocs.openmercato.com\u002Finstallation\u002Fstandalone#windows) |\n| 🐧 **Windows with WSL2** — Ubuntu on Windows: memory config, Docker, GitHub CLI, native Postgres bridging | [WSL2 guide →](https:\u002F\u002Fdocs.openmercato.com\u002Finstallation\u002Fwsl2) |\n| 🐳 **Docker dev** — full containerized dev with hot reload, no local toolchain | [All platforms →](https:\u002F\u002Fdocs.openmercato.com\u002Finstallation\u002Fdocker) |\n| 🚀 **VPS \u002F production** — deploy a full stack to any Linux server | [Deploy guide →](https:\u002F\u002Fdocs.openmercato.com\u002Finstallation\u002Fvps) |\n| 🛠️ **Dev Container** — zero-install VS Code environment | [Setup guide →](https:\u002F\u002Fdocs.openmercato.com\u002Finstallation\u002Fdevcontainer) |\n| ☁️ **Railway** — one-click cloud deployment | [Railway guide →](https:\u002F\u002Fdocs.openmercato.com\u002Finstallation\u002Frailway) |\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd align=\"center\" valign=\"top\">\n      \u003Cstrong>Getting Started for Core Contributions\u003C\u002Fstrong>\u003Cbr\u002F>\u003Cbr\u002F>\n      \u003Ca href=\"https:\u002F\u002Fyoutu.be\u002F-ba8Bmc56EQ\">\u003Cimg src=\"https:\u002F\u002Fimg.youtube.com\u002Fvi\u002F-ba8Bmc56EQ\u002Fhqdefault.jpg\" alt=\"Getting Started for Core Contributions\" width=\"400\"\u002F>\u003C\u002Fa>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\" valign=\"top\">\n      \u003Cstrong>Building Standalone App on Linux\u002FMac\u003C\u002Fstrong>\u003Cbr\u002F>\u003Cbr\u002F>\n      \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=uJn42SLVyI0\">\u003Cimg src=\"https:\u002F\u002Fimg.youtube.com\u002Fvi\u002FuJn42SLVyI0\u002Fhqdefault.jpg\" alt=\"Building Standalone App on Linux\u002FMac\" width=\"400\"\u002F>\u003C\u002Fa>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\" valign=\"top\">\n      \u003Cstrong>How to install Open Mercato on Windows\u003C\u002Fstrong>\u003Cbr\u002F>\u003Cbr\u002F>\n      \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=eX1SqfDPhkU\">\u003Cimg src=\"https:\u002F\u002Fimg.youtube.com\u002Fvi\u002FeX1SqfDPhkU\u002Fmaxresdefault.jpg\" alt=\"How to Install\" width=\"400\"\u002F>\u003C\u002Fa>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n---\n\n### 🤖 Learn AI Engineering like we do!\n\nAll of our experience building this enterprise-grade ERP is distilled into **[open-mercato\u002Fskills](https:\u002F\u002Fgithub.com\u002Fopen-mercato\u002Fskills)** — re-usable, **technology-agnostic** agent skills for autonomous PR creation, code review, CI stabilization, spec writing, integration testing, and merge management.\n\nStack-agnostic — install them all with one command:\n\n```bash\nnpx skills add open-mercato\u002Fskills --skill '*'\n```\n\n[![Open Mercato Skills](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGitHub-open--mercato%2Fskills-181717?logo=github)](https:\u002F\u002Fgithub.com\u002Fopen-mercato\u002Fskills)\n\n---\n\n## Spec Driven Development\n\nOpen Mercato follows a **spec-first development approach**. Before implementing new features or making significant changes, we document the design in the `.ai\u002Fspecs\u002F` folder.\n\n### Why Specs?\n\n- **Clarity**: Specs ensure everyone understands the feature before coding starts\n- **Consistency**: Design decisions are documented and can be referenced by humans and AI agents\n- **Traceability**: Each spec maintains a changelog tracking the evolution of the feature\n\n### How It Works\n\n1. **Before coding**: Check if a spec exists in `.ai\u002Fspecs\u002F` (named `{YYYY-MM-DD}-{title}.md`)\n2. **New features**: Create or update the spec with your design before implementation\n3. **After changes**: Update the spec's changelog with a dated summary\n\n**Naming convention**: Specs use the format `{YYYY-MM-DD}-{title}.md` (e.g., `2026-01-26-sidebar-reorganization.md`)\n\nSee [`.ai\u002Fspecs\u002FREADME.md`](.ai\u002Fspecs\u002FREADME.md) for the full specification directory and [`.ai\u002Fspecs\u002FAGENTS.md`](.ai\u002Fspecs\u002FAGENTS.md) for detailed guidelines on maintaining specs.\n\n### Developing your first Open Mercato app\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd align=\"center\" width=\"50%\" valign=\"top\">\n      \u003Cstrong>How to use Open Mercato CRM as a backend for the custom app\u003C\u002Fstrong>\u003Cbr\u002F>\u003Cbr\u002F>\n      \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=y-lxRrAzbYc&t=1s\">\u003Cimg src=\"https:\u002F\u002Fimg.youtube.com\u002Fvi\u002Fy-lxRrAzbYc\u002Fmaxresdefault.jpg\" alt=\"How to use Open Mercato CRM as a backend for the custom app\" width=\"400\"\u002F>\u003C\u002Fa>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"50%\" valign=\"top\">\n      \u003Cstrong>How to build custom landing page with Open Mercato as a backend\u003C\u002Fstrong>\u003Cbr\u002F>\u003Cbr\u002F>\n      \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=fb47pmH6ojE&t=854s\">\u003Cimg src=\"https:\u002F\u002Fimg.youtube.com\u002Fvi\u002Ffb47pmH6ojE\u002Fmaxresdefault.jpg\" alt=\"How to build custom landing page with Open Mercato as a backend\" width=\"400\"\u002F>\u003C\u002Fa>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\nThese walkthroughs show how to treat Open Mercato as a ready-made business backend while keeping the frontend fully custom. You can start from the built-in CRM data model, expose it through the generated APIs, and then build the customer-facing experience around your product's own design. They are a practical path from the default admin setup to a tailored app or landing page powered by Open Mercato.\n\n### Get started without devops hassle\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd width=\"50%\" valign=\"top\">\n      Start your own Sandbox instance with Claude Code, Codex, Visual Studio Code, and Open Mercato in under 30 seconds.\u003Cbr\u002F>\u003Cbr\u002F>\n      \u003Ca href=\"https:\u002F\u002Fsandboxes.openmercato.com\">Launch a Sandbox instance\u003C\u002Fa>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"50%\" valign=\"top\">\n      \u003Ca href=\"https:\u002F\u002Fsandboxes.openmercato.com\">\u003Cimg src=\"https:\u002F\u002Fimg.youtube.com\u002Fvi\u002FdGdacjG4Ul0\u002Fmaxresdefault.jpg\" alt=\"Open Mercato Sandbox preview\" width=\"400\"\u002F>\u003C\u002Fa>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## Official Modules\n\nOpen Mercato ships with a module system that lets you add features to your app without forking or modifying the platform. The **[Official Modules](https:\u002F\u002Fgithub.com\u002Fopen-mercato\u002Fofficial-modules)** repo is where the community publishes those features.\n\nEvery module there:\n\n- 🔌 **Installs in one command** — no manual wiring, no config files to edit\n- 🔒 **Stays isolated** — each module is its own npm package that hooks into the platform through declared extension points, never by patching core code\n- 🧬 **Is ejectable** — run `--eject` to copy the module into your app and own it fully\n- 🤝 **Gets reviewed** — every submission goes through core team review before reaching npm\n\nWhether 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.\n\n## AI Assistant\n\nOpen Mercato ships with focused AI assistants that open inside the admin pages where your team already works. Agents are scoped by module, permissions, and tool allowlists, and any write is staged behind an explicit approval card before data changes.\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd>\u003Ca href=\"apps\u002Fdocs\u002Fstatic\u002Fscreenshots\u002Fopen-mercato-ai-assistant-available-assistants.png\">\u003Cimg src=\"apps\u002Fdocs\u002Fstatic\u002Fscreenshots\u002Fopen-mercato-ai-assistant-available-assistants.png\" alt=\"AI Assistant global launcher listing available assistants\" width=\"390\"\u002F>\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd>\u003Ca href=\"apps\u002Fdocs\u002Fstatic\u002Fscreenshots\u002Fopen-mercato-ai-assistant-mutations-approvals.png\">\u003Cimg src=\"apps\u002Fdocs\u002Fstatic\u002Fscreenshots\u002Fopen-mercato-ai-assistant-mutations-approvals.png\" alt=\"AI Assistant mutation approval flow\" width=\"390\"\u002F>\u003C\u002Fa>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd style=\"text-align:center;\">Global launcher\u003C\u002Ftd>\n    \u003Ctd style=\"text-align:center;\">Mutation approvals\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\nUse the global launcher to find every assistant you can access, or embed `\u003CAiChat>` directly in module pages for contextual workflows such as customer account exploration and catalog merchandising. Operators can tune prompts, downgrade mutation policies, and disable individual tools per tenant without redeploying.\n\n- [Getting started](https:\u002F\u002Fdocs.openmercato.com\u002Fframework\u002Fai-assistant\u002Foverview)\n- [How to configure it](https:\u002F\u002Fdocs.openmercato.com\u002Fframework\u002Fai-assistant\u002Fsettings)\n- [User guide](https:\u002F\u002Fdocs.openmercato.com\u002Fuser-guide\u002Fai-assistant)\n- [Legacy MCP assistant docs](.ai\u002Fspecs\u002Fimplemented\u002FSPEC-012-2026-01-27-ai-assistant-schema-discovery.md)\n\n## Data Encryption\n\nOpen 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\u002Fdatabase, 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.\n\nArchitecture in two lines: Vault\u002FKMS (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\u002Fuser-guide\u002Fencryption](https:\u002F\u002Fdocs.openmercato.com\u002Fuser-guide\u002Fencryption).\n\n\n## Release Channels\n\n- `latest` is the stable npm channel published from `main`.\n- `develop` is the moving prerelease channel published from pushes to `develop`.\n- Exact snapshot versions remain installable for debugging or rollback when you need to pin one specific build.\n- PR package previews are opt-in. Run the `Package Previews` workflow manually with the PR number, or use the `om-auto-publish-pr` skill \u002F `gh workflow run`, to publish pkg.pr.new previews without publishing to npm. Run `NPM Snapshot Preview` manually only when you need the legacy npm canary snapshot and standalone validation path.\n\nExamples:\n\n```bash\nyarn add @open-mercato\u002Fcore@develop\nnpx create-mercato-app@develop my-app\n```\n\n## Docker Setup\n\nOpen 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:\n\n- 🐳 [Docker dev setup](https:\u002F\u002Fdocs.openmercato.com\u002Finstallation\u002Fdocker) — hot reload, no local toolchain required\n- 🚀 [VPS \u002F production deployment](https:\u002F\u002Fdocs.openmercato.com\u002Finstallation\u002Fvps) — full production stack with security guidance and backup instructions\n- 🛠️ [Dev Container](https:\u002F\u002Fdocs.openmercato.com\u002Finstallation\u002Fdevcontainer) — zero-install VS Code environment (12 GB RAM recommended)\n- ☁️ [Deploy on Railway](https:\u002F\u002Fdocs.openmercato.com\u002Finstallation\u002Frailway) — one-click cloud deployment\n\n## Documentation\n\nBrowse the full documentation at [docs.openmercato.com](https:\u002F\u002Fdocs.openmercato.com\u002F).\n\n- [Introduction](https:\u002F\u002Fdocs.openmercato.com\u002Fintroduction\u002Foverview)\n- [Installation](https:\u002F\u002Fdocs.openmercato.com\u002Finstallation)\n- [User Guide](https:\u002F\u002Fdocs.openmercato.com\u002Fuser-guide\u002Foverview)\n- [Tutorials](https:\u002F\u002Fdocs.openmercato.com\u002Ftutorials\u002Ffirst-app)\n- [Customization](https:\u002F\u002Fdocs.openmercato.com\u002Fcustomization\u002Fbuild-first-app)\n- [Architecture](https:\u002F\u002Fdocs.openmercato.com\u002Farchitecture\u002Fsystem-overview)\n- [Framework](https:\u002F\u002Fdocs.openmercato.com\u002Fframework\u002Fmodules\u002Foverview)\n- [API Reference](https:\u002F\u002Fdocs.openmercato.com\u002Fapi\u002Foverview)\n- [CLI Reference](https:\u002F\u002Fdocs.openmercato.com\u002Fcli\u002Foverview)\n- [Appendix](https:\u002F\u002Fdocs.openmercato.com\u002Fappendix\u002Ftroubleshooting)\n\n## Join us on Discord\n\nConnect with the team and other builders in our Discord community: [https:\u002F\u002Fdiscord.gg\u002Ff4qwPtJ3qA](https:\u002F\u002Fdiscord.gg\u002Ff4qwPtJ3qA).\n\n## 🏆 Hall of Fame\n\nHonoring the champions of the **Open Mercato Agentic Hackathon** — Sopot, 10–12 April 2026.\n\n### 🥇 Team MercatoMinds — 378 pts · 36 PRs\n\n| # | Contributor | GitHub | Points | PRs |\n|---|-------------|--------|-------:|----:|\n| 1 | Michał Strześniewski | [@strzesniewski](https:\u002F\u002Fgithub.com\u002Fstrzesniewski) | 106 | 9 |\n| 2 | Wiktor Idzikowski | [@WXYZx](https:\u002F\u002Fgithub.com\u002FWXYZx) | 93 | 11 |\n| 3 | Adam Kardasz | [@WH173-P0NY](https:\u002F\u002Fgithub.com\u002FWH173-P0NY) | 87 | 7 |\n| 4 | Karol Roman | [@RMN-45](https:\u002F\u002Fgithub.com\u002FRMN-45) | 39 | 3 |\n| 5 | Adam Kanigowski | [@AK-300codes](https:\u002F\u002Fgithub.com\u002FAK-300codes) | 29 | 3 |\n| 6 | Tomasz Jeleszuk | [@Tomeckyyyy](https:\u002F\u002Fgithub.com\u002FTomeckyyyy) | 24 | 3 |\n\nHuge thanks for the incredible energy, craftsmanship, and contributions delivered over the weekend. 🎉\n\n## Contributing\n\nWe welcome contributions of all sizes—from fixes and docs updates to new modules. Start by reading [CONTRIBUTING.md](CONTRIBUTING.md) for branching conventions (`main`, `develop`, `feat\u002F\u003Cfeature>`), release flow, and the full PR checklist. Then check the open issues or propose an idea in a discussion, and:\n\n1. Fork the repository and create a branch that reflects your change.\n2. 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).\n3. Develop and validate your changes (`yarn lint`, `yarn test`, or the relevant module scripts).\n4. Open a pull request referencing any related issues and outlining the testing you performed.\n\nRefer to [AGENTS.md](AGENTS.md) for deeper guidance on architecture and conventions when extending modules.\n\nOpen Mercato is proudly supported by [Catch The Tornado](https:\u002F\u002Fcatchthetornado.com\u002F).\n\n\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fcatchthetornado.com\u002F\">\n    \u003Cimg src=\".\u002Fapps\u002Fmercato\u002F\u002Fpublic\u002Fcatch-the-tornado-logo.png\" alt=\"Catch The Tornado logo\" width=\"96\" \u002F>\n  \u003C\u002Fa>\n\u003C\u002Fdiv>\n\n## CLI Commands\n\nOpen Mercato let the module developers to expose the custom CLI commands for variouse maintenance tasks. Read more on the [CLI documentation](https:\u002F\u002Fdocs.openmercato.com\u002Fcli\u002Foverview)\n\n## Considering a project on Open Mercato?\n\nIf you're planning to build on Open Mercato, don’t go it alone.\n\n### Certified Partner Agencies\n\n**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.\n\nOur mission is simple: ensure every Open Mercato deployment is successful, secure, and scalable.\n\n## License\n\n- MIT — see `LICENSE` for details. Enterprise licensing details are documented in [`packages\u002Fenterprise\u002FREADME.md`](packages\u002Fenterprise\u002FREADME.md).\n\n## Enterprise Edition\n\nOpen Mercato Core is and always will be MIT Licensed, fully Open Source.\n\n### Open Mercato Enterprise Subscription\n\nThe Open Mercato Enterprise Subscription helps ensure your deployment is secure, scalable, and production-ready without surprises before go-live.\n\nIt combines certification, expert reviews, and ongoing advisory support for teams building serious systems on Open Mercato.\n\nWhat’s included:\n- Architecture & Production Readiness\n- Pre-deployment architecture audit\n- Production approval before go-live\n- Hosting and deployment best practices\n- Security & Quality (monthly reviews)\n- Customer Success Manager (pre-go-live)\n- Priority technical support channel\n- Platform Continuity - access to security patches and new features\n\nContact us to get support for your implementation: [info@openmercato.com](mailto:info@openmercato.com)\n\nEnterprise features are delivered under the `@open-mercato\u002Fenterprise` package (`\u002Fpackages\u002Fenterprise`) and are not part of the open source license scope.\n","Open Mercato 是一个面向 AI 工程化的开源基础框架，专为构建生产级业务应用（如 CRM、ERP、OMS、B2B 商城）而设计。它预置了多租户、RBAC、事件流、定价模型、销售管线等架构与领域规范，并内置 AI 可感知的代码生成能力——AI 代理能依据项目结构自动定位代码位置、生成符合设计系统的表单、数据表及带测试的完整功能模块。采用 spec-first 开发模式，确保 AI 输出可复现、可协作、可审查。适用于希望快速交付专业级企业应用、同时保持代码自主权与团队协作效率的技术团队。",2,"trending"]