artisanpack-ui/core
Unifies configuration for all ArtisanPack UI packages into one config/artisanpack.php file. Publish a base config and use artisanpack:scaffold-config to auto-detect and merge settings while preserving customizations, with an optional --force override for keys.
Strengths:
artisanpack.php file, aligning with Laravel’s native configuration system. This reduces cognitive load for developers managing multiple packages.ArtisanPackServiceProvider) and shared utilities (logging, Blade directives, configuration management, testing helpers) that reduce boilerplate for sibling packages. This accelerates development for future ArtisanPack UI components.ArtisanPackFacade and ArtisanPackServiceProvider base classes enforce consistency across the ecosystem, making it easier to onboard new packages.artisanpack:diagnose, artisanpack:check-compatibility) proactively identify integration issues, reducing runtime surprises.Weaknesses:
artisanpack.php could become a bottleneck if the file grows too large or if packages introduce conflicting defaults.Laravel Compatibility:
PHP Version:
Composer Dependencies:
Key Integration Points:
| Feature | Integration Method | Risk Level |
|---|---|---|
| Configuration Merge | artisanpack:scaffold-config command |
Low |
| Service Provider | Auto-registers via CoreServiceProvider |
Low |
| Blade Directives | BladeDirectiveRegistrar singleton |
Medium |
| Logging | ArtisanPackLogger + AuditLogCreated |
Low |
| Testing Utilities | ArtisanPackTestCase base class |
Low |
| Diagnostics | artisanpack:diagnose CLI command |
Low |
Low Risk:
Medium Risk:
--force flag may overwrite user settings unintentionally.ArtisanPackTestCase and assertions are powerful but may require additional setup for non-ArtisanPack projects.High Risk:
Ecosystem Adoption:
Long-Term Strategy:
Team Alignment:
Alternatives:
config:merge or spatie/laravel-config-array?spatie/laravel-package-tools) that offer comparable functionality with broader adoption?Ideal For:
artisanpack:diagnose command is valuable for health checks and onboarding.Less Ideal For:
artisanpack.php file may not fit distributed systems.| Step | Action | Effort | Risk |
|---|---|---|---|
| 1. Assessment | Audit existing config files for conflicts/duplication. | Low | Low |
| 2. Installation | composer require artisanpack-ui/core |
Low | Low |
| 3. Configuration Publishing | php artisan vendor:publish --tag=artisanpack-config |
Low | Low |
| 4. Scaffolding | php artisan artisanpack:scaffold-config |
Medium | Medium |
| 5. Testing | Validate merged configs with artisanpack:diagnose |
Medium | Low |
| 6. Incremental Adoption | Migrate one ArtisanPack package at a time to leverage shared services. | High | Medium |
| 7. Customization | Extend artisanpack.php or override defaults as needed. |
Low | Low |
artisanpack:check-compatibility).Phase 1: Evaluation
artisanpack:diagnose to identify potential conflicts.artisanpack:scaffold-config in a staging environment first.Phase 2: Core Integration
Phase 3: Extended Features
ArtisanPackTestCase for new tests.Phase 4: Optimization
DiagnosticRunner.Pros:
ArtisanPackLogger provides consistent audit trails across packages.Cons:
How can I help you explore Laravel packages today?