juzaweb/dev-tool
JuzaWeb Dev Tool is a Laravel development toolkit for the JuzaWeb CMS. It provides artisan commands and scaffolding helpers to quickly generate plugins, themes, controllers, models, and CRUD modules, speeding up addon development and simplifying common backend tasks for package authors.
juzaweb/dev-tool is a decision not to build a homegrown generator suite. For a Juzaweb-based product, that's usually the right trade: the generators encode CMS conventions you'd otherwise have to reverse-engineer and document yourself. The counter-decision — building your own — is only justified if you need materially different arguments, output layouts, or non-Juzaweb targets.GithubReleaseModuleCommand supports a decision to automate releases from CI on tag push with a repo-scoped token. That's a process choice (no laptop publishing, no manual changelog steps) that a PM cares about because it affects release cadence and incident risk..stub formatting — a signal that generated code and stubs are a real source of style drift. This supports a decision to run pint --test in your pipeline and to exclude .stub files from normal formatting.DownloadStyleCommand used as a build step, not ad hoc), and thin wrapper commands (app:make-block) that hide package flags from developers. If none of these map to your backlog, the package has no product surface for you.Adopt when all of the following hold:
require-dev addition with no production runtime footprint — it's Artisan commands and helpers, not a runtime library.^2.0, let low-risk patches through, and keep an exit plan. This is a single-maintainer, low-star package; treat it as a convenience layer, not a foundation.Look elsewhere or skip when:
make:* commands, a mature generator package, or an in-house tool with your exact conventions.local/testing, don't adopt it.Specific risks to weigh in the decision: command-name collisions (dump, make:*) with framework or other packages' commands — verify with php artisan list after install; stale-cache failure modes in DownloadStyleCommand since PR #23 added content caching, which makes a bad first download persist; and the need to re-verify published stubs after upgrades because .stub/Pint interactions changed in 2.0.5.
To executives: This is a small, free, dev-only dependency that removes repetitive boilerplate from our engineering workflow. It costs nothing at runtime, ships no customer-facing code, and is installed as a development dependency — so the risk profile is low and the upside is measured in developer hours and consistency, not in new features. The trade-off is ecosystem lock-in: it's built for Juzaweb projects and maintained by a single author, so we should treat it as a convenience, pin the version, and keep it out of anything critical. Recommendation: pilot it on one module-scaffolding workflow, measure whether generated output actually saves review and writing time, then decide whether to make it standard.
To engineering: It gives us Artisan generators for page blocks, modules, and agents, plus file/stub generation helpers, an asset downloader with content caching, a dump command, and GitHub release automation. The right way to use it is: customise stubs and config, wrap the generators in our own thin task commands so developers don't memorise flags, run pint --test in CI so generated output matches house style (and keep .stub out of Pint's normal formatting), and drive GithubReleaseModuleCommand from CI on tag push with a repo-scoped token — never from a laptop. Gate registration to local/testing so nothing boots in production. 2.0.5 is tests, refactors, caching, and CI only — no breaking changes, no new user-facing behaviour — so it's a safe patch bump. Upgrade cadence: pin ^2.0, let patches through, and re-check published stubs after each upgrade since the .stub/Pint interaction changed. Treat generated code as a starting point and review the diff; never commit generator output unreviewed.
How can I help you explore Laravel packages today?