tomatophp/tomato-support
tomato-support adds a helpdesk and ticketing system to TomatoPHP admin panels built with Filament. Teams can manage customer tickets, replies, priorities, and statuses from one dashboard, keeping support requests organized in a single, easy-to-use place.
First decision it forces: is this a feature or a dependency? The metadata calls it a "ticketing and support system with API for tomato admin," but the package's own documentation describes it as "the foundational support package… bundling shared helpers, base classes, and utilities that TomatoPHP applications and add-on packages rely on." Those are two different products with two different business cases. Before any roadmap conversation, one 30-minute spike (install it in a scratch app, run composer show, list the registered service providers and routes) resolves which one we're actually evaluating. Getting this wrong is how a PM ends up promising a help desk and shipping an autoload of string helpers.
Assuming it is the ticketing/admin module the repo description implies, it informs:
Assuming it is the foundation/helpers package the docs describe, it informs almost nothing at the product level — it becomes an engineering dependency decision (do we build on TomatoPHP's base classes or our own?), with the PM's only real interest being the resulting lock-in and the review burden it adds to every future package we adopt.
Assessment of this specific release (v1.0.3): empty changelog apart from a compare link. Low-signal patch. Semver implies no breaking changes; "implies" is not "verified." PM action: no roadmap impact, no migration, no spend, no re-litigation of the build-vs-buy call. Engineering action: diff v1.0.2...v1.0.3 before bumping and pin the version in composer.json rather than floating on ^1.0.
The signal that should actually shape the decision is not this release — it's the surrounding numbers: 0 stars, 0 dependents, one release in the visible history, last touched May 2024. Low stars and zero dependents mean effectively no peer review and no community to absorb a breaking change for us. That doesn't disqualify the package for an MVP, but it should push us toward the isolation strategy below and away from making it load-bearing.
Consider it when most of these hold:
Look elsewhere when any of these hold:
Adoption hygiene regardless of path — make these gates, not suggestions: confirm Laravel/PHP constraints and Filament major compatibility in composer.json; read the migrations, permission and policy surface before install; check last-commit and issue-response cadence; and because v1.0.3 ships an empty changelog, the diff review is non-optional.
For executives — the one-paragraph version: We can stand up a working support-ticket capability inside our existing admin panel using an open-source Laravel module instead of building it or buying per-seat SaaS. It keeps customer conversations in our own database, removes a multi-sprint build from the roadmap, and costs integration effort rather than a subscription. The trade-off is dependency on a small, thinly maintained open-source ecosystem: a good call for an MVP or low-to-moderate support volume, and something to revisit if support becomes revenue-critical, high-volume, or omnichannel. This release (v1.0.3) is a routine patch with no documented changes — no spend, no migration, no re-planning. One caveat: the package's metadata and its own documentation disagree about whether it's a ticketing module or a utilities library, so we're confirming that before we commit the roadmap story to anyone.
For engineering — the practical summary:
Small-surface Filament/TomatoPHP package. If it's the ticketing module, it brings its own models, migrations, resources and policies into the admin panel; if it's the foundation package, it's shared helpers, base classes and a service provider we'd be building on top of. Resolve that first. Fit is conditional on our Filament major and Laravel/PHP constraints — read composer.json before committing, and don't assume the metadata is accurate. Pin to 1.0.3 exactly rather than floating on ^1.0, and review the v1.0.2...v1.0.3 diff ourselves since the changelog is empty. Budget the standard guardrails for a zero-dependent third-party package: wrap the ticket domain behind our own service interface so a future swap to a dedicated help desk never touches product code, and add smoke tests around ticket creation and reply flows so an upstream break surfaces in CI, not in production.
For the product team — what to communicate: We're choosing speed and data ownership over depth. Do not promise customers omnichannel intake, SLA guarantees, deflection metrics, or reporting depth on this foundation. Scope the first release to in-admin ticketing with clear intake, status, and assignment — the parts this package credibly delivers — and treat richer support workflows as a separate decision with its own business case and its own budget.
How can I help you explore Laravel packages today?