- What is mikebronner/development-settings used for in Laravel?
- It is a Laravel package for managing environment-specific development settings across repositories. It helps you define and load local or dev configuration values safely, keeping sensitive or machine-specific options out of version control. Teams use it to streamline setup across different development environments.
- How do I install mikebronner/development-settings?
- Install it with Composer using composer require mikebronner/development-settings. Then publish the package configuration with php artisan vendor:publish for the MikeBronner\DevelopmentSettings\DevelopmentSettingsServiceProvider provider. After publishing, define the synchronized keys in config/development-settings.php.
- How does it synchronize development settings across repositories?
- The package overview describes automatic synchronized development settings, but the provided material does not specify the exact sync mechanism. You should confirm whether it uses shared config files, a Git-based workflow, or another approach before adopting it. The goal is to reduce manual .env duplication and keep development settings consistent.
- Does mikebronner/development-settings support Laravel 10 and PHP 8.1?
- The technical evaluation indicates Laravel 10+ and PHP 8.1+ as the likely target based on modern Laravel support. Laravel 9 may be backward-compatible if there are no major config system changes. Always verify the package Composer constraints before installing.
- Does this package replace Laravel's .env file or config system?
- No, it is designed to work with Laravel's existing .env system and config caching rather than replace them. It can integrate with Laravel's config helper or custom bootstrappers. Production-grade secrets should still use a dedicated secrets manager such as Laravel Forge or Vault.
- How do I prevent sensitive values like DB_PASSWORD from being synced?
- Use the package configuration file, config/development-settings.php, to explicitly whitelist synchronized keys and exclude sensitive values. The evaluation recommends an ignored_keys array and validation to avoid syncing development settings that contain secrets. Keep production credentials out of synchronized development settings entirely.
- What happens if a local .env value conflicts with a synced development setting?
- The provided evaluation does not define the exact conflict resolution behavior, so confirm precedence in the package documentation or tests. As a safeguard, explicitly whitelist synchronized keys and exclude sensitive or machine-specific values. This reduces the chance of unintended overrides across repositories.
- Can I use mikebronner/development-settings in CI/CD or Laravel testing?
- The evaluation suggests it can help pre-populate CI environments such as GitHub Actions with development settings, reducing flakiness. It may also support Laravel testing, but you should verify that php artisan test does not pollute production-like configs. Keep test-specific values isolated from synchronized development defaults.
- Does mikebronner/development-settings add runtime performance overhead?
- The evaluation notes near-zero runtime overhead because settings are loaded once during bootstrap. There may be disk I/O during synchronization if the package uses file-based storage such as Git repositories. Normal Laravel config caching should keep request-time impact minimal.
- Is it suitable for production secrets or multi-service Laravel monorepos?
- It is focused on development settings, not production-grade secrets such as AWS credentials or database passwords. For teams managing multiple Laravel services or a monorepo with shared development configuration, it can reduce manual .env duplication and improve consistency. Use Laravel Forge, Vault, or a similar secrets manager for production credentials.