tomatophp/tomato-artisan
Tomato Artisan brings Laravel's Artisan commands into your TomatoPHP admin panel, letting you browse, search, and run them from the browser with output shown inline—handy for quick maintenance tasks without opening a terminal.
What the release contains. v1.1.1 is a cosmetic patch: dark-mode styling and RTL (right-to-left) support for the artisan command screens. No API, command signature, config schema, or migration changes are indicated by the changelog. Assessed risk of this specific bump is low.
Architecture fit. tomatophp/tomato-artisan is a Laravel package in the TomatoPHP admin ecosystem, and its purpose is to expose Artisan command execution and output through the admin panel UI rather than the CLI. Architecturally that means it is a thin presentation layer over Illuminate\Console\Kernel / Artisan::call(), registered through a service provider and surfaced as a panel page or plugin (typically Filament-based, consistent with the rest of the Tomato suite). The dark-mode/RTL change confirms the package ships its own views and front-end assets, which is the main integration surface a TPM needs to care about.
Integration feasibility. Straightforward on a standard Laravel app: composer require, publish config and assets, register the plugin/provider in the admin panel. The real feasibility question is not installation but governance: a web-accessible Artisan runner is effectively remote command execution against your application. Before adoption, confirm the package enforces authorization (policy/gate), an allow-list of permitted commands, and an audit trail of who ran what and when.
Technical risk.
max_execution_time, memory limits, and gateway timeouts. Determine whether execution is queued or blocking.tomatophp/tomato-admin and the Filament major version used across the suite. Version drift across Tomato packages is the most likely source of breakage.Key questions for the maintainer/vendor.
migrate:fresh, db:wipe) excluded by default?Stack fit. Comfortable fit for a Laravel 10/11 application already running (or planning to run) the TomatoPHP admin panel with Filament. It is a poor fit for teams that do not use Tomato/Filament, or that operate in a compliance regime requiring change-managed, audited production access — there the CLI plus a runbook is the better control.
Migration path. No migration required for this release. Greenfield adoption: composer require tomatophp/tomato-artisan, publish config and assets, register the plugin in the panel provider, assign permissions to a restricted role. Existing installs: composer update tomatophp/tomato-artisan, then re-publish assets so the dark-mode/RTL views land.
Compatibility. Pin the package alongside tomatophp/tomato-admin and the Filament major version, and lock them together in composer.json. Treat the Tomato suite as a versioned cluster — upgrade it as a unit rather than allowing independent float, and verify against the app's Laravel/PHP matrix in CI.
Sequencing.
Maintenance. Low ongoing maintenance for the package itself; it tracks the Tomato/Filament release cadence, so budget for coordinated upgrades roughly in step with Filament majors. The RTL/dark-mode change is a reminder that the package owns front-end assets — include an asset re-publish step in your deploy checklist.
Support. Expect two support categories: (a) UI/theming issues, currently the most active area of change; (b) permission and execution failures. Document the intended use cases and explicitly document what is not permitted, otherwise the tool becomes an ad-hoc ops console with no accountability.
Scaling. Execution cost is bounded by the command, not the package. For anything beyond short read-only commands, insist on queued execution and streamed or paginated output; a synchronous request-per-command model will not survive multi-node deployments where web nodes are ephemeral and commands must run against a single designated host. Concurrency is a real concern — two operators triggering migrate simultaneously is an outage, so a lock or queue serialization is advisable.
Failure modes.
Ramp-up. Low for developers already fluent in Artisan — the mental model transfers directly, typically under an hour to first productive use. The real onboarding cost is for operations and support staff, who need the permission model, the allow-list, and the escalation path explained before they are given access. Budget a short written runbook plus a demo; treat the tool as a controlled convenience over the CLI, not a replacement for deployment or migration pipelines.
How can I help you explore Laravel packages today?