chimit/prompt
chimit/prompt is a Laravel package for defining, storing, and rendering reusable AI prompt templates with dynamic variables and a clean API, helping you keep LLM prompts organized, consistent, and easy to maintain across your application.
This release is a compatibility release: v1.2.0 adds support for Laravel 13 (and later). The package's day-to-day surface is unchanged, so the fastest path is to confirm you are on a version that will actually install, then exercise your existing integration once on the new framework.
composer show <vendor>/<package> --all | grep -A5 requires
You are looking for illuminate/* / laravel/framework constraints that include ^13.0. If the constraint is still ^11.0|^12.0, the release note does not apply to your install and Composer will refuse the upgrade — that is the first thing to verify, not a bug in your app.composer require <vendor>/<package>:"^1.2" laravel/framework:"^13.0" --with-all-dependencies
--with-all-dependencies matters here: the package's own dependencies may have moved their Laravel constraints in lockstep, and a partial update will fail with a misleading conflict message.php artisan package:discover
php artisan optimize:clear
Where to look first if something breaks: the package's composer.json (what it claims to support), its src/ service provider (what it binds and when), and your own config/ published file (what you overrode long ago and forgot about).
Treat the framework version as a matrix dimension, not a single value. The reason to upgrade to v1.2.0 is usually that you want to move to Laravel 13 while other parts of the codebase (or other packages) are still on 12. Add both to CI rather than doing a big-bang switch:
# .github/workflows/tests.yml
strategy:
matrix:
laravel: ['12.*', '13.*']
include:
- laravel: '12.*'
testbench: '10.*'
- laravel: '13.*'
testbench: '11.*'
If you use orchestra/testbench for package-level tests, its major version is tied to the Laravel major — mismatched Testbench is the single most common reason a "supported" combination fails in CI while working locally.
Pin the package, float the framework — or the reverse, but not both. In composer.json, prefer a caret constraint on the package ("^1.2") and let the framework float within its major ("^13.0"). Avoid dev-main for the package during a framework migration: you lose the ability to bisect a regression between "framework changed" and "package changed."
Use the upgrade as an excuse to isolate your integration surface. If the package is called from more than a handful of files, wrap it. After a framework major, the wrapper is the only file that needs auditing:
final class ThingGateway
{
public function __construct(private readonly PackageClient $client) {}
public function send(Thing $thing): Result
{
return $this->client->dispatch($thing->toPackagePayload());
}
}
This also makes the next compatibility bump (13 → 14) a one-file review instead of a codebase-wide grep.
Bind configuration per environment, not per version. Resist adding if (app()->version() >= 13) branches around package calls. Framework-conditional code inside application logic is a maintenance trap — it survives long after the old version is gone and silently stops being tested. If behaviour genuinely differs between 12 and 13, express it as a config value or a bound interface implementation chosen in a service provider.
Regression-test the queue and the HTTP layer specifically. Framework majors most often change behaviour in job serialization/retry semantics, middleware ordering, and validation rule internals. If the package touches any of those, a passing unit suite is not evidence; run one real queued job and one real request in a staging environment.
^13.0 only, Laravel 14 will be blocked at install time regardless of the release note's wording — and that is fine, just don't plan around it.composer update fails with a conflict, read the conflict tree bottom-up (composer why-not laravel/framework 13.*) rather than top-down; the blocking package is usually two levels deep and not the one named in the error headline.--ignore-platform-reqs is not a fix, it just relocates the failure to runtime.php -d error_reporting=E_ALL vendor/bin/phpunit
Packages commonly still call a removed helper internally while their own tests pass, because their tests don't exercise the path your app does.bootstrap/cache/*.php from the previous major can reference class names or signatures that changed. php artisan optimize:clear before you start debugging anything else — it resolves a surprising share of "works locally, breaks on deploy" reports.How can I help you explore Laravel packages today?