Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Craftsman Laravel Package

codedungeon/laravel-craftsman

Laravel Craftsman streamlines Laravel scaffolding with powerful Artisan commands for generating models, controllers, migrations, factories, seeders, requests, resources, and tests—complete with useful options—so you can build applications faster.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. codedungeon/laravel-craftsman is a developer-time CLI scaffolding package, not a runtime library. It extends the Laravel Artisan console surface with opinionated generators (models, controllers, migrations, seeders, factories, etc.) that wrap and enrich the native make:* commands. Architecturally this is a low-blast-radius fit: it sits in the console kernel of a conventional Laravel application, assumes standard directory layout, and produces source files the team would otherwise write by hand. It is not intended — and should not be used — as a production dependency, which structurally caps its systemic risk regardless of its maintenance state.

Integration feasibility. The package is MIT-licensed and Composer-installable as a require-dev dependency, so the mechanics are trivial. The real constraint is version currency: the last release was 2020-07-03, which predates Laravel 8's model-directory conventions, Laravel 9/10/11's PHP 8.1+ typed signatures, and several Symfony Console API shifts. Realistically it targets the Laravel 6/7 + PHP 7.x era. Integration feasibility is therefore a timeboxed spike, not a green-lit commitment. The zero-dependents figure reinforces this: nobody in the ecosystem has validated it against modern Laravel, so the burden of proof falls entirely on our spike.

Technical risk. Two distinct risks, with very different magnitudes:

  • Runtime/production risk: effectively nil if scoped to require-dev. No attack surface in deployed artifacts, no runtime performance concern.
  • Compatibility and lifecycle risk: high. Single-maintainer project, no release in ~5 years, no downstream dependents generating bug reports, and a near-certain break on PHP 8.1+/Laravel 9+ due to framework API drift. Adopting it means accepting ownership of an effectively unmaintained tool.

Key questions to resolve before any commitment:

  1. Which Laravel and PHP versions does the last release actually declare and test against? Does it install and run cleanly on our current LTS?
  2. What does it generate that native make:* plus stub:publish (Laravel 9+) does not? Quantify the boilerplate delta.
  3. Is there a maintained fork, or a successor package by the same author?
  4. What is the blast radius if the tool silently emits outdated code patterns (pre-PHP-8 syntax, legacy auth/controller idioms)?
  5. Do we have appetite to fork and maintain, or is this strictly an evaluate-and-decline exercise?

Integration Approach

Stack fit. Appropriate for standard Composer-based Laravel monoliths on the 6/7 generation of the framework. It is a poor fit for anything with non-standard directory structure, Lumen, or projects on Laravel 9+ where native generators have closed much of the gap. Because it only authors files, it composes cleanly with any downstream tooling (linters, static analysis, test suites) — but that also means it adds no structural capability, only ergonomics.

Migration path. Do not rip-and-replace existing workflows. Baseline the native php artisan make:* output for a representative slice of resources (a model with relationships, a resourceful controller, a migration, a factory), then run Craftsman in a scratch branch against the same slice and diff. If the delta is marginal, the native + custom-stub route wins on maintenance economics alone. If Craftsman genuinely saves meaningful boilerplate, the fallback is to fork, pin, and treat it as an internal tool — or extract only the two or three generators worth keeping into project-local Artisan commands. The strategic alternative to evaluate in parallel is laravel-shift/blueprint, which is actively maintained, declarative (YAML-defined schema), and covers the same problem space with a modern support posture.

Compatibility. Install with an exact version pin under require-dev, never floating. Verify it is excluded from production builds (composer install --no-dev in the deploy pipeline) and confirm the PHP matrix in CI. Treat any CI invocation as optional/non-blocking until the tool has proven stable across at least one framework upgrade cycle.

Sequencing.

  1. Spike (1 week): isolated container on our current Laravel/PHP baseline; install, enumerate commands, run the representative slice.
  2. Parity measurement: diff generated output against native generators and against Blueprint for the same slice.
  3. Alternative comparison: score native stubs, Blueprint, and Craftsman on output quality, maintenance burden, and upgrade resilience.
  4. Timeboxed pilot: one team, one feature slice, version-pinned, with a documented exit path.
  5. Decision gate: adopt-and-pin, fork-and-own, or decline and standardize on native stubs/Blueprint. Default bias should be decline absent a clear, quantified win.

Operational Impact

Maintenance. This is the dominant cost. The package is effectively abandoned: no releases since 2020, single maintainer, no dependents to surface regressions. Adopting it transfers maintenance ownership to us — either implicitly (we absorb breakage on every Laravel/PHP upgrade) or explicitly (we fork). That ongoing tax should be weighed against the one-time productivity gain of faster scaffolding, and it rarely nets positive for a tool with a maintained alternative.

Support. No vendor SLA, no security advisory process, community issues only. If adopted, an internal runbook and owner are mandatory: who upgrades it, who fixes breakage, and what triggers removal.

Scaling. There is no production scaling dimension — the tool runs on developer machines and, at most, in ephemeral CI jobs. The scaling concern is organizational: version drift across teams and repositories, onboarding documentation, and keeping generated-code conventions consistent. Pin one version org-wide or don't adopt at all.

Failure modes.

  • Hard break on framework upgrade: fatal errors in console commands after a Laravel or PHP minor jump, blocking the upgrade path until patched or forked.
  • Silent drift: generators emit outdated idioms (pre-PHP-8 syntax, legacy controller/auth patterns) that pass code review because they look plausible, seeding technical debt into every new file.
  • Command confusion: overlap with native make:* creates ambiguity about which tool is canonical; teams diverge.
  • CI fragility: if wired into pipelines, an unmaintained dev dependency becomes a build reliability liability.

Ramp-up. Low friction — the command surface mirrors Artisan conventions, so a Laravel-familiar engineer is productive within a few hours using the README alone. The real cost is not learning the tool; it is the eventual migration off it once compatibility breaks or the team standardizes on native generators. Budget for that exit from day one, and keep adoption shallow enough that the exit is a afternoon's work rather than a quarter's.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels
wazza/laravel-db-encryption
hokny/laravel-generator
vonsogt/backup
jengo/queues
jeremykenedy/laravel-observability
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums