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

Kernel Pack Laravel Package

mrgoodbytes8667/kernel-pack

Kernel Pack bundles kernel-level customizations for Laravel into one package, making it easier to organize and register HTTP and console kernel behavior without scattering related configuration across multiple service providers. Lightweight and easy to add to existing apps.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Deployment topology, not product surface. This is infrastructure plumbing: it decides where an application writes cache and log files. That makes it relevant to decisions about read-only container filesystems, mounted persistent volumes, shared hosting with restricted var/ permissions, and per-environment path overrides — not to feature roadmap.
  • Build vs. buy vs. copy. The functional surface is a single kernel class overriding cache/log directory resolution plus a Flex-style recipe to install it. The honest framing for a build/buy call is "neither" — it is roughly a snippet. The decision to make is whether to add a dependency for ~20 lines of scaffold or vendor that scaffold into your own app skeleton. The v1.0.0 tag does not change this arithmetic; it only changes who owns the snippet's upgrade path.
  • Multi-instance and multi-tenant isolation. Alternate cache/log paths are the enabling mechanism when several application instances (per tenant, per brand, per region) must share a codebase but not share writable state. If isolation-by-directory is on your roadmap, this pattern is the cheap version of it.
  • Environment parity and 12-factor hygiene. If you want logs streamed to a collector via a mounted path or kept out of the deploy artifact, path indirection is a prerequisite. This package is a ready-made way to exercise that before committing to a larger config-management investment.
  • Diligence item, not a decision driver. Before treating this as reusable IP, confirm the target framework: the "pack + recipe" mechanism is Symfony Flex. If your estate is Laravel-first, the equivalent levers are Application::useStoragePath(), config('logging'), and config('cache') — the pattern transfers, the package does not.
  • Version-label hygiene. A v1.0.0 cut on a micro-package is a semver declaration, not an engineering event. Treat it as an invitation to read the diff between the prior release and this tag before it enters any dependency manifest.

When to Consider This Package

The v1.0.0 release is a version bump with no published release notes — the changelog is a bare commit link. That means we cannot assert new features, breaking changes, or framework-compatibility work from the release itself. What it does change: the previous "no release activity for multiple years" concern is now stale, and a 1.0 tag is a stated intent to hold the API stable. What it does not change: no adoption signal, single maintainer, and no verifiable content behind the tag.

Adopt-adjacent (i.e., read it, don't necessarily require it) when:

  • You are on Symfony Flex and want cache/log redirection to arrive as a recipe rather than hand-edited kernel code, so new services inherit it automatically.
  • You have a concrete constraint that maps to path indirection: read-only root filesystem, ephemeral container storage you want to survive or be inspected, per-tenant writable directories, or a PaaS/hosting environment where the default cache directory is not writable.
  • You want a five-minute spike to validate that path indirection solves your problem before investing in a proper solution.
  • You want a 1.0-tagged reference implementation to read while writing your own — the tag makes it easier to cite a stable baseline, not easier to depend on.

Look elsewhere — or copy the approach — when:

  • Maintenance risk is still the deciding factor. The project now shows recent activity via the 1.0 tag, which is an improvement, but a single-maintainer package with no community validation still carries no security response, no guaranteed Flex recipe upkeep, and no committed compatibility work for future framework majors. Before adopting, read the diff from the prior release: a 1.0 cut on a framework-coupled package is exactly where a dropped support window would hide, and the absence of release notes means that risk is unverified rather than cleared.
  • You need configurability, not a fixed recipe. If paths must vary per environment or per tenant, an env-var-driven getCacheDir()/getLogDir() in your own kernel is more flexible and carries no dependency.
  • You need a real storage abstraction. If the underlying goal is pluggable cache backends or log handlers (Redis, S3, PSR-6/PSR-3), go straight to symfony/cache and Monolog configuration; directory paths are the wrong layer.
  • You are Laravel-first. Prefer native storage-path and logging configuration; adding a Symfony-flavored scaffold to a Laravel app creates a second, competing convention.
  • You need support, SLAs, or an auditable supply chain. A 1.0 tag is not a support contract. Single-maintainer micro-packages with intermittent release cadence will still struggle in procurement and security review — a version number does not substitute for a maintainer-of-record agreement.

How to Pitch It (Stakeholders)

To executives: This is a very small, MIT-licensed utility that changes where an application writes its temporary files. The business value is not new capability — it is removing a recurring class of deployment failure ("permission denied," "disk full," logs lost when a container is recycled) and enabling per-tenant or per-region isolation without duplicating code. Cost to evaluate is hours, not weeks. The package recently shipped a 1.0 release, which is a positive signal of intent to stabilize, but with no published release notes and no growth in adoption we cannot read it as a maturity milestone. Recommendation is unchanged: spend a short spike validating the pattern, then implement it in our own application skeleton, where we control the code and the upgrade path.

To engineering: The package is a Flex pack whose recipe installs a kernel with alternate cache and log paths. Read it as a reference implementation, not a library. The new v1.0.0 tag carries no release notes, so the first task is not integration — it is reading the commit range since the previous release to see what actually moved: PHP/framework version constraints, directory-resolution logic, and recipe contents. Confirm whether your target is Symfony (Flex recipe applies directly) or Laravel (use useStoragePath() and standard logging/cache config instead). If the pattern fits, port the directory-resolution logic into our skeleton, drive it from environment variables so paths are per-environment and per-instance, and add a test that asserts the directories are created and writable. Do not add this as a runtime dependency without a maintenance owner and a plan for what happens when it stops receiving updates.

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.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource