InvoiceStatus::DRAFT → InvoiceStatus::DRAFT with name="Draft").@Meta(data={"en":"Draft", "es":"Borrador"})).@Meta(data={"min_value":100})).phpDocumentor or Doctrine Extensions).Enum with _fields_).config or a dedicated package like spatie/laravel-enum).For Executives:
"This package lets us reduce technical debt by embedding human-readable metadata (e.g., labels, descriptions) directly into our codebase—no databases or config files needed. For example, instead of guessing what InvoiceStatus::PAID means, developers and support teams see @Meta(name="Paid") in the IDE. It’s a low-cost, high-impact way to improve code clarity and maintainability, especially for enums like statuses, categories, or permissions. Since it’s annotation-based, it integrates seamlessly with our existing PHP/Laravel stack and avoids vendor lock-in."
For Engineers: *"ClassMeta is a minimalist way to add structured metadata to classes/constants via DocBlock annotations. Think of it as self-documenting enums:
priority, localized_names).spatie/laravel-enum or a custom solution instead."*For Developers:
*"Need to make UserRole::ADMIN more readable? Add @Meta(name="Administrator", description="Full system access") above the constant. Then access it via $manager->getMeta('UserRole::ADMIN')['name']. It’s like Javadoc for PHP constants—perfect for:
@Meta(min_value=100)).
How to start:composer require ashleydawson/class-meta.ClassMetaManager to fetch metadata.
Warning: Package is stale; test thoroughly or fork for updates."*How can I help you explore Laravel packages today?