tomatophp/tomato-pms-module
Laravel module for TomatoPHP that adds a lightweight project management system to your admin panel. Organize projects, tasks, teams, and progress in one place, with a consistent admin interface and Composer-based installation.
Architecture fit. tomatophp/tomato-pms-module is a Laravel domain module in the TomatoPHP ecosystem — a Composer package exposing a service provider, Filament panel plugin, config publishables, and migrations for project-management (PMS) entities, layered on the TomatoPHP admin/panel. v1.0.1 is purely additive: it introduces a "register generate" artisan command (PR #1) that scaffolds a module registration entry. No schema, config-key, or contract changes are implied. That fits the standard Laravel package-module pattern and, more specifically, TomatoPHP's convention of self-registering modules.
Integration feasibility. Composer-installable with Laravel auto-discovery; the new command is opt-in tooling and does not execute on install or boot, so the blast radius of v1.0.1 is effectively nil for existing consumers. Feasibility is high for a team already on TomatoPHP; moderate-to-low for a team adopting it cold, since the package is one module in a larger, coupled ecosystem (admin panel, Filament, other Tomato modules).
Technical risk. The release itself carries near-zero regression risk. The residual risk sits at the package level, not the patch level: v1.0.x maturity, a single-maintainer project (with a brand-new first-time contributor in this release), a one-line changelog with no linked issue scope or test evidence, and unstated version constraints against Laravel/Filament. Filament's own major-version cadence is the most likely source of future breakage. Migration ordering and table prefixing relative to sibling Tomato modules are unverified.
Key questions.
composer.json, and did v1.0.1 widen or narrow those constraints?register generate emit, and does it overwrite an existing registration file or fail safely?php artisan list under a namespaced prefix, and is it idempotent?Stack fit. Assumes Laravel 10/11, PHP 8.1+, Livewire 3, Filament 3, and the TomatoPHP admin panel as the host application. If the host app is a plain Laravel app without Tomato/ Filament, this package is not a fit — it is a panel module, not a standalone PMS library.
Migration path. v1.0.0 → v1.0.1 is additive only. There is no data migration, no config rename, and no published-asset change. The practical migration is: bump the Composer constraint to ^1.0.1, run composer update tomatophp/tomato-pms-module, confirm the lockfile resolves, and stop. The new command is available but inert until invoked. No downtime, no rollback plan beyond re-pinning 1.0.0.
Compatibility. Compatible with existing v1.0.0 installs by construction. The one thing to actually diff is the composer.json require block between the two tags — minor releases sometimes tighten a Filament or Laravel constraint, which is the only plausible way this patch breaks an existing lockfile.
Sequencing.
composer.json and src/ between v1.0.0...v1.0.1; confirm the change is confined to a new command class plus provider registration.composer update --with-dependencies in a scratch environment to catch resolution conflicts against other Tomato modules.Maintenance. Low churn volume, but low bus factor: a single primary maintainer and a first-time contributor on this PR. Expect the maintenance cost to be dominated by tracking Filament and Laravel upgrades rather than by this module's own releases. Budget a periodic compatibility review each time the host app majors.
Support. Community-tier: GitHub issues and the TomatoPHP community channels. There is a paid support/consulting layer in the broader TomatoPHP ecosystem worth confirming if this module becomes load-bearing for internal tooling. No vendor SLA should be assumed from the package alone.
Scaling. Standard Laravel/Filament scaling characteristics — the ceiling is the database and the Filament resource query patterns (N+1s on relation columns, unpaginated tables), not the module. Validate list-view query counts against production-sized datasets before rollout; PMS entities tend to grow relationally fast.
Failure modes.
composer dump-autoload / php artisan package:discover not run) — module silently absent from the panel.Ramp-up. Under a day for a Laravel developer to install and exercise the module; two to three days to become productive with Filament plugin conventions and the TomatoPHP module registration model well enough to debug panel-registration issues. Because v1.0.1 ships developer tooling rather than user-facing features, the ramp-up cost is unchanged by this release — but the new command modestly lowers the cost of authoring further modules, which is a small positive for teams planning to extend the ecosystem.
How can I help you explore Laravel packages today?