Skip to content

Repository files navigation

The Tackle mascot — a determined toolbox character with a sledgehammer, smashing through rubble

Laravel Tackle

Latest Version Tests Total Downloads License

An AI agent harness for Laravel — the runtime layer that lets AI agents operate inside your app: reading code, running tools and tests, and taking action, with safety boundaries enforced at the framework level.

Think Claude Code or Codex, but purpose-built for Laravel and installed via Composer. Built on laravel/ai and provider-agnostic — Anthropic (Claude) by default; OpenAI, Gemini, Groq, or local Ollama are two env vars away.

📚 Full documentation → tackle.jordandalton.com

Quick start

composer require jordandalton/laravel-tackle

Set a provider key in .env (Anthropic by default):

ANTHROPIC_API_KEY=sk-ant-...

Then start an interactive coding session:

php artisan ai:code

That's it — see Your First Session for the guided tour. Requires PHP 8.3+ and Laravel 12 or 13.

What's in the box

A family of agents, all sharing one tool infrastructure and safety layer:

Command What it does
ai:code Interactive coding agent — reads the codebase, edits files, runs tests, plan mode, slash commands, context compaction.
ai:run The same agent headless — one task, a JSON result, an exit code. For CI and cron.
ai:fix Focused fix session — paste an exception or point it at a Sentry / GitHub issue; it diagnoses, patches, and verifies.
ai:review Read-only diff review with severity levels; posts inline comments on a PR.
ai:onboard A read-only tour of a codebase for a new developer; --write saves docs/ONBOARDING.md.
ai:upgrade Safe major-version Composer upgrades — audit, plan, fix, verify — delivered as a PR.
ai:eval Benchmark the agent against seeded bugs — fix rate, false-fix rate, tokens, cost.
Self-healer Autonomous agent that heals failed jobs, scheduled tasks, and Nightwatch production issues — verifies the fix, opens a PR.

Plus ai:explain, ai:test, and ai:respond.

Every agent also sees the application map — your real columns and types off the live connection, relationships, scopes, observers, policies, factory states, and the fully resolved middleware and validation on any route, read from the booted application rather than inferred from files. An index of your models rides in every session's prompt; the detail is one tool call away. It's the thing an agent running outside your app can't have.

Every agent is extensible — add your own tools, write new agents, hook the tool lifecycle, or swap the default agent — without forking. And the terminal isn't the only way in: Tackle Remote drives the same harness from your phone's browser, and Tackle Telegram drives it from a chat — outbound-only, so it works from anywhere without your phone needing to reach your machine.

Documentation

Everything lives at tackle.jordandalton.com:

Safety

Tackle edits code and runs commands, and the boundaries are enforced in PHP, not by prompting: protected paths, per-environment shell modes, artisan allowlists, spend budgets, and worktree isolation. See Safety.

Two things worth knowing before you start:

  • Run it inside a committed git tree so you always have a clean undo (git checkout -- .).
  • laravel/ai is new and fast-moving. It reshapes its Agent contract on most 0.x minors, and an incompatible signature is a compile-time fatal. Tackle supports >=0.1 <0.11 and CI runs the suite across that range on PHP 8.3 and 8.4.

Contributing

composer install
./vendor/bin/pest    # run the test suite
./vendor/bin/pint    # format

Bug reports and pull requests are welcome on GitHub.

Security

If you discover a security issue, please email jordan@daltonsolutions.com rather than opening a public issue.

License

Laravel Tackle is open-sourced software licensed under the MIT license.

About

Tackle is the runtime layer that lets AI agents operate inside your Laravel application — reading code, executing tools, running tests, and taking action, with safety boundaries enforced at the framework level.

Resources

Stars

73 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages