Skip to main content

Requirements

Deck by PromptPHP has the following requirements:
The sebastian/diff package is required and is used for the prompt:diff command. It may conflict with your PHPUnit/Pest PHP installation so you may need to upgrade these dependencies to the latest version.

Optional dependencies

Installing Deck by PromptPHP

Install the package via Composer:
If you have disabled auto-discovery, you will need to manually register the service provider and facade. See the Manual discovery section for details.

Publishing the configuration

Publish the configuration file to customise Deck’s behaviour:
This creates config/deck.php in your application. See the Configuration documentation for a full reference of all available options.

Publishing migrations

If you plan to use database tracking for prompt versions and execution logging, publish and run the migrations:
This creates two tables:
Database tracking is optional. Deck works fully without it as version activation falls back to metadata.json files, and execution tracking is simply disabled.
If you prefer, you may publish both the configuration and migration files by running a single command:

Environment variables

Add the following to your .env file to configure Deck’s runtime behaviour:
All environment variables are optional as sensible defaults are provided.

Verifying the installation

After installation, verify everything is working:
You should see the scaffolded prompt structure in resources/prompts/hello-world/.

Manual discovery

The package uses Laravel’s auto-discovery, so the service provider and facade are registered automatically. No manual registration is needed. If you have disabled auto-discovery, add the provider and facade to your bootstrap/providers.php (Laravel 11+) or config/app.php:
Or for config/app.php:

What’s next?

Configuration

Customise Deck’s behaviour.

Creating prompts

Learn the full make:prompt command.

Working with prompts

Load, render, and manage prompts in your code.

Laravel AI SDK

Use prompts with AI agents.