Weave 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

Sais Bundle Laravel Package

survos/sais-bundle

Symfony bundle from Survos that packages Sais integration into reusable configuration, services, and Twig helpers, so you can add Sais-powered features to your app with minimal setup. Install via Composer, enable the bundle, and configure as needed.

View on GitHub
Deep Wiki
Context7

Getting Started

Install the package with Composer and confirm the service provider is auto-discovered:

composer require <vendor>/<package>:^1.5
php artisan list

Start by running whichever Artisan command the package exposes — that is the fastest way to see what it actually does in your app. Check the package README for the command signature, then run it against a local database or sandbox environment first.

For the 1.5.600 release specifically, verify that console tooling still works after the zenstruck/console removal. Run your usual package commands once before wiring them into scripts or CI.

Implementation Patterns

  • Call commands from application code using Laravel’s native console API rather than shelling out:
    Artisan::call('<package-command>', ['--option' => 'value']);
    $output = Artisan::output();
    
  • Schedule package commands in routes/console.php or your scheduler:
    Schedule::command('<package-command>')->daily();
    
  • Test console behavior with Laravel’s built-in console assertions. After the 1.5.600 release, prefer:
    $this->artisan('<package-command>')
        ->expectsOutput('Done')
        ->assertExitCode(0);
    
    instead of any Zenstruck console test helpers.
  • Wrap commands in your own Artisan commands when you need app-specific defaults, logging, or pre-flight checks. Extend Illuminate\Console\Command and call the package command internally via Artisan::call().
  • Use the package in deployment pipelines by invoking its commands from your deploy script after migrations and cache clears.

Gotchas and Tips

  • zenstruck/console is gone in 1.5.600. If your project or test suite explicitly required it, remove it from composer.json and replace any Zenstruck test assertions with Laravel’s $this->artisan() helpers. Also check for indirect reliance on Zenstruck base command classes — package commands now use native Laravel/Symfony console components.
  • Clear caches after upgrading to avoid stale command discovery or config:
    php artisan optimize:clear
    composer dump-autoload
    
  • Run composer why zenstruck/console after updating to confirm nothing else still pulls it in transitively. If something does, check whether that dependency has a compatible release.
  • Command signatures may have shifted if the package refactored its console layer. Re-check php artisan help <package-command> rather than assuming old option names.
  • Test console output in CI because output formatting and exit codes are the most likely places for regressions after a console dependency removal.
  • Pin the version in production (^1.5.600 or exact) until you’ve verified your scheduled jobs, deploy scripts, and console tests against the new release.
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.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource