- What is laboiteacode/filament-dependency-graph and what does it do?
- It is a Filament plugin that acts as a visual architecture explorer for Laravel and Filament applications. It automatically discovers Eloquent models and relations, Livewire components, panels, resources, pages and relation managers, then presents them in an interactive graph, tree, table and inspector with search, filtering and exports. No package-specific configuration is needed on standard applications.
- How do I install Filament Dependency Graph in a Laravel app?
- Install it with Composer using composer require laboiteacode/filament-dependency-graph:^1.2, then run php artisan filament:assets to publish the Filament assets. Publish or update the package configuration if you plan to enable the optional http and views scopes. Register the plugin in your Filament panel and open the graph page.
- Which Laravel, Filament, Livewire and PHP versions are supported?
- Compatibility is explicit and narrow: PHP 8.3 to 8.5, Laravel 12 or 13, Filament 4 or 5, and Livewire 3 or 4. Check version drift before rollout, because the package targets these ranges specifically. It is best suited to teams already using Filament for internal tooling.
- Do I need to configure anything for automatic model and resource discovery?
- No package-specific configuration is required on standard applications. Eloquent models, relations, application Livewire components, panels, resources, pages and relation managers are discovered automatically. The optional http and views scopes are opt-in via configuration blocks, plugin methods and the --scope flag on the export command.
- What are the HTTP and Views scopes and how do I enable them?
- v1.2.0 adds two opt-in scopes: HTTP maps route-to-controller-to-model, policy, event, job, mailable and notification flows, while Views maps Blade and Livewire component usage and ownership. Enable them through the http and views configuration blocks, plugin methods, or by passing --scope=http or --scope=views to the export command. Both rely on static analysis, so dynamic behaviour may not be fully represented.
- Is Filament Dependency Graph safe to expose in a production admin panel?
- The graph can reveal internal architecture, so access should be restricted to appropriate engineering roles. Most teams run it in local or staging environments, or gate it behind Filament authorization in production. Decide who owns configuration and access control before exposing it in a shared Filament admin.
- How accurate is the static analysis for dynamic dispatches and polymorphic relations?
- The package uses static analysis and does not instantiate controllers, form requests, policies, Livewire classes or mailables, and does not compile templates, which keeps it safe but means dynamic behaviour can be missed or misrepresented. Dynamic dispatches, container-resolved classes, variable view names and conditional route registration may not resolve correctly. Badges such as No reference found, No dispatcher found, dynamic references and missing views flag ambiguity, but treat them as signals rather than guarantees.
- How do I export the dependency graph for CI or architecture reviews?
- You can export from the Filament UI or via the CLI export command. Use --scope=http or --scope=views to limit output to specific scopes, and prefer module-level exports when a full-app graph is too dense. Generating artifacts in CI is suitable for architecture reviews, onboarding and change-impact analysis.
- Does it work with route caching, and what about stale route caches?
- Route cache inclusion is supported and useful, but stale route caches can produce misleading graphs, so refresh the cache in the environments where the graph is used. Cached snapshots rebuild automatically when the snapshot schema changes, such as the 1.4 schema in v1.2.0. Verify cache behaviour per environment after upgrading.
- How do I upgrade an existing install to v1.2.0?
- Upgrade with composer require laboiteacode/filament-dependency-graph:^1.2, then run php artisan filament:assets and update your configuration with the http and views blocks. Expect automatic snapshot rebuilds because the schema is now 1.4, and confirm cache behaviour in each environment. Validate that existing Filament and Laravel graph views still render before enabling the new scopes.