whatwedo/core-bundle
Core bundle from whatwedo providing shared foundations for PHP applications: reusable base classes, common services, and sensible defaults that speed up new projects. Lightweight, easy to integrate, and a pragmatic starting point for building consistent, maintainable apps.
Stack correction (blocking). Despite the brief describing this as a "Laravel/PHP package," whatwedo/core-bundle is a Symfony bundle. The *Bundle suffix, the whatwedo namespace, and the nature of the package all point to Symfony's bundle/DI-extension model, not Laravel service providers. There is no Laravel integration path, no facade, no config-publishing convention. If the target platform is Laravel, this is a hard disqualify and should be closed at triage rather than carried into evaluation. Everything below assumes a Symfony target or a decision to re-scope.
Architecture fit. This is not a product feature — it is a shared base layer. The description ("reusable components used by other bundles of whatwedo") tells you the actual unit of evaluation is the whatwedo bundle family (table, CRUD, search, user-adjacent bundles), not this repository. CoreBundle has near-zero standalone value; it exists so sibling bundles don't duplicate base entities, traits, and service wiring. That has two consequences:
Integration feasibility. Technically trivial: Composer-installable, MIT-licensed, standard Symfony bundle registration. The cost is not installation; it is the inheritance coupling that follows. Base-class extension is the intended integration mechanism, which means the framework's internals become part of your application's shape over time.
Technical risk — this is the dominant concern. 6 stars and 0 Packagist dependents means:
Key questions for the maintainer / spike:
symfony/*, and doctrine/* constraints, and how recently were they bumped?Stack fit. Symfony + Doctrine only. If the organization standardizes on Symfony 6/7 with Doctrine ORM, the bundle is at least reachable. If it is Laravel, or Symfony without Doctrine, stop.
Migration path. Do not greenfield on a 6-star core bundle. Three viable stances, in order of preference:
Compatibility work before commitment. Read composer.json constraints directly against the target Symfony version and the current support matrix. Confirm the last release date post-dates the Symfony version you plan to run. Run composer why-not against the intended stack to expose transitive pinning conflicts — a classic core-bundle failure signature — before writing any application code.
Sequencing.
Maintenance. You inherit the vendor's cadence, not your own. Budget an explicit line item for fork maintenance and periodic upstream diffing — a mirrored repo plus a release-watch routine. If that line item cannot be staffed, downgrade to the pattern-reference stance.
Support. No documented commercial SLA. Support is GitHub issues at best. There is no CVE feed with this package's name on it, so security response is inbound from your own monitoring — subscribe to Symfony security advisories and treat CoreBundle as untracked transitive risk.
Scaling. Performance is unproven at this adoption level; assume nothing. Core bundles commonly introduce query overhead through base repositories and CRUD conventions that look fine at hundreds of rows and degrade at millions. Load-test the specific paths you exercise, not the bundle in aggregate, and inspect generated SQL for the list/index paths in particular.
Failure modes to plan for:
composer why-not in CI, and a fork ready.Ramp-up. Non-trivial relative to the bundle's apparent size, because the learning is whatwedo's conventions, not Symfony. Assume 1–2 weeks for a mid-level Symfony developer to be productive within the bundle's idioms, front-loaded on the CRUD/table base classes; materially less if you only touch a narrow slice. Documentation is likely thin — plan to write internal onboarding notes as a deliverable of the spike, and treat their absence as a recurring tax on every new hire who touches the code.
TPM stance. Low-adoption, vendor-coupled base layer with derivative value. Default to pattern reference; adopt only under the compulsion of a sibling bundle you genuinely need, and only with a fork policy and adapter layer in place before production.
How can I help you explore Laravel packages today?