From drupal-boost
Drupal configuration management including config export/import, Config Split, environment-specific configuration, and config override patterns. Use when managing Drupal configuration, setting up Config Split, or handling environment-specific settings.
npx claudepluginhub abderrahimghazali/drupal-boostThis skill is limited to using the following tools:
Configuration is stored in YAML files and tracked in the `config/sync` directory (set in `settings.php` via `$settings['config_sync_directory']`).
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Configuration is stored in YAML files and tracked in the config/sync directory (set in settings.php via $settings['config_sync_directory']).
# Export all config
drush config:export # or drush cex
# Import all config
drush config:import # or drush cim
# Check status (what's changed)
drush config:status # or drush cst
# Export single config
drush config:get system.site
# Set single value
drush config:set system.site name "My Site"
Install: composer require drupal/config_split
# config/sync/config_split.config_split.dev.yml
id: dev
label: Development
folder: ../config/splits/dev
status: true
weight: 0
module:
devel: 0
kint: 0
webprofiler: 0
theme: {}
complete_list: []
partial_list: []
// settings.php
$config['config_split.config_split.dev']['status'] = FALSE;
$config['config_split.config_split.prod']['status'] = FALSE;
// settings.local.php (dev only)
$config['config_split.config_split.dev']['status'] = TRUE;
// settings.prod.php (prod only)
$config['config_split.config_split.prod']['status'] = TRUE;
drush config-split:export dev # or drush csex dev
drush config-split:import dev # or drush csim dev
Override any config at runtime (not exported):
// Disable caching in development
$config['system.performance']['css']['preprocess'] = FALSE;
$config['system.performance']['js']['preprocess'] = FALSE;
// Change site name per environment
$config['system.site']['name'] = 'My Site (Dev)';
Always define schema for custom config in config/schema/MODULE_NAME.schema.yml:
MODULE_NAME.settings:
type: config_object
label: 'Module settings'
mapping:
api_key:
type: string
label: 'API Key'
max_items:
type: integer
label: 'Maximum items'
enabled:
type: boolean
label: 'Enabled'
drush cexdrush cim$config overrides in settings.php for secrets and environment valuesdrush cim as part of your deployment pipelinedrush cst before importing to see what will change