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

Cms Kernel Laravel Package

zdrojowa/cms-kernel

A Laravel CMS kernel package providing core building blocks for content-driven applications, with a lightweight foundation for extending and wiring up CMS features inside your PHP projects.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

This package is best framed as an architectural bet, not a feature purchase. It informs decisions in four areas:

  • Build vs. buy for the content layer. cms-kernel is not a CMS — it is a set of abstractions (content types, rendering hooks, service-provider bootstrapping) that lets your team build a bespoke CMS inside Laravel without inheriting a full platform like Statamic, October, or a headless CMS contract. The decision it supports is "do we want a thin, owned content core, or a batteries-included platform?" — and it makes the thin-core option cheap to start.
  • Roadmap sequencing for content features. If the kernel is in place, adding a new content type (case studies, help-center articles, landing pages) becomes a module-level task rather than a schema-and-refactor project. That lets you promise content-driven features in a quarter with more confidence, and lets you defer committing to a page-builder or editorial-workflow investment until demand is proven.
  • Scope control on the editorial surface. Because the kernel provides hooks rather than opinions, the product decision is explicitly what you build on top: authoring UI, revisions, scheduling, preview, localization. Each is a visible line item, which is good for prioritization honesty — but it also means "we adopted a CMS kernel" delivers zero end-user value on day one.
  • Exit and lock-in posture. MIT license plus Laravel-native patterns (DI, routing, config, service providers) means the kernel is replaceable and the surrounding code is portable. The decision it supports is "we can own this layer without a procurement cycle or a vendor-negotiation roadmap dependency."

What it explicitly does not support: any decision where time-to-market for a working editorial product is the dominant constraint. Adopting this package is the beginning of a build project, not the end of one.

When to Consider This Package

Adoption criteria — treat these as a checklist where "no" answers are disqualifying:

  • You have a genuine bespoke content model. Content types with domain-specific relationships, computed fields, or publishing rules that would fight a general-purpose CMS. If your content is "pages and blog posts," you should not be here.
  • You have in-house Laravel depth. This package assumes comfort reading src/Contracts/ and src/Providers/ to understand the API surface. There is no meaningful published documentation, no tutorial path, and no community to fall back on.
  • You can afford to own the code. The last release was October 2019. There is no maintenance signal, one star, and no evidence of downstream users. Practically: you must be willing to vendor or fork it and treat it as in-house code, with your own tests, your own upgrade path, and your own security review. If your team cannot accept that, stop.
  • The abstractions actually match your mental model. Run a two-day spike: read the provider and contracts, wire one content type end to end. If the kernel's opinions help, adopt the patterns. If they get in the way, that is your answer, and you have lost two days.
  • Your Laravel version is compatible or you accept the port cost. A 2019 package predates modern Laravel bootstrapping conventions. Budget explicit engineering time for compatibility, not "it'll probably work."

Look elsewhere when any of these are true:

  • You need speed. A maintained platform (Statamic for Laravel-native, or a headless CMS behind an API) gets an editorial team productive in weeks, not quarters.
  • You need non-engineer editors. This kernel ships no admin UI. Every authoring screen is your roadmap.
  • You need a support contract or security responsiveness. There is none here. For regulated, public-facing, or high-traffic content surfaces, that is a procurement blocker regardless of code quality.
  • You want to minimize headcount risk. Depending on an unmaintained, undocumented single-maintainer package concentrates knowledge in whoever read the source. That is a bus-factor problem you are choosing.
  • The honest cost comparison favors buying. Price the build: content model, admin UI, revisions, preview, permissions, media, search. Compare to a platform license plus integration. Most teams find the "lightweight foundation" is cheap at the start and expensive at month four.

If the strategic answer is "we want to own our content core," consider the middle path: use this repository as a reference architecture, not a dependency. Its value — modular kernel, content/render hooks, provider bootstrap, staying out of application code — is a design pattern you can implement in a few hundred lines of your own code, on a current Laravel version, with your own docs and test coverage. That captures the upside and discards the maintenance risk entirely.

How to Pitch It (Stakeholders)

To executives (one paragraph): We evaluated an open-source Laravel package that provides a lightweight scaffolding layer for building our own content management system. It is a sound architectural idea — it keeps content logic modular, keeps us off a large CMS vendor, and keeps our code portable under a permissive MIT license. However, the project has been unmaintained since 2019, has effectively no user base, and ships no documentation or admin interface. Recommendation: do not adopt it as a dependency. Instead, adopt its architecture as an internal pattern. This carries no licensing cost, no vendor risk, and no dependency on an abandoned codebase — we spend a small amount of engineering time to own the pattern outright. Net effect on roadmap: no delay to content features, and we avoid a support and security liability on a customer-facing surface.

To engineering (the substance): The package is a kernel, not a CMS — abstractions for content types and rendering hooks plus service-provider bootstrapping; no admin UI, no migrations of consequence, no docs. Last release 2019-10-28, one star, MIT. Practical read: it is a reference implementation of a pattern, and the pattern is good — modular CMS features as reusable Laravel components, contracts over facades, hooks rather than inheritance, providers that stay out of application code.

Concretely, I am proposing we reimplement the seam, not import the package:

  1. Define our own Contracts for content types and renderers, and bind them in a dedicated service provider — same shape, current Laravel, our naming.
  2. Keep the kernel's discipline: depend on contracts, never on package internals; compose behind a thin App\Services\ContentGateway so the seam has exactly one place to change.
  3. Put anything slow (rendering pipelines, external media, indexing) behind queued jobs with explicit $tries, $backoff, and $timeout reconciled against retry_after.
  4. Scope multi-tenant bindings with scoped(), listen to events rather than polling, and register extension points (custom drivers, macros) in providers instead of forking.
  5. Two-day spike to validate the abstraction against one real content type before we commit to the module structure.

If someone still wants the dependency itself, the bar is: a named owner, a fork we control, a compatibility pass on our Laravel version, and a documented decision to accept that there will be no upstream fixes. Absent all four, we build the seam ourselves. Same architecture, no orphaned dependency, and the decision is reversible — which is the property that matters most for a layer this foundational.

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