Introduction
Deck by PromptPHP ships with sensible defaults that work out of the box. Like most Laravel packages, all configuration lives inconfig/deck.php and every option can be overridden via environment variables for deployment flexibility.
Publishing the configuration
Publish the configuration file using the Artisan command:config/deck.php in your application. Once published, you can modify it freely.
Prompts path
Thepath option determines where your versioned prompt files are stored on disk:
resources/prompts/. You can change this to any directory:
php artisan make:prompt.
File extension
Theextension option controls the file extension used for prompt template files:
.md) is the default and recommended for readability. You can change it to any extension:
Changing the extension only affects newly generated files. Existing prompt
files are not renamed automatically.
Versioning strategy
Theversioning option controls how prompt versions are organised:
directory strategy is supported. Each version is stored in its own sub-directory (v1/, v2/, etc.) within the prompt’s folder:
Cache
Thecache section controls prompt caching behaviour. Caching avoids repeated filesystem reads by storing loaded prompts in your configured cache store.
Enabling / disabling
APP_DEBUG=true (local development) and enabled in production. This ensures that file changes are picked up immediately during development.
Override via your .env:
Cache store
config/cache.php. Common values:
TTL
Cache key prefix
{prefix}{name}.v{version}.
For example, with the default prefix:
Database tracking
Thetracking section controls whether prompt versions and executions are logged to the database.
Enabling / disabling
- Version activation is stored in the
prompt_versionsdatabase table (instead ofmetadata.json). - Execution tracking via
Deck::track()inserts records into theprompt_executionstable.
Database connection
null (the default) to use your application’s default connection. Set to a named connection from config/database.php if you want tracking data stored on a separate database:
AI SDK integration
true, Deck automatically creates a matching prompt directory whenever you run php artisan make:agent. See the AI SDK Integration documentation for details.
Set to false to disable automatic scaffolding: