rakib01 / laravel-model-docs-md
Generate Markdown documentation for all Eloquent models in Laravel.
Requires
- php: ^8.1
- illuminate/support: ^10.0|^11.0|^12.0
README
A Laravel package that automatically generates Model Documentation in Markdown format (.md). Perfect for documenting your application's Eloquent models โ their attributes, relationships, casts, and more.
๐ Features
- ๐ Generate Markdown documentation for all Eloquent models in one file
- โ๏ธ Configurable output directory and formatting
- ๐ง Detects attributes, relationships, casts, fillable, hidden, and appended fields
- ๐น๏ธ Simple Artisan command
- ๐งฉ Fully open-source and easy to extend
๐งช Installation
Require the package via Composer:
composer require rakib01/laravel-model-docs-md
โ๏ธ Publish Configuration
You can publish the configuration file using:
php artisan vendor:publish --provider="Rakib01\\LaravelModelDocsMd\\ModelDocsMdServiceProvider" --tag=config
This will publish a config file at:
config/modeldocsmd.php
๐งพ Generate Model Documentation
Once installed, simply run:
php artisan model-docs-md:generate
This command will inspect all models in your app/Models directory and generate a single file named:
storage/app/model-docs.md
Each model will be represented as a section in the file, similar to this:
๐งฉ App\Models\User
Table: users
Columns:
| Name | Type | Cast |
|---|---|---|
| id | bigint | int |
| name | varchar | - |
| varchar | - | |
| password | varchar | - |
Fillable: name, email, password
Hidden: password, remember_token
Appends: is_verified
Relationships:
- posts โ Post
All models will be appended sequentially in this same Markdown file โ allowing you to have a complete model documentation in one place.
๐ ๏ธ Requirements
- PHP >= 8.1
- Laravel >= 12.x or 11.x, 10.x
๐ค Contributing
Pull requests are welcome! If you find a bug or have a feature request, please open an issue on GitHub Issues.
๐ License
This package is open-sourced software licensed under the MIT license.
Created with โค๏ธ by Rakibul Hasan