Chat on WhatsApp
Free · Runs in your browser · Zero data leaves your machine

Generate a Claude-Code-ready Magento module — in 30 seconds

Configure the form. Watch the file-tree fill in. Click Download. Drop the ZIP into app/code/, run bin/magento setup:upgrade, and you’re working with PSR-12-clean Magento boilerplate plus a project-tuned CLAUDE.md + slash-commands ready for Claude Code on day 0.

  • 100% client-side. No upload, no API key, no telemetry.
  • Up to 18 files: registration · module.xml · db_schema · ACL · MFTF · CLAUDE.md · slash-commands.
  • Marketplace-aligned boilerplate. Edit names + descriptions in < 5 min after download.
Builder

Configure your module

Every input below is reactive — the file tree on the right rebuilds as you type. Nothing is sent anywhere; the ZIP is assembled in your browser and saved locally.

Describe your module (smart-fill)

Type plain English. Click Smart-fill — keywords like "admin grid", "cron", "email", "plugin around", "GraphQL", "Hyvä", "queue", "indexer" toggle options + add rows below.

Quick-start presets
Identity
Stack
Includes — Magento boilerplate
Includes — quality + AI workflow

Each table generates db_schema.xml entries + whitelist + an idempotent seed patch.

Each grid emits routes + acl + menu + controller + UIComponent listing + DataProvider.

UIComponent admin form + DataProvider + Save/Delete controllers per entity.

Routes XML + controller + layout + ViewModel + Luma/Hyvä template per row.

email_templates.xml + .html template + EmailSender helper per row.

crontab.xml + Cron/<JobName>.php with LockManagerInterface.

etc/<area>/events.xml + Observer/<Name>.php per row.

etc/di.xml <type> entries + Plugin/<Name>.php with correct method signature.

system.xml + config.xml defaults per group.

communication + queue_consumer + queue_topology + queue_publisher + Consumer class.

indexer.xml + mview.xml + Model/Indexer/<Name>.php (ActionInterface).

cache.xml + cache instance class implementing FrontendInterface bridge.

Tip: ⌘ + Enter to download

Vendor and Module must be PascalCase letters/digits only.

Inside the ZIP

Honest, hand-tuned Magento boilerplate

Every file is generated from a template I refined across 60+ shipped Magento extensions. No filler comments, no placeholder TODOs you have to delete, no dead code.

  • Magento-correct on first compile

    registration.php, composer.json, module.xml, di.xml — all aligned to your Magento version. Sequence on Magento_Catalog, PSR-12 ready, PHP 8.x type hints.

  • Declarative schema, never raw SQL

    Optional etc/db_schema.xml + db_schema_whitelist.json. Sample table with idempotent DataPatchInterface seed — the patch pattern Adobe’s own modules use.

  • ACL + admin-grid done right

    When you check “Admin grid”, you get etc/acl.xml, etc/adminhtml/menu.xml, etc/adminhtml/routes.xml, the controller stub, and a UIComponent listing — all the bits Magento needs to render an admin page.

  • CLAUDE.md tuned to your module

    Drops your Vendor + Module name straight into a hard-rules file. Locks Claude into PSR-12, phpcs Magento2, no-vendor-edits, plugins-over-rewrites, db_schema not raw SQL, MFTF + PHPUnit alongside features.

  • Slash-commands ready to use

    .claude/commands/scaffold-feature.md, .claude/commands/run-tests.md, plus a .claude/settings.json permission whitelist. Type /scaffold-feature in Claude Code — it knows your module’s shape.

  • Tests, not afterthoughts

    Optional MFTF action + a PHPUnit test that actually runs (it asserts the module is registered and a sample service-class method works). The skeleton ships green.

After download

Three commands to running

1

Unzip into app/code/

unzip  -d app/code/
2

Enable + setup:upgrade

bin/magento module:enable 
bin/magento setup:upgrade --keep-generated
3

Open in Claude Code

cd app/code/
claude

Claude reads the generated CLAUDE.md on first launch and follows your project rules from there. Try /scaffold-feature as your first prompt.

FAQ

Honest answers about the generator

Is this really free? What’s the catch?

Genuinely free, no signup, no email gate. The page is a static HTML/JS bundle running on this Magento store; the ZIP build happens entirely in your browser using JSZip. No telemetry, no API key, no upload. The catch (if you want to call it that): if you want the module shipped, tested, and Marketplace-pass rather than just scaffolded — that’s what I do for a living.

Where does my form data go?

Nowhere. The form values, the file templates, and the ZIP-build all run inside your browser tab. Open the network tab in dev-tools while you click Download — you’ll see zero outbound requests. Only the page itself was loaded from this server. The optional Share config link button encodes your form state into a URL locally and copies it to your clipboard; it’s only sent anywhere if you choose to paste and share it.

Will the generated module actually compile and activate?

Yes. Every template is hand-written from 60+ shipped Magento extensions and tested end-to-end — the output passes phpcs --standard=Magento2, phpstan --level=6, and bin/magento module:enable + setup:upgrade on a clean Magento 2.4.4 – 2.4.9 install. Drop the unzipped folder into app/code/<Vendor>/<Module>/, run the three commands shown on this page, and your module is registered.

What do you mean by “2050-grade”?

Honestly, marketing speak. What I actually mean: every optional flag generates the modern Magento pattern, not the legacy one.

  • Service Contracts — Api/Data interfaces + Repository, the way Adobe’s own modules ship.
  • GraphQL schema — declarative queries + mutations + filters, wired to the Repository.
  • etc/webapi.xml — REST CRUD that re-uses the same Repository (no duplicated logic).
  • GitHub Actions CI — phpcs + PHPStan + PHPUnit gates on every push.
  • Sub-agents.claude/agents/code-reviewer.md + test-writer.md, ready for Claude Code to spawn in parallel.
  • Conventional Commits + SemVer + CHANGELOG — release-ready from day 0.
Should I use a preset or build from scratch?

Use a preset to set the right baseline, then tick / untick individual options. Recommended starting points:

  • Hyvä storefront — Tailwind + Alpine.js, no Luma cruft.
  • B2B with API — service contracts + REST + GraphQL, no storefront.
  • Marketplace-pass — everything on, EQP-aligned.
  • Minimal — just registration.php + module.xml + a tuned CLAUDE.md. For when you want to build the rest yourself.
Can I customise the templates the generator uses?

The templates live as JavaScript string-literals inside the /claude page’s phtml — not behind a build step. Right-click → View source, search for templates(). Every template is one function returning a string. If you want changes upstreamed, open a PR or email me — the page is open-source-friendly even though the site itself isn’t licensed publicly.

How does the “Share config link” button work?

It encodes every form field (vendor, module name, description, version, frontend, type, and the 16 option toggles) into URL query parameters and copies the resulting URL to your clipboard. Send the link to a teammate — when they open it, the form pre-fills with the exact same configuration. Useful for “here’s the module spec, just download the ZIP” handoffs.

How does this help me on day 0 with Claude Code?

The generated CLAUDE.md is pre-filled with your Vendor/Module names, your Magento version, your frontend choice, and a hard-rules block that locks Claude into PSR-12, phpcs Magento2, no-vendor-edits, plugins-over-rewrites, db_schema not raw SQL, MFTF + PHPUnit alongside features. The .claude/commands/scaffold-feature.md and .claude/commands/run-tests.md slash-commands are ready to invoke. Open the unzipped folder in claude, type /scaffold-feature, and you’re shipping. Full setup guide here.