Laravel 8.0 introduced native PHP attributes as an alternative to docblock annotations, and subsequent Laravel versions have steadily expanded their use across Eloquent models, queue jobs, Artisan commands, and more. As the number of built-in attributes grows, developers—especially those new to Laravel’s attribute-based syntax—may find it hard to recall which attributes exist, what they do, and where they’re supported. That’s where laravel-attributes-list comes in: a static reference site listing all PHP attributes officially available in the Laravel framework, grouped by category and linked to dedicated documentation files.

The project is not a package to be installed in a Laravel application at runtime. It does not add functionality, modify behavior, or ship with code that runs on a server. Instead, it’s a documentation resource: a hand-curated, GitHub-hosted catalog of attributes, with each entry pointing to a Markdown file explaining syntax, usage, and scope. The site renders these files into a clean, searchable HTML interface, hosted at https://mrpunyapal.github.io/laravel-attributes-list/. As of its latest update, it holds 201 stars on GitHub and is built entirely in HTML—no JavaScript framework, no backend, no dynamic generation.

What it does

  • Lists 22 Eloquent model attributes—including #[Table], #[Fillable], #[ScopedBy], and #[Boot]—with links to per-attribute documentation
  • Covers 12 queue-related attributes like #[Delay], #[Backoff], #[UniqueFor], and #[DebounceFor]
  • Documents 6 Artisan command attributes such as #[Signature], #[Aliases], and #[Hidden]
  • Organizes entries under clear visual sections (Eloquent, Queue, Console) with emoji headers for quick scanning
  • Provides direct links to source Markdown files in the repository, enabling contributions or offline use

The repository itself contains no executable code beyond static HTML and Markdown. Each attribute page (e.g., attributes/eloquent/Table.md) includes usage examples, parameter notes, and compatibility hints—though the README does not specify Laravel version ranges for each attribute.

Getting it running
Since this is a static documentation site, there is no server-side installation or runtime dependency. You don’t need PHP, Node.js, or Composer to view it. The live version is hosted directly from GitHub Pages and requires no setup.

However, the README includes two “install” commands that are not for deploying the site—but for adding it to external skill-management tools:

php artisan boost:add-skill MrPunyapal/laravel-attributes-list --skill laravel-attributes

and

npx skills add MrPunyapal/laravel-attributes-list --skill laravel-attributes

These assume you’re using either Boost, a Laravel package for managing developer skills (unrelated to Laravel core), or the skills CLI tool—a separate utility for tracking learning progress. Neither command installs or runs the attribute list itself; they only register it as a reference in those tools’ local databases.

To browse offline, you can clone the repository and open index.html in any browser:

git clone https://github.com/MrPunyapal/laravel-attributes-list.git  
cd laravel-attributes-list  
open index.html  # or double-click the file

No build step, no npm install, no php serve—just static files.

Who this is for
This resource is most useful for Laravel developers who are adopting attributes incrementally, writing teaching materials, or building tooling that parses or validates attribute usage. It’s also helpful for developers returning to Laravel after a break and needing a quick reminder of what’s available in the current version. Because the documentation is decentralized (each attribute has its own Markdown file), it’s easy to skim, link directly to a specific attribute, or fork and extend.

It is not intended for production use inside applications. It does not generate code, validate attributes at runtime, or integrate with IDEs. If you want auto-completion, type checking, or Laravel-specific linting, you’d rely on Laravel Pint, PHPStan with Laravel extensions, or your IDE’s PHP language server—not this site.

How it compares
Laravel’s official documentation covers attributes too, but not in a single, scannable list. The Laravel Docs → PHP Attributes page groups them by domain (Eloquent, Queue, etc.) but lacks a flat, sortable index—and doesn’t link to individual deep dives the way this project does. The official docs also omit some attributes (e.g., #[Initialize], #[CollectedBy]) in certain versions, while this list includes them based on Laravel’s source.

Compared to community alternatives like laravel-attribute-docs (a now-archived repo) or blog posts enumerating attributes, this project stands out for its consistency in structure and direct mapping to Laravel’s internal attribute classes. It’s lighter than API reference generators (e.g., those built with Swagger or OpenAPI), since it doesn’t parse source code—it’s manually maintained. That makes it less prone to automation errors but dependent on contributor updates.

It’s also more focused than general Laravel cheat sheets, which mix attributes with helpers, facades, and config options. Here, the scope is strictly attributes—and only those Laravel ships with, not third-party ones.

The GitHub repository contains 47 Markdown files as of its latest commit, covering all documented attributes plus index and category pages. There are no tests, no CI pipeline, and no issue templates—just documentation.

This is a reference, not a tool. It does not replace reading the Laravel source or testing behavior in your own app. If you need verified, version-specific behavior—especially around edge cases like attribute inheritance or interaction with traits—you’ll still need to consult the framework’s source or run experiments locally.

The project is hosted at https://github.com/MrPunyapal/laravel-attributes-list and published online at https://mrpunyapal.github.io/laravel-attributes-list/.