PHPackages                             stevebauman/autodoc-facades - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [PDF &amp; Document Generation](/categories/documents)
4. /
5. stevebauman/autodoc-facades

ActiveProject[PDF &amp; Document Generation](/categories/documents)

stevebauman/autodoc-facades
===========================

Auto-generate PHP doc annotations for Laravel facades

v1.3.3(5mo ago)99227.2k↓33.7%4[1 issues](https://github.com/stevebauman/autodoc-facades/issues)8MITPHPPHP ^8.1CI passing

Since Jan 4Pushed 3mo ago2 watchersCompare

[ Source](https://github.com/stevebauman/autodoc-facades)[ Packagist](https://packagist.org/packages/stevebauman/autodoc-facades)[ Docs](https://github.com/stevebauman)[ RSS](/packages/stevebauman-autodoc-facades/feed)WikiDiscussions master Synced 2w ago

READMEChangelog (10)Dependencies (10)Versions (15)Used By (8)

Autodoc Facades
===============

[](#autodoc-facades)

A facade documenter for your Laravel application.

[![](https://camo.githubusercontent.com/84aef56cfc74eab914b6c1cdbe62fbf6053684a38273f33fa7cdd8316eb93863/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f73746576656261756d616e2f6175746f646f632d666163616465732f72756e2d74657374732e796d6c3f6272616e63683d6d6173746572267374796c653d666c61742d737175617265)](https://github.com/stevebauman/autodoc-facades/actions)[![](https://camo.githubusercontent.com/f5cbb9a7b3b64e26c05ddb40466323e7ccbb991ab85c36ff6a6f966acf8ab68b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f73746576656261756d616e2f6175746f646f632d666163616465732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/stevebauman/autodoc-facades)[![](https://camo.githubusercontent.com/6fa5fb4cab28f5d70e43fbc5ff009d1ff46bd7438d8d1031e87b467ce350db7d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f73746576656261756d616e2f6175746f646f632d666163616465732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/stevebauman/autodoc-facades)[![](https://camo.githubusercontent.com/e392c966a3d7f777cdc7cfeb90cd91dfed46b0b1e9c46bae1e846aa9af67dd59/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f73746576656261756d616e2f6175746f646f632d666163616465732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/stevebauman/autodoc-facades)

---

Autodoc Facades uses the official Laravel [Facade Documenter](https://github.com/laravel/facade-documenter) to easily generate doc annotations for your application's Laravel facades inside your `app` directory using the `@see` annotation with a single command:

```
php artisan autodoc:facades app
```

**Before**:

```
namespace App\Facades;

/**
 * @see \App\Services\ServiceManager
 */
class Service extends Facade
{
    // ...
}
```

```
namespace App\Services;

class ServiceManager
{
    public function all(string $param): array
    {
        // ...
    }
}
```

**After**:

```
namespace App\Facades;

/**
+* @method static array all(string $param)
+*
 * @see \App\Services\ServiceManager
 */
class Service extends Facade
{
    // ...
}
```

Installation
------------

[](#installation)

Install via composer:

```
composer require --dev stevebauman/autodoc-facades
```

Usage
-----

[](#usage)

Inside the terminal:

```
php artisan autodoc:facades {paths} {--only=} {--except=}
```

Inside a Laravel command:

```
namespace App\Console\Commands;

class GenerateFacadeDocs extends Command
{
    // ...

    public function handle(): int
    {
        return $this->call('autodoc:facades', [
            'paths' => ['app'],
            '--except' => ['...'],
            '--only' => ['...'],
        ]);
    }
}
```

### Getting started

[](#getting-started)

To begin, your facades must contain an `@see` annotation with the **fully-qualified namespace**.

It will not resolve short-name classnames of classes that were imported.

For example, **this will not work**:

```
namespace App\Facades;

use App\Services\ServiceManager;

/**
 * @see ServiceManager
 */
class Service extends Facade
{
    // ...
}
```

If the underlying class forwards calls to another class, add a `@mixin` annotation to the underlying class so it is picked up by the documenter:

```
namespace App\Facades;

use App\Services\ServiceManager;

/**
 * @see \App\Services\ServiceManager
 */
class Service extends Facade
{
    protected function getFacadeAccessor(): string
    {
        return ServiceManager::class
    }
}
```

```
namespace App\Services;

use Illuminate\Support\Traits\ForwardsCalls;

/**
 * @mixin \App\Services\SomeClass
 */
class ServiceManager
{
    use ForwardsCalls;

    // ...
}
```

### Generating annotations in path

[](#generating-annotations-in-path)

To generate doc annotations for all facades in your `app` directory, supply "app" as the path:

> All paths you provide that do not start with a directory separator will use the commands current working directory as the base path.

```
php artisan autodoc:facades app
```

### Generating annotations in many paths

[](#generating-annotations-in-many-paths)

Space separate paths to generate annotations for facades in those directories:

```
php artisan autodoc:facades app/Services/Facades app/Api/Facades
```

### Generating annotations for specific facades

[](#generating-annotations-for-specific-facades)

Specify "only" classes to generate annotations only for those given:

> You may provide multiple "only" classes by space separating them.

```
php artisan autodoc:facades app --only App\Facades\Service
```

### Generating annotations for except specific facades

[](#generating-annotations-for-except-specific-facades)

Specify "except" classes to generate annotations for all facades, except for those given:

> You may provide multiple "except" classes by space separating them.

```
php artisan autodoc:facades app --except App\Facades\Service
```

###  Health Score

55

—

FairBetter than 97% of packages

Maintenance77

Regular maintenance activity

Popularity49

Moderate usage in the ecosystem

Community24

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 94.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~73 days

Recently: every ~113 days

Total

12

Last Release

154d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/c6dd082636ff8a08df8dfdcd622ea242374d1d76dd33bceec5a6cd3ae26dc24f?d=identicon)[stevebauman](/maintainers/stevebauman)

---

Top Contributors

[![stevebauman](https://avatars.githubusercontent.com/u/6421846?v=4)](https://github.com/stevebauman "stevebauman (102 commits)")[![michaelnabil230](https://avatars.githubusercontent.com/u/46572405?v=4)](https://github.com/michaelnabil230 "michaelnabil230 (3 commits)")[![joshmanders](https://avatars.githubusercontent.com/u/352113?v=4)](https://github.com/joshmanders "joshmanders (2 commits)")[![laravel-shift](https://avatars.githubusercontent.com/u/15991828?v=4)](https://github.com/laravel-shift "laravel-shift (1 commits)")

---

Tags

facadefacadesdocumentannotateautodoc

###  Code Quality

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/stevebauman-autodoc-facades/health.svg)

```
[![Health](https://phpackages.com/badges/stevebauman-autodoc-facades/health.svg)](https://phpackages.com/packages/stevebauman-autodoc-facades)
```

###  Alternatives

[laravel/surveyor

Static analysis tool for Laravel applications.

89157.7k16](/packages/laravel-surveyor)[rockett/weasyprint

A feature-rich WeasyPrint wrapper for generating PDFs from HTML and CSS, with support for PDF/A, PDF/UA, attachments, and optional Laravel integration.

29233.1k](/packages/rockett-weasyprint)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
