Skip to content
A REST client for the Laravel framework.
PHP Vue JavaScript HTML
Branch: master
Clone or download
Latest commit 25d9306 Nov 19, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
config wording Nov 18, 2019
public Fixed indentation. Nov 18, 2019
resources Fixed indentation. Nov 18, 2019
src formatting Nov 19, 2019
tests Add more options to exclude the routes. (#40) Nov 18, 2019
.editorconfig wip Aug 15, 2019
.gitattributes wip Aug 15, 2019
.gitignore wip Aug 15, 2019
.styleci.yml Update .styleci.yml Nov 1, 2019
.travis.yml Support Laravel 6 Oct 17, 2019
LICENSE Create LICENSE Oct 5, 2019 Update Nov 1, 2019
composer.json Support Laravel 6 Oct 17, 2019
package.json add truncate string Oct 3, 2019
phpunit.xml.dist wip Aug 15, 2019
tailwind.js wip Sep 20, 2019
webpack.mix.js Update webpack config to use terser Oct 17, 2019
yarn.lock add truncate string Oct 3, 2019

Build Status Total Downloads Latest Stable Version License


Laravel Compass is an elegant REST assistant for the Laravel framework that you can use to test API calls and create API documentation. it provides automatically endpoints for GET, POST, PUT/PATCH, DELETE, various auth mechanisms and other utility endpoints based on Laravel routes in your project.


You may use Composer to install Compass into your Laravel project:

composer require davidhsianturi/laravel-compass --dev

Once Composer is done, publish its assets using the compass:install Artisan command. After installing Compass, you should also run the migrate command:

php artisan compass:install

php artisan migrate

Updating Compass

When updating Compass, you should re-publish the assets:

php artisan compass:publish

Migration Customization

If you are not going to use Compass' default migrations, you should call the Compass::ignoreMigrations method in the register method of your AppServiceProvider. You may export the default migrations using the php artisan vendor:publish --tag=compass-migrations command.


After publishing Compass' assets, its primary configuration file will be located at config/compass.php

return [
    | Compass Path
    | This is the URI path where Compass will be accessible from. Feel free
    | to change this path to anything you like.

    'path' => env('COMPASS_PATH', 'compass'),

    | Laravel Routes
    | This is the routes rules that will be filtered for the requests list. use
    | * as a wildcard to match any characters. note that the following array
    | list "exclude" must be referenced by the route name.
    | "base_uri" is a string value as a comparison for grouping the routes.

    'routes' => [
        'domains' => [

        'prefixes' => [

        'exclude' => [

        'base_uri' => '*',

    | Compass Storage Driver
    | This configuration options determines the storage driver that will
    | be used to store your API calls and routes. In addition, you may set any
    | custom options as needed by the particular driver you choose.

    'driver' => env('COMPASS_DRIVER', 'database'),

    'storage' => [
        'database' => [
            'connection' => env('DB_CONNECTION', 'mysql'),

    | API Documentation Builder
    | Compass will write and build contents in Documentarian markdown files
    | and as a generator to generate the API documentation which is a
    | PHP port of the popular Slate API documentation tool.
    | @see

    'builder' => 'slate',

    'template' => [
        'slate' => [
            'output' => 'public/docs',
            'example_requests' => [

You can build the API documentation using the php artisan compass:build command and go to yourproject.test/docs/index.html to see the result.


The build API documentation functionality is heavily inspired by laravel-apidoc-generator and uses Documentarian package by Marcel Pociot.


Laravel Compass is open-sourced software licensed under the MIT license.

You can’t perform that action at this time.