mrkoopie/laravel-ai-harness
Laravel AI Harness gives your app one testable interface to AI providers: swap drivers, manage prompts, call tools, and assert on responses in tests. It hides provider quirks behind familiar Laravel patterns so AI features stay clean, mockable, and easy to ship.
CLAUDE.local.md, AGENTS.override.md, per-project config — so you can make a call on one supported agent workflow instead of letting each engineer assemble their own. 0.6.0's global Composer install + init --global turns that from "a per-repo dev dependency" into "a machine-level tool", which is the version of this decision that actually scales past a handful of repos.update / doctor / setup as a repeatable three-command path — including for linked worktrees, which now inherit configuration — is a measurable onboarding lever. doctor in particular gives you a supportable failure mode instead of "my local env is broken".herd_php/valet_php/yerd_php → php_version, *_secure → site_secure, services → service_manager) is a forced coordinated migration with no compatibility aliases. That is a scheduling decision: pick a quiet week, budget each engineer a personal-config migration, and don't stack it against a release deadline.local_env.* overrides plus generated integrations excluded via .git/info/exclude mean machine-specific values stop leaking into shared .gitignore/committed config — a policy win you can point at during a security or repo-hygiene review.Consider adoption when:
Look elsewhere or defer when:
^0.5 does not include 0.6.0) all say "pin exactly, upgrade deliberately".--dev install is the safer default for a first rollout.For executives (one paragraph): This is low-cost developer tooling that standardizes how our engineers' AI coding assistants are configured and how their local Laravel environments are provisioned. It replaces per-engineer setup folklore with three repeatable commands, supports every local runtime we use, and — as of 0.6.0 — installs once per machine and inherits cleanly across parallel worktrees. The business case is onboarding speed, fewer "works on my machine" hours, and the ability to actually measure AI-assistant productivity because the environment is reproducible. Cost is a dev dependency plus a one-time, roughly hour-per-engineer migration to rename seven configuration keys; risk is contained because the tool is pre-1.0 and easily removed.
For engineering leads: 0.6.0 consolidates three runtime-specific key sets into one (php_version, site_secure, service_manager), adds Yerd 2.x as a first-class runtime, adds uncommitted local_env.* overrides for machine-specific values, and adds a global install path that keeps generated agent integrations out of the shared .gitignore via .git/info/exclude. Validation is solid for this stage: 325 tests / 1,455 assertions, CI green on PHP 8.2–8.5, plus ShellCheck and static analysis, with explicit regression tests for the removed keys.
For the migration conversation (be blunt): this is a breaking release with no compatibility aliases. The seven removed keys must be renamed in .ai-harness.config.dist, .ai-harness.config, .ai-harness.config.global, and .ai-harness.config.local before Composer runs, including inherited personal files and every worktree override. ^0.5 constraints won't pull 0.6.0, so the upgrade is explicit. The recovery path if the Composer hook already failed is --no-scripts, rename, then update / doctor / setup — worth putting in the ticket so nobody debugs it live. Commit shared config and refreshed managed files; each collaborator still migrates their own personal files.
How can I help you explore Laravel packages today?