Using the ADR (Action/Domain/Responder) Pattern in Laravel
Learn what the ADR (Action/Domain/Responder) pattern is and how to apply it in Laravel with a simple, practical example. Read more
Learn what the ADR (Action/Domain/Responder) pattern is and how to apply it in Laravel with a simple, practical example. Read more
Peter Suhm shares a simple Todoist setup that separates tasks due on a specific day from tasks that just need to happen this week. The heart of the system is a single custom filter that combines today, overdue, and @this-week items into one view. Read more
Pest v4.5.0 adds first-class support for flaky tests with retries and a dedicated CLI filter. The release also brings a useful casing assertion for catching namespace and file path mismatches, plus a coverage option that hides uncovered files. Read more
A deep dive into idempotency, from the theory behind safe retries to a practical Laravel implementation using the Laravel Idempotency package. Read more
Learn how to reuse your Laravel MCP tools in the Laravel AI SDK using a simple proxy approach, helping you avoid code duplication and making it easier to build AI agents integrated into your Laravel applications. Read more
A Claude Code skill that helps you design and generate event-sourced domain code for Laravel using spatie/laravel-event-sourcing Read more
Laravel Boost only reads a single core.blade.php per package, so extra sibling files get silently dropped. Here is the minimal pattern for splitting your guidelines into organized partials using a Blade view namespace. Read more
We just released v7.3.0 of laravel-query-builder, which adds a new way to group multiple filters under a single URL parameter. Before getting into the new feature, let me show you how the basics work, so the new bit makes sense in context. The basics Here's a typical setup in a controller: use Spatie\QueryBuilder\AllowedFilter; use Spatie\QueryBuilder\QueryBuilder; $users = QueryBuilder::for(User::class) ->allowedFilters( AllowedFilter::partial('name'), AllowedFilter::exact('status'), )…
Seth Godin shares a compact set of pricing truths about value, story, and perception. It is especially good on why the right answer to "that's too expensive" is often a better story, not a lower price. Read more
A deep dive into Role-Based Access Control, from the theory behind roles and permissions to a practical, team-aware Laravel implementation without external packages. Read more
A deep dive into how Laravel transforms raw route segments into models, scoped children, enums, and custom bound values before your controller runs. Read more
The spatie/laravel-sluggable package has been around for close to a decade. A slug is the readable part of a URL that identifies a record, like announcing-laravel-sluggable-v4-with-self-healing-urls in this post's URL. The package generates one for any Eloquent model when you save it, derived from a title or another text field, and most of the time you don't have to think about it. We just released v4, which adds a few things worth talking about. Let me walk you through them. Generating slugs…
This practical guide shows how to use spatie/laravel-health together with Oh Dear to detect vulnerable Composer dependencies in production and get alerted quickly. It also shows how adding composer audit in CI gives you an extra early warning layer. Read more
AI coding agents love to run tests in parallel processes. That's great until multiple processes try to use the same local test database at once. A small file lock can serialize access and stop those runs from stepping on each other. Read more
Matthieu Napoli explains how he replaced GitHub-hosted CI with self-hosted runners on a Mac Mini at home. The setup is simple, fast, and a good look at the trade-offs around isolation, caching, and parallelism. Read more