- What is eveseat/services used for?
- eveseat/services is the service layer package for SeAT, the Laravel-based EVE Online management tool. It supplies contracts and implementations that let third-party integrations such as Discord and Slack plug into SeAT consistently. It also provides helpers for wiring custom services into SeAT's command and job pipeline.
- How do I install eveseat/services in a Laravel SeAT application?
- Install it with Composer using composer require eveseat/services. In a standard Laravel or SeAT setup, package discovery should register the service provider automatically; if your SeAT version requires it, add the provider to config/app.php. Check the package README for any publishable configuration or required environment variables.
- Which Laravel versions does eveseat/services support?
- The authoritative Laravel constraint is in the package's composer.json, and it should match the Laravel version used by your supported SeAT release. Do not force a Laravel upgrade just to install this package; instead choose a package tag compatible with your SeAT version. If you are on an older SeAT install, review the package tags and release notes before updating.
- How do I register a custom service with SeAT's command and job pipeline?
- Implement the relevant contract, bind your implementation in a service provider, and make sure SeAT can resolve it from the container. The package provides helpers for exposing your service to SeAT's command and job pipeline so commands and queued jobs can use the same abstraction. Keep constructor dependencies explicit and serializable so jobs behave correctly when queued.
- Does eveseat/services include Discord and Slack integrations out of the box?
- It provides contracts and implementations for third-party integrations such as Discord and Slack. You still need to configure credentials, webhooks, or tokens and enable the integration in your SeAT setup. Treat the provided classes as the adapter layer rather than a complete chat bot or notification product.
- Can I use eveseat/services without SeAT?
- It is designed as the service layer for SeAT, so it assumes SeAT's application context and service container conventions. You could reuse individual contracts in another Laravel application, but the helpers for SeAT's command and job pipeline would not apply. For a non-SeAT Laravel app, a more general service package is usually a better fit.
- How do I test services built with eveseat/services?
- Swap contract bindings with fakes or mocks in Laravel's service container and assert that your commands and jobs resolve the expected service. Use Laravel's testing helpers and queue fakes to verify job pipeline behavior without sending real messages. Because the integrations are contract-based, you can test your service logic without calling Discord or Slack.
- Is eveseat/services production-ready and actively maintained?
- Production suitability depends on your SeAT version and the package's release cadence, so pin a tagged version and test upgrades in staging first. Review the repository's issue tracker, release history, and composer.json constraints for maintenance signals. Treat it as part of the SeAT ecosystem rather than a standalone general-purpose Laravel package.
- What are alternatives to eveseat/services for SeAT integrations?
- For SeAT-specific work, the main alternative is building your own service provider and contracts inside your plugin. For chat integrations, you can call Discord or Slack SDKs directly, but you lose SeAT's shared service abstractions and pipeline helpers. Evaluate eveseat/services against your need for reusable contracts across multiple SeAT plugins.
- How do I configure credentials for Discord or Slack with eveseat/services?
- Configuration typically follows SeAT and Laravel conventions using environment variables read through config files. Set the Discord or Slack tokens, webhook URLs, or other secrets in your .env and ensure the service provider reads them from config. Never commit secrets, and use your normal SeAT deployment process for secret management.