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

Command Extra Bundle Laravel Package

pk/command-extra-bundle

Adds a set of extra console commands to Laravel/PHP applications, extending Artisan with handy utilities for common development and maintenance tasks. Drop-in service provider registration keeps setup minimal, with commands designed to be simple to configure and extend for your own workflow.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit — poor, and the mismatch is categorical. Despite being filed under a Laravel/PHP package feed, pk/command-extra-bundle is a Symfony2 bundle, not a Laravel package. It targets the Symfony 2.x FrameworkBundle/DependencyInjection extension model and decorates Symfony\Component\Console\Command behavior. Laravel's Artisan is a thin wrapper over symfony/console, so the leaf helpers may be portable, but the bundle scaffolding (service container registration, bundle class, config tree) has no equivalent in a Laravel app and would be discarded wholesale. Any adoption is really "read 300 lines of source and reimplement," not "install a dependency."

Integration feasibility — low. Zero stars, zero dependents, archived, and last shipped in January 2016 means effectively no evidence of production use anywhere. There is no maintainer response path, no issue history worth trusting, and no downstream project to validate behavior against. For a TPM, the honest read is that feasibility is determined entirely by the cost of a manual port, which is a one-to-two-day spike at most given the likely scope of a "flavor" utility bundle.

Technical risk — high but bounded. The risk is not runtime danger; it is compatibility decay. Code written against Symfony 2.x console APIs predates Symfony 3/4/5/6/7 console changes and PHP 8.x typing, and some of the output/formatting helpers it likely wraps (TableHelper, ProgressHelper, DialogHelper) were deprecated in Symfony 2.5+ and removed in Symfony 3.0 in favor of Table, ProgressBar, and QuestionHelper. A modern Laravel app runs Symfony 6/7 console under PHP 8.2+, so a meaningful fraction of the bundle's surface may not even exist as callable APIs today. There is also an unpatchable security posture: no maintainer, no CVE response, no coordinated disclosure.

Key questions for the spike:

  1. What is the actual feature surface? Inventory every public method and classify as (a) still exists in Symfony 6/7, (b) removed, (c) trivially replaceable by first-party tooling.
  2. Which capabilities are already covered by maintained, actively developed equivalents — laravel/prompts, nunomaduro/termwind, symfony/console Table/ProgressBar/QuestionHelper, and Laravel's own $this->components API introduced in Laravel 9?
  3. Is there a licensing or attribution constraint on copying code into an internal package?
  4. Does any consumer-facing behavior depend on the exact output formatting this bundle produces?
  5. What is the cost of the port versus the cost of simply not having these helpers?

Recommendation: do not adopt as a dependency. Treat it as a reference implementation — a short read for UX ideas about command output — and nothing more.

Integration Approach

Stack fit — none at the package level, partial at the idea level. The bundle cannot be composer required into a Laravel project in any supported way. There is no service provider, no facade, no config publish, and the Symfony bundle registration contract will not be invoked. Integration only happens by extracting the techniques, not the code.

Migration path — extract, reimplement, or replace. Three viable routes, in descending order of preference:

Route Description Effort Recommendation
Replace with maintained tooling Map each bundle feature to laravel/prompts, Termwind, or $this->components 0.5–1 day Preferred
Port to an internal package Reimplement surviving helpers as an Artisan trait/service in a private package 2–4 days Only if a specific behavior is genuinely unavailable
Vendor the source Copy files in and patch 3–5 days + permanent ownership Avoid — inherits dead APIs and unclear provenance

Compatibility. Target PHP 8.2+, Laravel 10/11+, Symfony Console 6.x/7.x. Assume every 2016-era console helper call needs rewriting; do not plan for a compatibility shim, since there is no upstream to shim toward. Verify the bundle's license (likely MIT given the era and author) before any code reuse, and record attribution if you port.

Sequencing.

  1. Day 1 — Inventory spike. Read the source end to end, produce a feature matrix against current first-party Laravel/Symfony capabilities. Kill criterion: if ≥80% of features map to maintained tooling, stop here.
  2. Day 2 — Gap decision. For each genuine gap, write a one-paragraph justification against "do nothing." Most command-output niceties fail this test.
  3. Days 3–5 — Prototype. Only if a gap survives, prototype as an internal trait behind a feature flag in a single non-critical command.
  4. Week 2 — Promote or discard. Ship internally if the prototype holds; otherwise close the ticket and document the decision.

Operational Impact

Maintenance — you become the maintainer on day one. Upstream is archived with no release in roughly a decade. Every future PHP or Symfony Console upgrade is your remediation work, on code you did not write, for a feature you could have built in an afternoon. This is the dominant cost and it is perpetual, not one-time.

Support — zero. No maintainer, no community, no dependents to consult, no Stack Overflow corpus. Internal tribal knowledge is the only support channel, and it evaporates with staff turnover. Document any adopted behavior in an ADR.

Scaling — not a concern. Console helpers are dev/ops-time code executed on developer laptops and CI runners. No request-path throughput, memory, or concurrency implications. This dimension is genuinely neutral and should not influence the decision.

Failure modes.

  • Silent formatting drift — output helpers change or vanish across Symfony major versions; commands still run but produce malformed or uncolored output, breaking log scrapers or CI assertions keyed on output.
  • Fatal on upgrade — a removed class (DialogHelper, TableHelper, ProgressHelper) yields a hard Class not found on the next framework bump, discovered at deploy time on a tooling path that lacks test coverage.
  • Dependency resolution conflict — old constraints pinning symfony/console to 2.x/3.x will fight Laravel's own requirements and can block unrelated upgrades.
  • Provenance and licensing ambiguity — code copied from an abandoned repo without a recorded license creates friction in any future audit or acquisition diligence.
  • Knowledge concentration — a bespoke port of an obscure bundle is a bus-factor-one artifact.

Ramp-up — low skill cost, non-trivial archaeology cost. Any mid-level Laravel engineer can reimplement command output helpers in hours. The expensive part is deciding what to keep, which requires reading a decade-old codebase and mapping it against tools that did not exist when it was written. Budget the spike as a discovery exercise with a real chance of a "no-build" outcome, and set that expectation with stakeholders up front.

Bottom line. The opportunity signal here is misleading — an abandoned zero-star Symfony2 bundle offers no leverage for a Laravel team in 2025. The correct TPM action is a two-day evaluation capped by a hard kill criterion, defaulting to "use maintained first-party tooling," with adoption only if a specific, defensible capability gap survives scrutiny.

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.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource