- What is amethyst/user and what does it actually provide?
- Amethyst User is a domain module from the Amethyst CMS ecosystem for Laravel. It provides a Doctrine-mapped User entity, its repository and persistence mapping, and user-management services for accounts and profiles. It is the data and service layer for users, not a complete authentication scaffold.
- Is amethyst/user a drop-in authentication solution for Laravel?
- No. It supplies the User entity and user-management services rather than guards, providers, login controllers, or session wiring. In a conventional Eloquent-first Laravel application you would still need to build the guard and provider integration yourself, plus an adapter for the Doctrine persistence layer.
- Which Laravel and PHP versions does amethyst/user support?
- Compatibility is not documented in the package materials. Given its position in the Amethyst module graph, it is likely pinned to an end-of-life Laravel 5.x or 6.x branch with PHP 7.x and Doctrine ORM 2.x. Check the composer.json constraints directly before assuming it runs on a currently supported Laravel release.
- How do I install amethyst/user with Composer?
- The package name is amethyst/user, but it is a leaf in an abandoned module graph with zero dependents and no downstream validation. Expect the install to pull amethyst/core for container bindings, module registration, and configuration loading. Budget the work as a fork-and-modernize effort rather than a configure-and-go install.
- Does amethyst/user require Doctrine, and can it work with Eloquent?
- Yes, it is Doctrine-backed. Running it inside an Eloquent-native codebase forces two persistence paradigms into one application and adds an ongoing tax on every developer who touches the user model, because Doctrine proxy and lazy-loading semantics diverge from Eloquent expectations. It fits cleanly only if the app is already Amethyst-based or has deliberately adopted Doctrine entity mapping inside Laravel.
- What dependencies does amethyst/user pull in, and does it require amethyst/core?
- Almost certainly yes. It carries a hard dependency on amethyst/core for container bindings, module registration, and configuration loading, and may also pull siblings such as amethyst/auth. Resolve the full transitive closure first and identify which of those siblings are load-bearing, since unmaintained siblings compound the risk.
- Is amethyst/user maintained and safe to use in production?
- Treat it as reference architecture to mine, not a component to ship. It has zero stars, zero dependents, no community troubleshooting trail, and no observable CI, release cadence, or maintainer presence. Stale code in a user module becomes a security vulnerability rather than a bug, so any adoption needs a documented fork-and-own plan.
- How should I integrate amethyst/user into an existing Laravel application?
- There are three options, in descending preference. Extract the entity and service classes into your own domain layer, strip the Amethyst container coupling, and reimplement persistence against your existing ORM. Alternatively, fork to an internal namespace and pin the entire dependency set, or do a direct install, which is not recommended at zero dependents and no maintainer presence.
- How does amethyst/user handle password hashing and password reset tokens?
- The package materials do not document this, which is a red flag for a user module. Password hashing algorithm and cost factor, rehashing on login, remember-me tokens, password-reset token lifecycle, email verification, and guard and session interaction all live in this security-sensitive path. Audit the source directly before relying on any of that behavior.
- What should I use instead of amethyst/user, and what license does it carry?
- For a new Laravel application, start from Laravel's native authentication scaffolding or an actively maintained community package rather than an unmaintained CMS module. Amethyst User is MIT licensed, so forking is permissively allowed with low friction, but you take on the full maintenance and security burden of the extracted code.