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

Generators Laravel Package

orangehill/generators

OrangeHill Generators provides Artisan-powered scaffolding for Laravel projects, helping developers quickly generate common classes and boilerplate files. It reduces repetitive setup work, speeds up new resource creation, and helps keep application structure consistent.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. orangehill/generators is a developer-time tool, not a runtime library. It registers additional Artisan commands on top of Laravel's built-in Illuminate\Console\GeneratorCommand infrastructure — historically make:scaffold, make:migration:schema, make:pivot, and extended make:model/make:controller variants. Its footprint on the application is limited to a service provider (auto-discovered on Laravel 5.5+, manual registration in config/app.php on 5.0–5.4), a set of stub templates, and the console commands themselves. It ships no middleware, no runtime bindings, and no database or queue surface. That makes it architecturally benign: the worst case is a broken artisan command, not a production incident.

Integration feasibility. Straightforward on the target stack (Laravel 5.x, PHP 5.5.9+/7.x) via composer require --dev. Feasibility degrades sharply outside that window. Laravel 6+ reworked generator internals (stub resolution, qualifyClass, model option handling, published stubs), and PHP 8 tightened type and deprecation behavior; this package predates all of that. Expect it to install but fail at command execution, or fail Composer resolution outright, on Laravel 9+/PHP 8.2. Composer 2 resolution is generally fine if the version constraint is pinned, but do not let it float.

Technical risk.

  • Version lock-in. Constrained to illuminate/support ~5.x. This effectively pins the whole application to a legacy Laravel line if adopted as-is.
  • Abandonment. Zero stars and zero dependents in this snapshot means no community safety net, no upstream triage, and no realistic expectation of a Laravel 10/11 port. Treat it as unmaintained OSS regardless of its MIT license.
  • Value erosion. Laravel 5.5+ absorbed most of the practical value into native flags (make:model -mcr, make:controller --resource --model, make:factory, make:seeder). The residual differentiation is narrow — primarily make:scaffold and inline schema in make:migration:schema.
  • Output divergence. Scaffold output is opinionated and frozen in time. Generated code will drift from current team conventions, and reviewers will spend cycles correcting boilerplate rather than reviewing logic.
  • Supply chain. Small surface, MIT, no transitive weight. Low risk, but pin the exact version and include it in your dependency audit like any other require-dev entry.

Key questions.

  1. Which Laravel and PHP versions are actually in scope — is any part of the estate still on 5.x, or is this purely a greenfield evaluation?
  2. Which specific commands do teams need: full scaffolding, or just schema-in-migration ergonomics?
  3. Is generated code committed and reviewed, or written directly to disk and iterated on?
  4. If the scaffold command is genuinely valuable, is the team prepared to own a small fork with maintained stubs?
  5. Would a maintained alternative (laravel-shift/blueprint, reliese/laravel, or native published stubs) satisfy the requirement with less lock-in?

Integration Approach

Stack fit. Position strictly as a require-dev dependency, excluded from production builds and container images. It is compatible with Laravel 5.0–5.8-era applications on PHP 5.6–7.4. It is not a fit for Laravel 9+ or PHP 8.1+ without a fork. Where the team is already on Laravel 5.5+, evaluate whether native generator flags close enough of the gap that the package is unnecessary — in most cases they do, with make:scaffold as the sole holdout.

Migration path.

  1. Inventory. Catalogue which of the package's commands are actually invoked across the codebase and docs. Expect the list to be one or two commands, not the full set.
  2. Proof of concept. Install in a throwaway Laravel 5.x project on the pinned PHP version; exercise each command actually in use and diff the output against current conventions.
  3. Map to native. For each command, identify the native equivalent or a custom stub. Laravel 7+ offers stub:publish; on 5.x the equivalent is overriding vendor stubs or writing a thin in-house command.
  4. Replace or fork. If make:scaffold remains uniquely valuable, fork it, vendor the stubs, and drop the abandoned upstream dependency. A fork here is small — a handful of commands and templates.
  5. Retire. Remove the package from composer.json, delete residual config, and document the replacement in the contributor guide.

Compatibility. Pin to an exact version (e.g. "orangehill/generators": "3.x.x"), record the tested PHP platform in composer.json under config.platform if the CI image drifts, and add a CI job that runs composer update --dry-run to surface constraint conflicts early. Verify service provider registration explicitly on pre-5.5 applications.

Sequencing. Audit → proof of concept → native-equivalence comparison → adopt/fork/retire decision → codify the outcome in the scaffolding runbook. Run this before any Laravel upgrade initiative, since a framework upgrade will force the decision anyway and it is cheaper to make it deliberately.

Alternatives to weigh. laravel-shift/blueprint for YAML-driven, maintained scaffolding; reliese/laravel for reverse-engineering models from an existing schema; plain published stubs for teams that want full control with zero dependency risk. For any Laravel version from 8 onward, Blueprint is the stronger default.

Operational Impact

Maintenance. No production maintenance burden — the package never runs in production. The cost is developer-experience maintenance: tracking an upstream that will not move, keeping stubs aligned with house style, and re-validating on every PHP or Laravel bump. Assign ownership to the platform or developer-experience function, not to a product team. If a fork is taken, budget a small recurring slice of engineering time; the code volume is modest.

Support. There is no vendor, no active maintainer, and no dependent-community knowledge base in this snapshot. Internal documentation and a pinned version are the entire support story. That is acceptable for a dev tool and unacceptable for anything in the request path.

Scaling. Irrelevant to runtime scaling. The scaling dimension that matters is team consistency: as headcount grows, scaffold output multiplies across repositories. Centralize the stubs or the fork in a shared internal package so ten teams do not produce ten boilerplate dialects.

Failure modes. All failures are developer-local and non-blocking in production:

  • Composer resolution failure on PHP 8 or under stricter Composer 2 constraints.
  • Command not registered due to service-provider auto-discovery mismatch on legacy Laravel.
  • Command throws on execution after a framework upgrade that changed generator internals.
  • Generated code compiles but diverges from current conventions, producing review churn.
  • Silent overwrite of existing files during scaffolding.
  • Stub drift after an upgrade, producing code that references removed framework APIs.

Blast radius in every case is a branch on a developer's machine. The mitigation is documentation plus the native/fork fallback path, not runtime monitoring.

Ramp-up. Low. A Laravel-fluent engineer can evaluate the package and wire up the commands in roughly half a day; producing a maintained fork with updated stubs is a one-to-two-day effort. Onboarding documentation should state plainly which commands are sanctioned, which are deprecated in favor of native flags, and where the stubs live.

Recommendation. Do not adopt on Laravel 6+ or PHP 8+; the compatibility work exceeds the value. On a legacy Laravel 5.x estate, use it narrowly for make:scaffold, pin the version, document the sanctioned commands, and schedule replacement with native flags, published stubs, or Blueprint as part of the next framework upgrade.

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.
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle