artisanpack-ui/core
ArtisanPack UI Core unifies configuration from all ArtisanPack UI packages into a single config/artisanpack.php file. A scaffold command auto-detects and merges installed package settings while preserving your existing customizations.
cms-framework, visual-editor, ui-components, accessibility). Adopting Core is a platform bet, not a feature bet — treat it as an architecture decision record, not a sprint ticket.artisanpack:diagnose (--json, --fix), artisanpack:check-compatibility (--strict), artisanpack:check-updates (--security-only, --changelog), artisanpack:make-package — maps directly to reduced support and onboarding cost. Estimate savings in engineer-hours of environment triage, dependency drift, and new-package bootstrapping before committing to build equivalents.ArtisanPackLogger with audit(), the AuditLogCreated event, a configurable logging channel, and artisanpack.core.logging.audit.enabled give you a hook for "who changed what, when." Useful if a roadmap item is SOC 2 / audit trail / admin action history — but only if your own packages emit through it; it is not a turnkey compliance product.ArtisanPackServiceProvider collapses a sibling provider to a few properties plus one registerPackageBindings() hook; ArtisanPackTestCase plus ArtisanPackAssertions (assertPackageInstalled, assertConfigEquals, assertCommandExists, assertFacadeWorks) means new contributors get ecosystem-aware tests on day one. Directly supports a "reduce ramp-up time" OKR.config/artisanpack.php, with --force semantics and preservation of existing customizations, is a deploy-safety and ops-story feature: one file to review in a PR, one file to diff across environments, one file to hand to support.a11y* helpers into artisanpack-ui/accessibility; 1.2 widened to Laravel 13 with no removed public API and opt-in migration. Budget a migration spike for any pre-1.1 code, and note PHP 8.3 is required for Laravel 13.Strong fit when:
artisanpack.php plus artisanpack:scaffold-config is the whole point.diagnose, check-compatibility, check-updates — as a substitute for bespoke CI health checks.ArtisanPackLog.Look elsewhere / defer when:
audit() emits an event and a log line; retention, immutability, and tamper-evidence are yours to build.For executives (one paragraph): ArtisanPack UI Core is a small MIT-licensed foundation package that lets a family of Laravel packages share one configuration file, one logging and audit channel, and one set of developer tools. The business case is efficiency and consistency, not new customer-facing capability: it reduces the engineering cost of maintaining multiple in-house packages and gives us built-in diagnostics, compatibility and update checking, and package scaffolding. The risk is maturity — the project has negligible public adoption and a single maintainer — so we recommend a time-boxed spike inside a low-risk service rather than a platform-wide commitment, with a documented exit path since the license permits forking.
For engineering (the pitch):
Adopt Core 1.2 as the substrate for our package suite. It gives us, for free: ArtisanPackServiceProvider (config merge, command/view/route registration, singletons — declared via properties), ConfigurationManager with schema-based validation (type/required/in) behind artisanpack_config(), a [package]-prefixed logger with audit events, BladeDirectiveRegistrar that validates directive names at registration instead of at render, a typed exception hierarchy, and ArtisanPackTestCase + assertions so new packages get tests immediately. Operationally, artisanpack:diagnose --json --fix, check-compatibility --strict, and check-updates --security-only slot straight into CI. Constraint check: Laravel 11–13, PHP 8.2+ (8.3 for L13); 1.2 removes no public API, so it is a safe increment from 1.1. Mitigation: pin the version, wrap Core/ArtisanPackConfig behind our own interfaces, and keep the audit sink in our code so a swap is a week, not a quarter.
Ask: one sprint of evaluation on a non-critical service, with success measured by (a) config sprawl reduced to a single artisanpack.php, (b) artisanpack:diagnose wired into CI, and (c) at least one internal package scaffolded via make-package.
How can I help you explore Laravel packages today?