eject-and-customize

Guide developers through ejecting and customizing Open Mercato core modules.

1.6k|354|Updated Sep 10, 2025
One-click install
npx skills add https://github.com/open-mercato/open-mercato --skill eject-and-customize
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: eject-and-customize
Source: https://github.com/open-mercato/open-mercato/tree/main/packages/create-app/agentic/shared/ai/skills/eject-and-customize
Command: npx skills add https://github.com/open-mercato/open-mercato --skill eject-and-customize

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides a structured guide for developers who need to modify Open Mercato's core modules when standard extensions are insufficient, ensuring changes are tracked and manageable.

Core Features & Use Cases

  • Module Ejection: Safely copy core modules into your project for direct modification.
  • Customization Guidance: Offers best practices for modifying ejected modules, distinguishing between safe and dangerous changes.
  • Upgrade Strategy: Details how to merge upstream changes into your customized modules.
  • Use Case: A developer needs to alter the fundamental pricing calculation logic within the catalog module, a change too deep for standard UMES extensions.

Quick Start

Use the eject-and-customize skill to eject the 'catalog' module.

Frequently Asked Questions about eject-and-customize

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I modify core Open Mercato modules when standard extensions are insufficient?

To modify Open Mercato core modules when extensions fall short, you safely eject the required module into your project for direct alteration. This process involves pre-ejection analysis to identify safe modification zones before copying and customizing the core logic.

When do I need to eject a core module instead of using UMES extensions?

You need to eject a core module when UMES extensions cannot handle the required depth of changes. Ejection is necessary for scenarios involving schema changes, core business logic alteration, or modification of built-in form elements.

What is the safest way to alter core business logic in an ejected module?

The safest way to alter core business logic is to distinguish between safe and dangerous modification zones after ejecting. You must carefully track all customizations to ensure modifications remain manageable and do not break critical system functions.

How do I merge upstream changes into customized Open Mercato modules?

To merge upstream changes into customized Open Mercato modules, you apply specific upgrade strategies designed for ejected modules. This ensures your local customizations are preserved while integrating necessary core updates from the platform.

Can I safely change the database schema by ejecting and customizing core modules?

Yes, you can safely change the database schema by ejecting and customizing core modules. The ejection process enables deep structural modifications like schema changes that are impossible through standard UMES extension points.

What should I analyze before ejecting a core Open Mercato module?

Before ejecting a core Open Mercato module, you should analyze the specific code boundaries to identify safe and dangerous modification zones. This pre-ejection analysis ensures your customizations remain structurally isolated and manageable.