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

Modules Laravel Package

coolsam/modules

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Modular Monolith Architecture: Enables teams to decompose large Filament-based admin panels into independent, reusable modules (e.g., "Billing Module," "Inventory Module"). Reduces merge conflicts and improves maintainability for complex applications.
  • Plugin Economy: Accelerates the creation of shareable Filament plugins (e.g., internal tools, SaaS features) that can be toggled on/off per tenant or environment. Aligns with roadmap goals for composable admin panels.
  • Build vs. Buy: Justifies in-house development of modular Filament features over third-party plugins when domain-specific logic is required (e.g., custom workflows for a niche industry).
  • Multi-Tenancy/SaaS: Supports tenant-isolated admin panels by scoping Filament resources/pages to modules. Example: A SaaS platform could offer "Marketing Tools" as an optional module.
  • Legacy Migration: Facilitates gradual migration of monolithic Filament panels to modular architecture without full rewrite. Modules can be incrementally extracted and tested.
  • Team Autonomy: Empowers backend teams to own entire feature lifecycles (e.g., "Payments Module") from Filament UI to business logic, reducing handoffs to frontend teams.

When to Consider This Package

  • Avoid if:
    • Your Filament panel is small (<10 resources/pages) and unlikely to grow. Overhead of module scaffolding isn’t justified.
    • You need Filament 3.x or Laravel <11.x (use v4.x of this package or alternatives like spatie/laravel-filament-resource-modules).
    • Your team lacks experience with Laravel Modules or composer autoloading. Steep learning curve for module isolation.
    • You require advanced Filament features (e.g., livewire components, themes) not yet fully supported in this package (check WIP sections).
  • Consider alternatives if:
    • You prioritize performance and want to avoid module autoloading overhead (use vanilla Filament + manual organization).
    • You need dynamic module loading (e.g., loading modules only for specific tenants). This package requires upfront registration.
    • Your use case fits Filament Plugins (v3+) but doesn’t need module-level isolation (simpler to use filament/filament-plugin-core).

How to Pitch It (Stakeholders)

For Executives/Stakeholders:

"This package lets us build a scalable, modular admin panel for [Product Name] without sacrificing performance or developer velocity. By organizing Filament resources into independent modules (e.g., 'Customer Management,' 'Reports'), we can:

  • Ship features faster: Teams work on modules in parallel without blocking each other.
  • Reduce technical debt: Isolate changes to specific areas (e.g., updating the 'Billing' module won’t break 'Inventory').
  • Monetize internally: Package modules as optional add-ons (e.g., 'Advanced Analytics' for premium users).
  • Future-proof: Easily swap out or upgrade modules (e.g., replace a legacy 'CRM' module with a new one).

Example: If we’re building a SaaS platform, this lets us offer 'Marketing Tools' as a toggleable module—no more monolithic deployments. ROI: 30% faster feature delivery for modular components, with minimal upfront cost."*


For Engineering Teams:

"This wraps nwidart/laravel-modules to give Filament first-class module support. Key benefits:

  1. CLI-Driven Workflow:
    • php artisan module:filament:install scaffolds a module with Filament clusters (resources/pages/widgets) in one command.
    • Generate new Filament files scoped to a module (e.g., module:filament:resource Post creates Modules/Posts/app/Filament/Resources/PostResource.php).
  2. Zero Boilerplate:
    • Register ModulesPlugin once in your Filament panel—all modules auto-discover (no manual plugin registration).
    • Configure clusters (grouped navigation) or standalone panels per module.
  3. Isolation & Reusability:
    • Modules can be published as Composer packages (e.g., @company/billing-module) for reuse across projects.
    • Access control hooks (WIP) let you restrict module resources to specific roles/tenants.
  4. Compatibility:
    • Works with Filament 4/5, Laravel 11/12, and PHP 8.2+. Supports experimental Filament 5 (as of v5.1.0).

Tradeoffs:

  • Requires learning Laravel Modules (composer autoloading, module bootstrapping).
  • Module autoloading adds ~50ms cold-start overhead (negligible for most use cases).

Next Steps:

  1. Pilot: Use this for one high-priority module (e.g., 'Reports') to validate the workflow.
  2. Document: Create a runbook for module:filament:* commands and module structure.
  3. Integrate: Add module-specific CI/CD (e.g., deploy Modules/Posts independently).

Example Command:

# Create a module with Filament scaffolding
php artisan module:make Billing --filament
# Add a resource to the module
php artisan module:filament:resource Invoice --model=App\Models\Invoice
```"
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.
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor
spatie/laravel-javascript-views
spatie/ignition-contracts
earls/stork-command-queue-bundle