Utility Commands
The agent commands (ai:code, ai:run, ai:fix, ai:review, ai:respond, ai:explain, ai:test, ai:onboard, ai:upgrade, ai:eval) each have their own page under The Agents. This page covers the supporting tackle:* commands.
tackle:init
Generates a starter TACKLE.md by scanning your project (composer.json, test framework, Pint/Larastan presence, app/ structure):
php artisan tackle:init
php artisan tackle:init --force # overwrite an existing filetackle:map
Shows the application map — what the agent sees when it looks at your Eloquent layer. Reads the live connection and the booted application, so it is authoritative where a model file and its migrations are not.
php artisan tackle:map # the index: every model and its table
php artisan tackle:map Post # one model, in full
php artisan tackle:map --all # every model, in full
php artisan tackle:map --route=posts.update # one route: middleware, rules, authorization
php artisan tackle:map --plain # exactly what the agent sees, uncoloured
php artisan tackle:map --fresh # discard the cached map and rebuildUseful for warming the cache in CI, and for seeing exactly what your agent sees before you blame it for a wrong column name.
tackle:health
Verifies that the package is correctly set up. Run it after installation or when something isn't working as expected.
php artisan tackle:healthIt checks:
config/tackle.phpandconfig/ai.phpare published- An API key is configured for the active provider
- The project is a git repository with at least one commit
.env.testingexists (warns if missing)- If healing is enabled: migration has been run, GitHub token is available
- Integration status for GitHub and Sentry
tackle:install
One-command installers for the optional pieces:
php artisan tackle:install remote # composer-require Tackle Remote (--no-dev to add to require)
php artisan tackle:install review # scaffold .github/workflows/tackle-review.yml
php artisan tackle:install eval-ci # scaffold nightly ai:eval workflow
php artisan tackle:install codex # composer-require Tackle Codex (--no-dev to add to require)
php artisan tackle:install grok # composer-require Tackle Grok (--no-dev to add to require)
php artisan tackle:install guard # print the guard-pack hook entries to add to configtackle:prune
If a session is interrupted before cleanup (e.g. a crash or kill -9), worktrees may be left behind in /tmp. Use tackle:prune to remove them:
php artisan tackle:prune
# Preview without removing
php artisan tackle:prune --dry-runOnly directories matching the tackle-worktree-* pattern are touched — the command will never remove your main working tree.
tackle:replay
Re-dispatches a previous healing attempt — useful when you want to retry after adjusting config or fixing something manually.
# Replay the most recent healing attempt
php artisan tackle:replay
# Replay the last attempt for a specific job class
php artisan tackle:replay --class="App\Jobs\ProcessPayment"
# Replay a specific log entry by ID
php artisan tackle:replay --id=42tackle:healing-log
Shows the self-healing audit log:
php artisan tackle:healing-log
php artisan tackle:healing-log --type=job
php artisan tackle:healing-log --type=scheduled_task
php artisan tackle:healing-log --outcome=patched
php artisan tackle:healing-log --outcome=pr_opened
php artisan tackle:healing-log --limit=50tackle:mcp
Serves Tackle's tools over the Model Context Protocol — see MCP Server.
tackle:remote
Serves the mobile browser UI (requires the Tackle Remote package).
tackle:telegram
Runs a coding session driven from Telegram — outbound-only, so it works from anywhere without your machine being reachable. Requires the Tackle Telegram package.
php artisan tackle:telegram # start a session
php artisan tackle:telegram --pair # find the chat id and write it to .env
php artisan tackle:telegram --if-configured # idle instead of failing, for a dev scripttackle:eval
Scaffolds a new ai:eval case into your project's evals/ directory (a tackle: generator, like tackle:tool/tackle:agent — it writes a file, it does not run the agent):
php artisan tackle:eval "refund rounding" # writes evals/refund-rounding.phptackle:tool / tackle:agent
Generators for custom tools and agents:
php artisan tackle:tool MyTool
php artisan tackle:agent MyAgent
php artisan tackle:agent MyAgent --full
php artisan vendor:publish --tag="tackle-stubs" # customise the stubs