PHPackages                             nickwelsh/laravel-fumadocs - 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. nickwelsh/laravel-fumadocs

ActiveLibrary

nickwelsh/laravel-fumadocs
==========================

Generate Fumadocs documentation and PHP API references for Laravel applications and packages.

00PHPCI failing

Since Jul 24Pushed todayCompare

[ Source](https://github.com/nickwelsh/laravel-fumadocs)[ Packagist](https://packagist.org/packages/nickwelsh/laravel-fumadocs)[ RSS](/packages/nickwelsh-laravel-fumadocs/feed)WikiDiscussions main Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

Laravel Fumadocs
================

[](#laravel-fumadocs)

Generate a complete Fumadocs site plus PHP API reference from a Laravel app or package.

Install
-------

[](#install)

```
composer require --dev nickwelsh/laravel-fumadocs
php artisan vendor:publish --tag=fumadocs-config
php artisan fumadocs:generate
```

First run asks for a framework, invokes the official Fumadocs creator, installs dependencies, integrates Laravel Fumadocs, then generates the API reference. Supported frameworks:

- Next.js
- Astro with React
- Waku
- React Router
- TanStack Start

For noninteractive setup:

```
php artisan fumadocs:generate --framework=astro
```

The selected framework is persisted in `docs/.fumadocs/framework.json`. The generated site has its own `package.json`; the Laravel project's frontend dependencies stay untouched.

Content
-------

[](#content)

```
docs/content/docs/
├── guide/       # handwritten; never removed by generation
├── api/         # generated PHP reference
└── openapi/     # generated HTTP API reference when enabled

```

Root folders use Fumadocs layout tabs. PHP generation owns only files listed in `docs/.fumadocs/generated.json`; stale owned files are removed safely.

The analyzer reads source without executing it. It documents classes, interfaces, traits, enums, functions, inheritance, traits, attributes, constants, properties, methods, parameters, native types, defaults, source locations, and useful PHPDoc tags. Configure public/protected/private and `@internal` handling in `config/fumadocs.php`.

Smart API links
---------------

[](#smart-api-links)

Use a fully qualified PHP symbol in any handwritten MDX page:

```

```

The generated `api-symbols.json` manifest resolves it to the current API URL. PHP integrations can inject `LaravelFumadocs\Links\ApiLinkResolver`.

OpenAPI
-------

[](#openapi)

Enable it and provide one or more JSON/YAML specs:

```
'openapi' => [
    'enabled' => true,
    'specs' => [
        base_path('openapi.json'),
    ],
    'directory' => 'content/docs/openapi',
],
```

With no explicit spec, conventional locations such as `openapi.json`, `openapi.yaml`, and `storage/api-docs/api-docs.json` are detected. Generated pages use Fumadocs OpenAPI with statically bundled schemas, so all five frameworks work without framework-specific server preloading.

Commands
--------

[](#commands)

```
php artisan fumadocs:install
php artisan fumadocs:generate
```

Useful options:

```
--framework=next|astro|waku|react-router|tanstack-start
--no-dependencies
--no-openapi
--force-setup

```

Run the site:

```
cd docs
npm run dev
```

Change `node.package_manager` to `pnpm`, `yarn`, or `bun` when preferred. Current Fumadocs apps require Node.js 22 or newer.

Why PHP-Parser
--------------

[](#why-php-parser)

`nikic/php-parser` provides deterministic, source-only PHP API extraction with resolved names and accurate locations. Laravel Ranger targets runtime Laravel components such as routes, models, validation, events, and Inertia data. It is beta and not required for class-reference generation; a future optional enricher can add that application-specific layer without coupling the core index to Ranger's changing API.

Development
-----------

[](#development)

```
composer test
composer analyse
composer format:test
```

PHPStan/Larastan runs at level 10. Tests use Pest. Formatting uses Pint.

###  Health Score

20

—

LowBetter than 12% of packages

Maintenance65

Regular maintenance activity

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity11

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% 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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/11924961?v=4)[Nick Welsh](/maintainers/nickwelsh)[@nickwelsh](https://github.com/nickwelsh)

---

Top Contributors

[![nickwelsh](https://avatars.githubusercontent.com/u/11924961?v=4)](https://github.com/nickwelsh "nickwelsh (1 commits)")

### Embed Badge

![Health badge](/badges/nickwelsh-laravel-fumadocs/health.svg)

```
[![Health](https://phpackages.com/badges/nickwelsh-laravel-fumadocs/health.svg)](https://phpackages.com/packages/nickwelsh-laravel-fumadocs)
```

PHPackages © 2026

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