Core - v1.2.0

Configuration

ArtisanPack UI Core publishes a single config/artisanpack.php file. Every ArtisanPack UI package merges its section into that file, so the application owner has one place to override defaults across the whole ecosystem.

Publishing the config

php artisan artisanpack:scaffold-config

Generates config/artisanpack.php. Re-run it after installing or removing a sibling package to keep the file in sync. Existing keys are preserved by default; pass --force to overwrite them with the package defaults.

If you prefer Laravel's standard publishing workflow:

php artisan vendor:publish --tag=artisanpack-config

File structure

The file is a flat map keyed by the kebab-cased package name. The Core package owns the core key:

<?php

return [

    'core' => [

        // Shared logging configuration (consumed by every package's logger).
        'logging' => [
            'channel' => env( 'ARTISANPACK_LOG_CHANNEL' ),
            'audit'   => [
                'enabled' => true,
            ],
        ],

    ],

    // Other ArtisanPack UI packages merge their keys here, e.g. 'media-library',
    // 'cms-framework', 'livewire-ui-components', 'security'.

];

Core keys

core.logging.channel

Type: string|null. Default: null ( falls back to Laravel's default log channel ).

Name of the Laravel log channel that every ArtisanPack UI package writes through. The channel must exist in your application's config/logging.php. Setting it routes every entry — informational, warning, error, and audit — to that channel so aggregated streams are easy to filter.

The default value reads from the ARTISANPACK_LOG_CHANNEL environment variable.

core.logging.audit.enabled

Type: bool. Default: true.

Whether $log->audit() calls actually persist an entry and dispatch an AuditLogCreated event. Set to false to silently drop audit calls in environments that should not record them ( e.g. local development that does not want production-style audit log noise ).

Updates keys

core.updates.cache_ttl

Type: int ( seconds ). Default: 3600.

How long the PackagistClient caches Packagist release metadata for. The artisanpack:check-updates command refreshes this cache on every read so frequently-queried packages keep their entries warm.

Adding a package-specific section

After installing a sibling package — say artisanpack-ui/media-library — re-run artisanpack:scaffold-config and the command merges the package's defaults into a new top-level key:

return [

    'core' => [
        // ...
    ],

    'media-library' => [
        // Defaults merged from artisanpack-ui/media-library's published config.
    ],

];

Override individual values in place. Re-running the scaffold command will not clobber your overrides unless you pass --force.

Reading values

Prefer the artisanpack_config() helper or the ArtisanPackConfig facade over config('artisanpack.…') — they go through ConfigurationManager, which supports schema validation and runtime overrides:

$theme = artisanpack_config( 'livewire-ui-components.theme.primary', '#3b82f6' );

use ArtisanPackUI\Core\Facades\ArtisanPackConfig;

$theme = ArtisanPackConfig::get( 'livewire-ui-components', 'theme.primary', '#3b82f6' );

See Configuration management for the full ConfigurationManager surface ( set, merge, validate, schemas ).