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

Core Laravel Package

amethyst/core

Amethyst Core provides the foundational Laravel/PHP building blocks for the Amethyst stack, including service providers, shared contracts, configuration, and common utilities. Lightweight and extensible, it keeps shared concerns consistent across Amethyst packages and applications.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. amethyst/core is the kernel layer of the Amethyst micro-framework, not a Laravel package. It supplies the application/HTTP/console kernels, a service-provider registry, and a config repository — concepts deliberately modeled on Laravel's bootstrap lifecycle. That means it overlaps almost entirely with what Laravel already provides (Illuminate\Foundation, ServiceProvider, Repository). In a Laravel codebase it is redundant; in a non-Laravel PHP service it is a thin, opinionated bootstrap that would compete with Symfony's HttpKernel or a plain PSR-15 middleware stack. Fit is therefore poor in both directions: too much for a component library, too little (and too unmaintained) to be a framework bet.

Integration feasibility. Mechanically straightforward — it is a Composer package with no exotic extensions or build steps — but there is no integration surface worth pursuing. Amethyst's value only materializes if you adopt the whole framework (amethyst/framework, routing, HTTP, console), and that decision carries the full weight of an unmaintained dependency chain. Pulling in core alone yields a container plus kernels with no routing, no HTTP message implementation, and no ecosystem, so you would rebuild the rest yourself.

Technical risk. This is the dominant concern and it is severe:

  • Adoption signal is effectively zero — 1 star, 0 dependents, opportunity score 14.91. There is no production corpus to infer stability from, no issue history to gauge responsiveness, and no third-party tutorials or Stack Overflow answers to fall back on.
  • Bus factor of one, and likely already gone. The Amethyst project has been dormant for years; the repository shows no meaningful release cadence. Any defect becomes an internal patch.
  • Transitive dependency decay. Amethyst historically leaned on the Zend Framework components (zend-diactoros, zendframework/zend-*) that were renamed to Laminas and dropped support for older PHP. Old constraints will pin you to end-of-life PHP runtimes and unpatched CVE surfaces you cannot remediate upstream.
  • PHP-version ceiling. Expect constraints around PHP 7.x-era syntax and PSR versions. Upgrading to current PHP will require forking and maintaining the package.
  • Licensing is clean (MIT), so there is no legal blocker — the risk is purely engineering and supply-chain.

Key questions.

  1. What is the actual driver — is this an existing Amethyst service inherited by the team, or a greenfield consideration? Only the former justifies engagement.
  2. Which PHP versions and PSR revisions does the target branch actually support, verified against composer.json rather than the README?
  3. Is there an internal or community fork that is actively patched, and who owns it?
  4. If the intent is to reuse the service-provider/config pattern specifically, can we lift those two classes (MIT permits it) instead of taking the framework?
  5. What is the exit cost if we adopt and the project stays dormant — how many framework-coupled files would need rewriting?

Integration Approach

Stack fit. Treat this as a no-go for adoption and a conditional-go for pattern borrowing. In a Laravel application, the correct move is to use Laravel's own kernels, container, and ServiceProvider — no integration needed. In a standalone PHP service, the correct move is Symfony HttpKernel + PSR-15 middleware + a maintained PSR-11 container, which delivers the same architecture with an active security posture. The only legitimate fit is a codebase that is already Amethyst-based.

Migration path. If already on Amethyst: do not extend the surface area. Freeze new framework-level investment, inventory every class that touches amethyst/core (kernels, providers, config access), and target an incremental extraction — replace the config repository with a PSR-compatible equivalent first (lowest coupling), then the container, then the HTTP kernel last. Each step should be independently shippable behind the existing bootstrap so the application stays deployable throughout.

Compatibility. Verify explicitly before any commitment: PHP constraint in composer.json, PSR-7/PSR-11/PSR-15 versions, and whether the pinned Zend/Laminas packages have known advisories. Run composer audit and a PHP-version matrix build as the gate. Expect the answer to require either a PHP downgrade (unacceptable) or an owned fork (a real, unbudgeted cost).

Sequencing. (1) Confirm the driver and whether an Amethyst footprint already exists. (2) If greenfield, close the evaluation and redirect to Laravel or Symfony components. (3) If inherited, run the compatibility audit and produce an effort estimate for an owned fork versus an extraction. (4) Prefer extraction; fund the fork only if the audit shows a short, bounded path. (5) Set an explicit decision date — dormancy does not improve with time.

Operational Impact

Maintenance. All of it lands on us. There is no upstream to file issues against, no release train to track, and no vendor to escalate to. Every PHP minor-version bump, every security advisory in the dependency tree, and every behavioral bug becomes an internal ticket with no external reference implementation to compare against. Budget for a named owner; an unowned dormant framework in production is an accumulating liability.

Support. Effectively none. No maintainer response, no community channel with critical mass, no commercial backing. On-call engineers debugging a kernel-level failure will have only the source and their own reading of it. That is a materially worse incident posture than any maintained framework, and it should be priced into the on-call rotation explicitly.

Scaling. Architecturally unremarkable — request-per-process under PHP-FPM, so horizontal scaling behaves like any PHP app. The constraint is not throughput, it is talent and knowledge scaling: you cannot hire for Amethyst, onboard contractors onto it, or hand it to a managed platform with confidence. Team growth is capped by the number of people willing to read the framework source.

Failure modes. (a) PHP runtime upgrade breaks the package and blocks the platform roadmap; (b) a transitive dependency advisory with no patched path forces an emergency fork; (c) the single knowledgeable engineer leaves, taking undocumented framework behavior with them; (d) silent divergence as internal patches accumulate and the fork drifts from any upstream reference. Each is low-probability-per-quarter but high-impact and correlated — one PHP upgrade can trigger (a) and (b) simultaneously.

Ramp-up. Deceptively fast to read (small codebase, familiar Laravel-shaped idioms, ~a day for an experienced PHP engineer to understand the kernel) but slow to trust — there is no documentation ecosystem, no test corpus at scale, and no community precedent to validate decisions against. Realistic time-to-productive is short; time-to-confident is months of accumulated internal folklore.

Recommendation. Decline adoption in a Laravel/PHP context. The package adds no capability Laravel or Symfony does not already provide, and it converts a commodity decision into a bespoke maintenance obligation with zero ecosystem support. If an Amethyst footprint already exists, scope an extraction now rather than funding an indefinite fork.

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.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
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