kami/api-core-bundle
kami/api-core-bundle is a reusable API core package for PHP applications, bundling common building blocks for routing, response formatting, validation, and error handling. It helps teams standardize endpoints, reduce boilerplate, and ship consistent, maintainable APIs faster.
config/bundles.php, DependencyInjection/). Resolve this before any build-vs-buy argument is credible — a wrong-framework answer invalidates the whole analysis.Caveat on signal: the opportunity score (6.59) reads as moderate, but it is not corroborated by any adoption evidence. Zero stars and zero dependents mean we cannot infer production readiness, community support, or longevity. Treat this as an evaluation candidate, not a validated component.
Consider it when:
Look elsewhere when:
laravel/sanctum for auth, spatie/laravel-query-builder for filtering/sorting, spatie/laravel-data for DTOs, dedoc/scramble for OpenAPI generation. Lower integration risk and a real support surface.Decision gate before adoption: confirm framework and version support against our target, read the source, check test coverage and static analysis, verify exception-handling and debug-mode behavior, and require a fork-and-own plan. Zero-star packages are adoptable as source we take responsibility for, never as a dependency we consume passively.
To executives (30 seconds): This is a small, MIT-licensed add-on that standardizes the plumbing every one of our APIs needs — consistent success and error responses, validation formatting, pagination, and base controllers. The upside is speed and contract consistency for new endpoints. The risk is that nobody else uses it, so we would be adopting code we have to maintain ourselves. Recommendation: a time-boxed 1–2 day spike against one service to measure the boilerplate it actually removes, with adoption contingent on an assigned owner and a fork plan. It is not a strategic bet — it is a possible efficiency gain with a maintenance cost attached.
To engineering: It is opinionated scaffolding, not a framework. Assume we fork it, pin it, and own upgrades; treat upstream as a reference, not a supply chain. Resolve the Laravel-vs-Symfony ambiguity first — the package name says "bundle," which in PHP-land usually means Symfony, and if that is what it is, this is a different conversation entirely. Then run the spike: install in a scratch app, exercise happy path and error path, capture the exact JSON shapes for success, validation failure, auth failure, and 500, and diff them against what our clients already expect. If the answer is "we only wanted the error handler and pagination," pull those two conventions into our own thin internal package and skip the dependency. If the spike shows real hours saved without dictating choices we would regret at the next Laravel major, wrap it behind thin internal adapters, canary one non-critical endpoint for a sprint, and only then expand.
To the sponsoring PM: own the risk register entry and the owner assignment. An unmaintained shared core fails silently at the next framework upgrade, when every service is exposed at once.
How can I help you explore Laravel packages today?