gonzakpo/comun
Comun is a Laravel/PHP package that bundles reusable common helpers and utilities for everyday development, helping reduce boilerplate, keep code consistent, and share practical functionality across projects.
Architecture fit — poor, and effectively non-existent for Laravel. Despite being catalogued alongside Laravel/PHP packages, gonzakpo/comun is a Symfony bundle (ComunBundle), not a Laravel package. It ships a Symfony Bundle subclass, DI extension/compiler passes, and Symfony-ecosystem helpers. Laravel has no bundle-registration concept; its equivalents are service providers, facades, and config publishing. There is no drop-in path — anything reused must be re-hosted inside a Laravel ServiceProvider with translated container bindings.
Integration feasibility — low. A viable integration would require, at minimum:
Bundle + Extension registration with an Illuminate\Support\ServiceProvider and a publishable config file.singletons.Illuminate\Events, Illuminate\Http, Blade, Illuminate\Validation). Twig extensions are the only piece with a plausible bridge (via twigbridge), and even that is a net-new dependency.The description — "soluciones a circunstancias comunes" — is too vague to scope. There is no evidence of a README, test suite, or documented API surface. Before any estimate, the actual feature inventory must be read from source.
Technical risk — high.
gonzakpo/comun) and repository (ComunBundle) disagree, which usually correlates with ad-hoc publishing and no CI. Expect no composer.json constraint discipline, no composer audit cleanliness, and no provide/replace correctness.composer audit on day one, creating permanent noise or a policy exception. MIT license itself is fine.Key questions for the maintainer/team:
composer.lock?mcrypt, each(), create_function) or non-namespaced globals?Stack fit. For a Laravel codebase: not a dependency candidate — a reference implementation candidate. For a Symfony codebase already on 5.4+: still likely incompatible on version constraints, but the port cost drops substantially since the idioms match. For a mixed or PHP-only codebase: treat as a source of isolated utility classes only.
Migration path (recommended: build-vs-adopt, adopt-nothing default).
composer why-not against our stack, read every source file, and produce a one-page feature inventory with a keep/discard decision per feature.app/Support/Comun/ under our namespace, with attribution and the MIT notice preserved. Do not keep it as a Composer dependency.ComunServiceProvider with a publishable config file, so the surface is ours to version and test.Compatibility work required before any merge:
match, constructor promotion are optional; removed functions are blockers).composer update failure.twigbridge, which is not worth it for a 2-star dependency.Sequencing. Spike → feature inventory → build-vs-adopt decision → internal reimplementation of the retained slice → tests → integration. No step in this sequence puts gonzakpo/comun into composer.json. If leadership overrides and mandates direct adoption, the only defensible form is a pinned, internally forked, vendored copy with a named owner — never a floating constraint.
Maintenance — we own it from day one. There is no upstream to absorb PHP 8.x and Symfony/Laravel major bumps. Every future framework upgrade becomes our migration. Budget ongoing ownership cost, not just integration cost. Mitigation: keep the adopted surface deliberately small and isolated behind our own namespace so it can be deleted later.
Support. No support channel, no recent commits, no issue triage. Two stars and zero dependents means no community to consult when something breaks in production. Internal documentation must be written at adoption time, not deferred.
Scaling. The bundle is a helper/utility layer, so it does not itself introduce scaling risk. Two caveats: (a) any ported global event listeners or kernel hooks will fire on every request and should be profiled before shipping; (b) retained classes should stay stateless — a 2017-era helper bundle may carry service-locator or static-state patterns that are unsafe under Laravel Octane.
Failure modes to design against:
Ramp-up. Reading cost is low (small bundle, single author), but trust cost is high: no docs, no tests, no recent users. Realistic estimate for a mid-level engineer to spike, inventory, and reimplement the useful slice: 3–5 days, versus minutes for a healthy package. That delta is the actual price of the 0.04 score.
TPM recommendation. Do not adopt gonzakpo/comun as a dependency in a Laravel application. Run the spike, harvest any genuinely useful logic into first-party code under our namespace, and close the evaluation. The package's only durable value is as a pattern reference — the cost of reimplementing whatever it does is lower than the cost of owning an abandoned, off-ecosystem, zero-adoption Symfony bundle.
How can I help you explore Laravel packages today?