Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Instruckt Laravel Laravel Package

joshcirre/instruckt-laravel

View on GitHub
Deep Wiki
Context7
v0.4.27

What's new

Database store

Annotations can now be persisted to a database table instead of a flat JSON file. Set INSTRUCKT_STORE=database and run the migration:

php artisan vendor:publish --tag=instruckt-migrations
php artisan migrate

Required for hosted and multi-instance environments.

S3 / remote screenshot storage

Set INSTRUCKT_SCREENSHOT_DISK=s3 (or any configured Laravel disk) to store screenshots on a remote disk. Screenshots are served via temporary signed URLs so they survive deploys.

MCP token authentication

Protect the /instruckt/mcp SSE endpoint with a Bearer token:

INSTRUCKT_MCP_TOKEN=your-secret-token

Then add the header in your .mcp.json:

{
  "instruckt": {
    "url": "https://your-app.com/instruckt/mcp",
    "headers": { "Authorization": "Bearer your-secret-token" }
  }
}

Split middleware config

middleware is now split into api_middleware (annotation CRUD routes) and mcp_middleware (MCP SSE endpoint) for independent control.

MCP error handling fix

instruckt.get_screenshot now returns a proper MCP error response (isError: true) when an annotation has no screenshot or the file is missing, preventing Claude Code from attempting to recover by locating the image via other means.

Upgrade notes

  • If you have published the config, re-publish or manually add api_middleware, mcp_middleware, mcp_token, store, and screenshot_disk keys (all have sensible defaults).
  • The old middleware key still works but is superseded by api_middleware.
v0.4.26

Add Laravel 13 support

v0.4.22

Add configurable toolbar tool visibility — hide individual tools (annotate, screenshot, freeze, etc.) via the tools config array. (PR #4 by @JonPurvis)

v0.4.21

What's new

  • Vite plugin support: instruckt:install now prefers injecting the instruckt/vite plugin into vite.config.* with server: false (Laravel owns the backend), and adds a simple import 'virtual:instruckt' to app.js
  • Falls back to legacy JS snippet and Blade component for projects without Vite
  • instruckt:uninstall updated to clean up Vite plugin injection, virtual imports, and all legacy injection patterns
v0.4.20

What's New

Server-side source resolution

  • New SourceResolver class resolves Livewire component names to PHP class files and line numbers using ReflectionClass
  • Blade view names resolved to file paths via the view finder
  • Store::createAnnotation() automatically enriches annotations with source_file, source_line, class_name, and render_line

Blade view tracking middleware

  • New TrackBladeViews middleware injects a JSON script tag listing all rendered Blade views per request
  • Works with the npm package's Blade adapter to provide framework context for plain Blade pages (e.g. Livewire starter kit auth pages)

On-demand source resolution endpoint

  • New POST /instruckt/resolve-source endpoint for resolving source info on demand

MCP crash fix

  • MCP tools no longer use abort() which threw uncaught HttpException in the stdio context
  • Store::updateAnnotation() returns null instead of aborting; MCP tools handle gracefully

Install command improvement

  • InstallCommand now always includes 'blade' in the adapters list alongside any JS framework adapter
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope