openforgeproject/mageforge
MageForge is an OpenForgeProject Laravel/PHP package that streamlines Magento module development. It offers Laravel-style generators and a fluent workflow for scaffolding, organizing, and maintaining custom Magento 2 code, making it easier to build and extend Magento stores with familiar PHP tooling...
MageForge is a CLI toolchain aimed at Magento 2 codebases, but it lives in the same Composer/PHP world as Laravel, so the onboarding is familiar.
composer require --dev openforgeproject/mageforge
MageForge Inspector actions) that lists every available command. Run the binary with no arguments (or ./vendor/bin/mageforge) and browse the menu before reading docs; it's the fastest way to discover what the tool actually does in your project.vendor:publish-style command or created on first run) — check it in, minus machine-specific paths.artisan vendor:publish, but for view templates.If you're a Laravel dev dipping into a Magento codebase for an integration, start with the Inspector menu, then use the override command; those two alone remove most of the "where does this file go" friction.
Menu-driven exploration, scripted execution. The interactive menu (new in 0.28.0) is for humans; every action underneath is a discrete command. Discover in the menu, then copy the equivalent non-interactive invocation into your scripts/CI so runs are reproducible.
Template overrides as a repeatable step. Rather than committing hand-copied templates, treat the override command as the canonical way to introduce a template customisation. Chain it into a project bootstrap script so new environments/teammates get identical overrides.
Dependency updates as a pipeline, not a chore. 0.28.0 lands three related pieces:
dependency updater command — updates dependencies on demand.auto dependency updater — runs the update path automatically (scheduled/CI).The pattern that works: let the auto updater open PRs on a schedule, keep the cooldown on, and review the generated composer.json/composer.lock diff like any other dependency PR. Don't let it push straight to main.
Wrap it for Laravel-side teams. If your Laravel app orchestrates or seeds a Magento storefront, expose the handful of MageForge commands you actually use as thin artisan commands or Composer scripts ("post-install-cmd", "scripts": {"mage:override": "..."}). Keeps the team in one mental model and one command surface.
Keyboard shortcuts config (0.28.0). Commit the shortcuts config alongside the rest of the tool config so the whole team gets the same menu bindings — it's a shared dev-environment artifact, not a personal preference file.
composer run contexts without a terminal. Always call the underlying command explicitly in automation; if a command only exists inside the menu, that's a gap worth an issue.git status before and after; prefer running it on a clean tree, then diffing.peter-evans/create-pull-request — a reminder that if you vendor or mirror these workflows, pin by SHA and re-check pins on upgrade.How can I help you explore Laravel packages today?