- What is Laravel Loom and what is it used for?
- Laravel Loom is a static-analysis and introspection package for Laravel applications. It uses AST parsing to emit a versioned machine-readable schema of routes, controllers, models, events, dispatches, and model events, exposed through the loom:scan Artisan command and optional tooling such as an MCP server. Teams use it for AI-assistant grounding, impact analysis, and documentation generation without adding runtime dependencies.
- How do I install Laravel Loom in a Laravel application?
- Install it as a Composer dev dependency with composer require --dev lucasp1337/laravel-loom, publish its configuration, and run php artisan loom:scan. It is designed for incremental adoption and does not require schema migrations or a data store. Check the repository README for the exact publish tag and any optional MCP or Boost setup steps.
- Which Laravel versions does Laravel Loom support?
- Laravel Loom v0.4.0 requires Laravel 12 or later because Laravel 11 support was dropped in that release. The provided materials do not document a specific PHP floor or a stated Laravel 13 policy, so verify the Composer constraints and repository documentation before adopting. Treat framework-version support as part of your upgrade review.
- Does Laravel Loom add runtime overhead to my Laravel app?
- No. Laravel Loom is development- and CI-time tooling rather than a request-path dependency, so it adds no runtime overhead to the application. Its failures happen during scanning or CI, not in production request handling.
- How do I configure Laravel Loom for a monorepo or custom directory layout?
- Laravel Loom v0.4.0 makes scan paths configurable through package configuration and loom:scan command options. Publish the config, point scan paths at the directories you want indexed, and use command options for per-run overrides. Re-check route coverage after changing paths, especially when route files are loaded by service providers.
- What does Laravel Loom's loom:scan output include?
- Loom emits a versioned, machine-readable schema covering routes, controllers, models, events, dispatches, and model events added in this release. The output is intended for tooling such as AI assistants, documentation generators, and impact-analysis workflows. It is not a runtime API for your application.
- Do I need Livewire or the MCP server to use Laravel Loom?
- No. Livewire and laravel/mcp are optional, and the core scanner is decoupled from them so you can adopt Loom without pulling in Livewire or the MCP server. The MCP server and Laravel Boost guidelines and skill are conditional features for teams that want agent consumption. Optional-package classes are tagged internal to reinforce that boundary.
- Is Laravel Loom's schema 1.0 stable and backward compatible?
- Laravel Loom freezes schema 1.0 and the MCP surface at v0.4.0, but the provided materials do not confirm whether 0.3.x consumers remain backward-compatible with the JSON payload. Because this is a 0.x package, treat schema changes as review-worthy rather than routine. Pin versions and diff scan output when upgrading.
- Can Laravel Loom detect dynamically registered routes and runtime service-container wiring?
- Laravel Loom is a static AST scanner, so it has structural blind spots for dynamically registered routes and runtime service-container wiring. v0.4.0 widened coverage to provider-loaded route files and group-attribute inheritance, but it is not a runtime introspection tool. Supplement scans with tests or manual review for highly dynamic applications.
- How should I manage Laravel Loom upgrades and CI reliability?
- Pin Laravel Loom to a reviewed version and run loom:scan in CI as a dev-only step. Because 0.x semver allows breaking changes in minor releases, and v0.4.0 included scanner-internal refactors plus a Laravel 11 drop, review each upgrade and diff the emitted schema. The materials do not state that loom:scan validates output against schema 1.0, so treat partial scans as potentially incomplete and verify critical outputs.