jordandalton/laravel-tackle
Laravel Tackle is a practical Laravel package by Jordan Dalton that adds useful helpers and utilities for common development tasks, helping you reduce boilerplate and keep application code cleaner and easier to maintain.
This package adds an interactive ai:code Artisan session to a Laravel app: a terminal REPL that streams model responses, renders tables, and keeps a running Git summary of what changed during the conversation.
Minimal path to first value:
composer require the package (dev dependency is usually the right call if it's only used for local tooling).php artisan vendor:publish) and set your provider credentials in .env. The config file is the first place to look — it holds model/provider selection, streaming toggles, and the Git-summary behaviour referenced in this release.php artisan ai:code from the project root (not a subdirectory — Git context is resolved from the working directory).If you only want scripted/non-interactive use, go straight to the webhook/task entry point instead of the REPL — that path is explicitly supported and behaves differently with respect to Git output (see below).
Interactive refactor loop. Keep the session open across several small asks rather than one giant prompt. Since v1.56.10 the Git summary only appears when the tracked diff actually changes during a turn, so a chat-only question ("why does this query N+1?") produces no summary noise — the summary becomes a reliable signal that the model actually touched files.
Stage before you start. Summaries include staged changes. If you stage the files you intend the session to work on (or stage nothing at all), the summary stays readable. Staging unrelated work-in-progress makes every turn look busy.
Terminal capture / logging. Responses are now written once per chunk instead of redrawing accumulated text, so php artisan ai:code | tee session.log and CI-style capture produce clean, non-duplicated transcripts. If you have any tooling that scrapes or diffs session output, this is the release to pin to.
Webhook and background tasks. Webhook-only and chat-only tasks stay quiet on the Git side. That makes them safe to run in jobs and schedulers where a diff dump would pollute logs — but it also means "no summary" is not evidence of "no changes."
Structured output. Table rendering is retained alongside streaming, so asking for comparisons/inventories still yields aligned output in a live terminal rather than a reflowed mess.
Wrapping it. For team workflows, wrap common invocations in your own Artisan command or Composer script so the model, prompt preamble, and working directory are fixed rather than retyped per session.
git status --porcelain yourself.git diff --stat for the real picture.git add-ed files show up in a turn where the model touched nothing else. Unstage exploratory edits before a session if you want a tight signal.composer.json if your logs or tooling depend on the new single-write output.How can I help you explore Laravel packages today?