- How do I install boost-core in a Laravel project?
- Run `composer require sandermuller/boost-core` to install. No Laravel-specific dependencies exist, but you’ll need PHP 8.2+. For Laravel 9 or older, upgrade PHP or polyfill missing features like `array_unpack`. Follow the [install guide](https://github.com/SanderMuller/boost-core/blob/main/llms-install.md) for agent API keys and CLI setup.
- Can boost-core work with Laravel’s Boost CLI or Artisan?
- Yes, but it’s framework-agnostic by default. Wrap `boost sync` in a custom Artisan command (e.g., `php artisan boost:sync`) or extend `laravel/boost` via a service provider. The package includes a Laravel Boost badge but doesn’t enforce integration—you control the glue code.
- Which Laravel versions does boost-core support?
- Officially tested on Laravel 10+ (PHP 8.2+). For Laravel 9 or older, upgrade PHP or manually resolve compatibility gaps (e.g., `array_unpack`). The package avoids Laravel-specific features to ensure broad PHP project support, but Laravel’s scheduler or queues can trigger syncs asynchronously.
- How do I store AI agent responses in Laravel’s database?
- Create an `ai_responses` table using Eloquent migrations, then log responses after syncs. Example: `Schema::create('ai_responses', ...)` with fields for `agent`, `prompt`, and `response`. Cache frequent responses in Redis to reduce API calls. The package doesn’t enforce this, but it’s a common Laravel pattern.
- What’s the best way to handle API rate limits from agents like Claude or Copilot?
- Implement retry logic with exponential backoff and cache responses using Laravel’s `cache()->remember()`. Track quotas via environment variables (e.g., `CLAUDE_API_LIMIT`) and fail gracefully. The package supports tag filtering to sync only critical skills during high-traffic periods.
- Does boost-core conflict with laravel/boost or other Laravel AI tools?
- No direct conflict, but `laravel/boost` may overlap in CLI or task scheduling. Audit both packages for feature parity (e.g., sync triggers) before integrating. Boost-core’s `.ai/` structure is independent, so you can use it alongside Boost or other tools by wrapping its CLI in Artisan commands.
- How do I automate syncs in Laravel (e.g., via cron or Envoyer)?
- Use Laravel’s scheduler to run `php artisan boost:sync` (if wrapped) or call `boost sync` directly in a deploy hook (e.g., Envoyer’s `post-deploy`). For async processing, dispatch a queue job with `dispatch(new AgentSyncJob())`. The package’s CLI supports `--agents` flags to sync only specific agents.
- What if different AI agents (e.g., Claude vs. Copilot) give conflicting answers?
- Boost-core doesn’t resolve conflicts—it syncs your `.ai/` content verbatim to each agent. Mitigate this by tagging skills for specific agents (e.g., `claude-only`) or using Laravel’s database to log responses for manual review. Prioritize agents critical to your workflow in `withAgents()`.
- How secure is handling API keys for multiple AI agents?
- Store keys in Laravel’s `.env` or use [Laravel Vault](https://laravel.com/docs/vault) for encrypted storage. Avoid hardcoding keys in `.ai/` files. The package validates keys at sync time but relies on your project’s security practices. Rotate keys via environment variables and revoke compromised ones.
- Can I test boost-core without deploying to all nine supported agents?
- Yes. Use the `--agents` CLI flag to sync only specific agents (e.g., `boost sync --agents=claude,gemini`). Mock API responses locally by stubbing agent clients or using Laravel’s HTTP testing tools. The package’s modular design lets you disable agents entirely in `withAgents([])`.