# Installation
The following section teaches you how to install Lighthouse in your project.
# Install via composer
composer require nuwave/lighthouse
# Publish the default schema
Lighthouse includes a default schema to get you going right away.
Publish it using the following artisan command:
php artisan vendor:publish --tag=lighthouse-schema
# Lumen
Register the service provider in your bootstrap/app.php file:
$app->register(\Nuwave\Lighthouse\LighthouseServiceProvider::class);
The many features Lighthouse provides are split across multiple service providers.
Since Lumen does not support auto-discovery, you will have to register them individually depending on which features you want to use.
Check Lighthouse's composer.json (opens new window), the section extra.laravel.providers contains the default service providers.
# IDE Support
Lighthouse makes heavy use of the SDL and utilizes schema directives. To improve your editing experience, you can generate a definition file with an artisan command:
php artisan lighthouse:ide-helper
This command requires haydenpierce/class-finder.
Install it by running:
composer require --dev haydenpierce/class-finder
We recommend the following plugins:
| IDE | Plugin |
|---|---|
| PhpStorm | https://plugins.jetbrains.com/plugin/8097-js-graphql |
# Install GraphQL DevTools
To make use of the amazing tooling around GraphQL, we recommend installing GraphQL Playground (opens new window).
composer require mll-lab/laravel-graphql-playground
After installation, visit /graphql-playground to try it.
You can use any GraphQL client with Lighthouse, make sure to point it to the URL defined in the config.
By default, the endpoint lives at /graphql.