Om Auto Upgrade 0.4.10 To 0.5.0 logo

Om Auto Upgrade 0.4.10 To 0.5.0

OrganizationPopular
open-mercato
om-auto-upgrade-0.4.10-to-0.5.0

Migrate a standalone Open Mercato app from framework 0.4.10 to 0.5.0. This release is the biggest Open Mercato release so far and bundles 250+ post-Hackathon fixes plus several important dependency upgrades, so this skill acts as the executable companion to the 0.5.0 upgrade notes. It mechanically applies the documented codemods for the 0.4.10 → 0.5.0 window — Meilisearch class rename, Stripe API-version typing, lucide-react brand-icon removals and metadata-icon safety fixes, react-markdown className wrap, cron-parser `CronExpressionParser.parse` rename, @simplewebauthn Uint8Array narrowing, react-email CLI rename, plus the Jest ESM allow-list. Runs inside the user's app, detects which patterns are actually in use, edits files in place, typechecks, and reports what was migrated and what still needs a human eye. Use when a user asks to "upgrade my Open Mercato project from 0.4.10 to 0.5.0", "bump open-mercato to 0.5.0", or "apply the 0.5.0 upgrade notes".

Overview

Publisheropen-mercato
Repositoryopen-mercato
Skill nameom-auto-upgrade-0.4.10-to-0.5.0
Stars
1.8K
Forks
415
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by open-mercato on GitHub. Read the source before you install it.

Installation

Install the Om Auto Upgrade 0.4.10 To 0.5.0 AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/open-mercato/open-mercato.git /tmp/open-mercato
mkdir -p .claude/skills
cp -r /tmp/open-mercato/packages/create-app/agentic/shared/ai/skills/om-auto-upgrade-0.4.10-to-0.5.0 .claude/skills/om-auto-upgrade-0.4.10-to-0.5.0
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Om Auto Upgrade 0.4.10 To 0.5.0 in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Om Auto Upgrade 0.4.10 To 0.5.0 on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Om Auto Upgrade 0.4.10 To 0.5.0 is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

auto-upgrade-0.4.10-to-0.5.0

Apply the Open Mercato 0.4.100.5.0 dependency-upgrade codemods to this standalone application.

Context for this window:

  • 0.5.0 is the biggest Open Mercato release so far
  • it includes more than 250 fixes and improvements after the Hackathon in Sopot
  • several important dependency upgrades landed in the same release, which is why dedicated upgrade notes and this companion skill were added

Scope

This skill operates on the current standalone app created with create-mercato-app or any downstream app that depends on @open-mercato/*.

It applies the mechanical parts of the upgrade. It does NOT bump the @open-mercato/* dependencies themselves — that is still the user's pinning decision. Run this skill after the user bumps their dependencies and runs yarn install.

When to use

  • User says: "upgrade Open Mercato from 0.4.10 to 0.5.0", "bump open-mercato to 0.5.0", "migrate my code for the new open-mercato version", "apply the 0.5.0 upgrade notes".
  • After the user changes their @open-mercato/* pins from 0.4.10 to 0.5.0 and runs yarn install.

When NOT to use

  • The user is on a version older than 0.4.10 or newer than 0.4.10 targeting 0.5.0. Use or create the matching auto-upgrade-<from>-<to> skill instead.
  • The user wants to upgrade deferred majors such as MikroORM 6 → 7, TypeScript 5 → 6, or Awilix 12 → 13.

Arguments

  • --path <dir> (optional) — root of the standalone app. Default: current working directory.
  • --dry-run (optional) — print planned edits without writing.
  • --skip <id[,id...]> (optional) — skip specific codemods by id.
  • --only <id[,id...]> (optional) — run only specific codemods.

Codemods

idWhat it doesDetect
meilisearch-class-renameMeiliSearchMeilisearch in imports, new calls, type refsgrep \bMeiliSearch\b excluding imports of meilisearch-js-plugins
meilisearch-jest-esmAdd transformIgnorePatterns allow-list to Jest configfile jest.config.{cjs,js,ts,mjs} exists and doesn't already allow-list meilisearch
stripe-api-version-typeReplace as Stripe.LatestApiVersion with as StripeConfig['apiVersion'] and inject the StripeConfig type aliasgrep Stripe\.LatestApiVersion
stripe-retrieve-currentstripe.accounts.retrieve() with no args → stripe.accounts.retrieveCurrent()grep \.accounts\.retrieve\(\s*\)
lucide-brand-iconsReplace LinkedinBriefcase, TwitterAtSign in lucide-react imports and usages, with a TODO comment asking the user to confirm semanticsgrep from 'lucide-react' that pulls Linkedin or Twitter
lucide-metadata-iconsIn metadata-like server files, replace Lucide component references used as icon values with kebab-case icon names when the mapping is unambiguousgrep icon: in page.meta.ts, nav config, or backend chrome config files that also import from lucide-react
react-markdown-classname-wrapWrap <ReactMarkdown className=\"...\">...</ReactMarkdown> in a parent <div className=\"...\"> and remove the direct className propAST find JSX ReactMarkdown elements with a className prop
cron-parser-apiimport parser from 'cron-parser' + parser.parseExpression(...)import { CronExpressionParser } from 'cron-parser' + CronExpressionParser.parse(...)grep cron-parser
simplewebauthn-uint8arrayAdd .slice() to new TextEncoder().encode(...) and new Uint8Array(Buffer.from(...)) results passed into @simplewebauthn/server helpersgrep @simplewebauthn/server plus the constructors in the same file
react-email-cliRename email CLI usage in package.json scripts to react-emailgrep "email " or `"email\

Workflow

0. Gate checks

bash
test -f package.json || { echo "Not a Node project — aborting"; exit 1; }
grep -q '"@open-mercato/' package.json || {
  echo "No @open-mercato/* dependency found — is this the right repo?"; exit 1;
}

grep -q '"@open-mercato/core": "\^\\?0\\.5\\.0"' package.json || \
  echo "⚠️  @open-mercato/core is not pinned to 0.5.0 — run this skill after bumping."

If the version check warns, ask the user to confirm before editing.

1. Detection scan

For each codemod id in the table above, run its detection grep or AST query and build a PlannedEdits list: { codemodId, filePath, before, after }.

Skip codemods with no matches. Print the plan before editing:

text
Codemod                            Matches  Files
meilisearch-class-rename           3        src/search/client.ts, src/search/admin.tsx
lucide-brand-icons                 2        src/components/SocialLinks.tsx
cron-parser-api                    1        src/jobs/reminder.ts

Ask the user to confirm, unless the user explicitly requested an automatic run.

2. Apply codemods

Rules:

  • One minimal edit per file where practical. Do not rewrite whole files when a targeted edit is enough.
  • Preserve indentation, surrounding comments, and import ordering.
  • For AST-shaped codemods such as react-markdown-classname-wrap and stripe-api-version-type, read the file first and then make the smallest correct edit.
  • For lucide-brand-icons, add a one-line follow-up comment above the substituted usage:
tsx
// TODO(open-mercato 0.5.0): lucide-react v1 removed brand icons; Briefcase is a generic substitute

3. Post-edit verification

Run in this order and stop at the first failure:

bash
yarn tsc --noEmit 2>&1 | tail -40

If tsc fails with errors clearly caused by a codemod, roll back that codemod and add it to the manual follow-up list. Do not auto-revert unrelated pre-existing errors.

If the app has a Jest config, run:

bash
yarn test 2>&1 | tail -20

If tests fail with meilisearch ESM import errors, make sure the meilisearch-jest-esm codemod applied.

4. Report

Print a final summary with:

  • applied codemods
  • skipped codemods
  • manual review items
  • validation results
  • exact edited file paths

Suggested close-out structure:

text
Upgrade 0.4.10 → 0.5.0 complete.

Applied:
  ✅ meilisearch-class-rename
  ✅ cron-parser-api
  ✅ lucide-brand-icons — review the TODO comments

Needs human review:
  ⚠️ src/components/SocialLinks.tsx — confirm the generic icon replacement.

Validation:
  yarn tsc --noEmit ✅
  yarn test ✅

5. Out of scope

Flag these for manual handling instead of editing them automatically:

  • recharts 2 → 3
  • rate-limiter-flexible 9 → 11
  • framer-motion 11 → 12
  • esbuild 0.25 → 0.28
  • eslint 9 → 10
  • AI SDK major migrations
  • deferred majors such as MikroORM 7, TypeScript 6, or Awilix 13

Rules

  • Never edit node_modules/, .yarn/, dist/, .next/, or build/.
  • Never regenerate yarn.lock; dependency installation belongs to the user's yarn install step.
  • Every codemod must be idempotent.
  • If a codemod is not unambiguous, skip it and add it to manual follow-up.
  • Always include the exact list of edited files in the final report.

Frequently asked questions

What does the Om Auto Upgrade 0.4.10 To 0.5.0 AI skill do?

Migrate a standalone Open Mercato app from framework 0.4.10 to 0.5.0. This release is the biggest Open Mercato release so far and bundles 250+ post-Hackathon fixes plus several important dependency upgrades, so this skill acts as the executable companion to the 0.5.0 upgrade notes. It mechanically applies the documented codemods for the 0.4.10 → 0.5.0 window — Meilisearch class rename, Stripe API-version typing, lucide-react brand-icon removals and metadata-icon safety fixes, react-markdown className wrap, cron-parser `CronExpressionParser.parse` rename, @simplewebauthn Uint8Array narrowing...

Why use Om Auto Upgrade 0.4.10 To 0.5.0 on TypingMind?

Because you install it once and use it with any model. Om Auto Upgrade 0.4.10 To 0.5.0 is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Om Auto Upgrade 0.4.10 To 0.5.0 in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/open-mercato/open-mercato/tree/main/packages/create-app/agentic/shared/ai/skills/om-auto-upgrade-0.4.10-to-0.5.0. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Om Auto Upgrade 0.4.10 To 0.5.0?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Om Auto Upgrade 0.4.10 To 0.5.0?

As many as you like. As long as a model supports skills, you can use Om Auto Upgrade 0.4.10 To 0.5.0 with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Om Auto Upgrade 0.4.10 To 0.5.0 AI skill free?

Yes. It is published on GitHub by open-mercato under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇