- What is visavi/cleanup used for in a Laravel application?
- visavi/cleanup is an operational hygiene package for Laravel apps that deletes disposable files such as caches, logs, and temporary artifacts. You define configurable cleanup rules and exclusions, then run the provided Artisan command manually or from the scheduler. It is best treated as an optional maintenance layer rather than a backup, audit-retention, or compliance tool.
- How do I install visavi/cleanup with Composer?
- Install it with Composer using composer require visavi/cleanup, then publish the package configuration if a publishable config file is provided. Because repository visibility and documentation are limited, confirm the package name and version constraints resolve correctly before adding it to a production application. Commit the published configuration so retention rules stay version controlled.
- Which Laravel and PHP versions does visavi/cleanup support?
- The provided materials do not state a supported Laravel or PHP version matrix, so check the package's composer.json constraints before adoption. Test against your exact Laravel and PHP versions in a non-production environment. If the constraints are missing or overly broad, pin the package and review it internally.
- How do I configure which files and directories get cleaned?
- Cleanup targets are controlled through the package configuration, where you enumerate paths and define retention or exclusion rules. Keep the list narrow and explicit rather than relying on broad globs, and exclude anything owned by backups, uploads, or tenant data. Treat the configuration file as production infrastructure and review every change.
- Can I schedule the visavi/cleanup command in Laravel's task scheduler?
- Yes. The package is described as compatible with scheduled tasks, so you register the cleanup command in Laravel's scheduler alongside your other maintenance jobs. Stagger it away from deployments and backup windows, and ensure only one instance runs at a time. Monitor runtime and disk I/O for large directory trees.
- Does visavi/cleanup support a dry run or logging before deleting files?
- The materials do not confirm a built-in dry-run mode, so verify the command's available options before production use. If dry-run or verbose output is unavailable, validate in staging with logging and a narrow target first. Start with a low-risk directory such as temporary files before expanding to logs, cache, or sessions.
- Is it safe to run visavi/cleanup in production?
- It can be safe when scoped carefully, but destructive file deletion is the primary risk. Misconfigured retention, broad globs, symlink traversal, permission errors, and overlapping schedules can cause unintended data loss. Require staging validation, explicit path allowlists, logging, alerting, and a documented rollback or manual cleanup procedure.
- How does visavi/cleanup handle symlinks, permissions, and overlapping scheduled runs?
- Symlink handling, file locking, and overlap behaviour are not documented in the provided overview, so test them against your real filesystem layout first. Run cleanup with restricted permissions under the deployment user, and prevent concurrent runs using the scheduler's overlap controls. Review container lifecycles and shared filesystem boundaries before enabling it.
- Does visavi/cleanup replace Laravel's built-in cache, session, and log pruning?
- It can overlap with Laravel's native cache, session, and log pruning, so avoid configuring both for the same paths. Keep framework-native pruning where it is already configured, and use visavi/cleanup for additional local artifacts. Duplicate cleanup can cause confusing behaviour and unnecessary I/O.
- What are the alternatives to visavi/cleanup, and is it actively maintained?
- Alternatives include Laravel's built-in pruning commands and a small custom Artisan command tailored to your own paths. visavi/cleanup has low community validation, roughly 23 stars, limited documentation, and a future-dated release marker, so review provenance before making it critical. Keep an exit plan to replace it if maintenance lapses.