knuckleswtf/scribe

Generate API documentation for humans from your Laravel codebase.✍

Fund package maintenance!
Patreon

Installs: 55 789

Dependents: 1

Suggesters: 0

Security: 0

Stars: 201

Watchers: 6

Forks: 37

Open Issues: 16

2.0.1 2020-10-26 21:40 UTC

README

logo-scribe.png

Still on v1? Here's the v2 migration guide.

Generate API documentation for humans from your Laravel codebase. Here's what the output looks like.

Latest Stable Version Total Downloads Build Status

Looking to document your Node.js APIs easily? Check out Scribe for JS.

Features

  • Pretty HTML documentation page, with included code samples and friendly text
  • Included "Try It Out" button so users can test endpoints right from their browser
  • Markdown source files that can be edited to modify docs
  • Extracts body parameters information from Laravel FormRequests
  • Safely calls API endpoints to generate sample responses, with authentication and other custom configuration supported
  • Supports generating responses from Eloquent API Resources or Fractal Transformers
  • Supports Postman collection and OpenAPI (Swagger) spec generation
  • Included UI components for additional styling
  • Easily customisable with custom views
  • Easily extensible with custom strategies

Documentation

Scribe is a fork of mpociot/laravel-apidoc-generator, so see the migration guide if you're coming from there.

Check out the documentation at ReadTheDocs.

Installation

PHP 7.2.5 and Laravel/Lumen 6.0 or higher are required.

composer require --dev knuckleswtf/scribe

Laravel

Publish the config file by running:

php artisan vendor:publish --provider="Knuckles\Scribe\ScribeServiceProvider" --tag=scribe-config

This will create a scribe.php file in your config folder.

Lumen

  • When using Lumen, you will need to run composer require knuckleswtf/scribe instead (no --dev.
  • Register the service provider in your bootstrap/app.php:
$app->register(\Knuckles\Scribe\ScribeServiceProvider::class);
  • Copy the config file from vendor/knuckleswtf/scribe/config/scribe.php to your project as config/scribe.php. Then add to your bootstrap/app.php:
$app->configure('scribe');

Contributing

Contributing is easy! See our contribution guide.