logo

Babylon.js Market

Claude Code Plugins

Documentation

3 sections walk through everything Claude Code Plugins ships with. Each one starts with a quick read; click through when you need depth.

  1. 01
    01

    Installation

    Both plugins are distributed through a single marketplace catalog at BabylonJSMarket/claude-plugins. The catalog is just a marketplace.json file that points at the npm packages — there's no separate plugin repo to clone.

    Learn more →
  2. 02
    02

    The Plugins and Their Skills

    Two plugins, each shipping inside its own npm package. The plugin namespace matches the plugin name; skills inside fire by description match.

    Learn more →
  3. 03
    03

    Customizing the Plugins

    When the framework evolves, the plugins evolve in the same commit. Because each plugin rides inside its npm package, there is no separate plugin repo to bump — you edit the skill, bump the package, publish, done.

    Learn more →

Two Plugins, Shipped Inside the Packages

`ecs-framework` rides inside `@babylonjsmarket/ecs`. `arcade-ecs` rides inside `@babylonjsmarket/arcade`. Each plugin lives in its package's `.claude-plugin/` directory and ships with the same `npm publish` that ships the runtime code. The package version *is* the plugin version — they cannot drift.

Two Plugins, Shipped Inside the Packages

Stop Hallucinating the API

By default Claude invents method names that look plausible — `entity.getOrThrow`, `world.eventBus`, `onAttachOverride` on a System. None exist on @babylonjsmarket/ecs. The `ecs-framework:ecs-authoring` skill carries the authoritative method surface derived from source, plus an anti-pattern list that flags the impostors. Generated code uses the real API on the first try.

Stop Hallucinating the API

Scaffold Arcade Games in One Prompt

Type 'scaffold a new top-down arcade game called space-bounce' and the `arcade-ecs:arcade-scaffold` skill routes the request through the package's own CLI — picking the right template, walking through install + dev-server steps, and respecting the same ECS conventions the authoring skill enforces. Same for `add a Skybox component` against an existing project.

Scaffold Arcade Games in One Prompt

One Marketplace, Two Commands

`/plugin marketplace add BabylonJSMarket/claude-plugins` registers the catalog once. Then `/plugin install ecs-framework@babylonjsmarket` and `/plugin install arcade-ecs@babylonjsmarket` install each plugin from its npm package. Future plugins added to the catalog are picked up by `/plugin marketplace update`.

One Marketplace, Two Commands

Convention Drift Killed by Construction

Because the plugin ships inside the npm package, the same publish that introduces a new framework hook also updates the skill that documents it. When `world.getEventBus()` replaces `world.eventBus` in the source, the same commit updates the skill — and `npm publish` ships both. No second release cycle, no plugin repo to remember to bump, no skew between what the skill claims and what the runtime exposes.

Convention Drift Killed by Construction

From MCP Server to Plugin Repo to In-Package

We shipped an MCP server first (`arcade-mcp`) — too much process plumbing. Then a dedicated plugin repo (`claude-plugin-arcade-ecs`) — two release cycles, easy to drift. Now the plugins live inside the npm packages they describe. One release, one source of truth, every consumer of `@babylonjsmarket/ecs` or `@babylonjsmarket/arcade` benefits automatically.

From MCP Server to Plugin Repo to In-Package

Was this page helpful?

We read every note — tell us what's working and what isn't.

↑↓ NavigateEnter SelectEsc CloseCtrl+K Open Search