DeckServiceProvider, Deck facade).resources/prompts/, decoupling logic from runtime execution. Metadata (e.g., descriptions, variables) is stored in metadata.json, enabling structured data access.system, user, assistant) and integrates with Laravel AI SDK via HasPromptTemplate trait, reducing boilerplate for AI agents.migrate). No complex dependencies beyond Laravel core.make:prompt, prompt:activate) align with Laravel’s developer experience, reducing cognitive load.prompt_versions table) for A/B testing or performance metrics, but file-based fallback ensures zero-downtime adoption.{{ $variable }}), compatible with existing templating logic.v1/, v2/) could conflict with CI/CD pipelines if not managed carefully (e.g., accidental overwrites). Mitigated by --force flag and interactive prompts.toMessages() output.veeqtoh/prompt-deck (v0.3.x) requires namespace changes (Veeqtoh\PromptDeck → PromptPHP\Deck). Test thoroughly in staging.make:prompt?HasPromptTemplate trait (auto-generates instructions() for agents).toMessages() output is flexible but may need wrapping for non-Laravel AI SDK providers.prompt_versions table for tracking (uses Laravel migrations). No hard dependency.resources/prompts/ (convention over configuration). Custom paths possible via config.composer require promptphp/deck.php artisan vendor:publish --provider="PromptPHP\Deck\Providers\DeckServiceProvider".php artisan make:prompt test-prompt.toMessages() output for target LLM providers.php artisan migrate (if using database tracking).resources/prompts/ (e.g., Git ignore rules, artifact storage).Deck::get() calls.prompt:list to audit adoption.fileinfo, mbstring).messages vs. OpenAI’s content).deck.php (e.g., active_version_strategy, storage_path).make:prompt (e.g., php artisan make:prompt order-summary --user).{{ $tone }}).Deck::get('prompt-name')->toMessages($variables).HasPromptTemplate to agents.prompt:diff to compare versions pre-deployment.Deck::get() calls) for analytics.make:prompt (interactive or CLI). No manual file management.prompt:activate or Deck::get('name', 'v1').promptphp/deck for breaking changes (e.g., v0.4.0 namespace shift).resources/. Database tracking (if used) requires standard DB backups.resources/prompts/ from Git or artifacts.resources/prompts/ exists and files are readable.metadata.json for valid variable names (e.g., {{ $invalid }} → error).prompt_versions table is migrated and writable.--force cautiously; prefer interactive prompts for safety.Deck::get() latency.prompt_versions are minimal (e.g., WHERE prompt_name = ? AND is_active = 1). Index prompt_name and is_active.| Failure Scenario | Impact | Mitigation |
|---|---|---|
How can I help you explore Laravel packages today?