drupal-tooling
Drupal development tooling skill for DDEV local environments and Drush command-line operations (Drupal 8-11+). Use when working with Docker-based development environments, Drush commands, deployment workflows, or site management tasks.
What this skill does
# Drupal Development Tooling ## Overview Enable expert-level Drupal development tooling capabilities with comprehensive guidance for DDEV Docker-based local development environments and Drush command-line operations for Drupal 8, 9, 10, and 11+. ## When to Use This Skill Invoke this skill when working with: - **DDEV operations**: Starting, managing, or configuring local development environments - **Drush commands**: Site management, configuration, cache operations - **Database management**: Import/export, snapshots, migrations - **Deployment workflows**: Configuration sync, database updates - **Development setup**: Project initialization, environment configuration - **Troubleshooting**: Debugging environment or command-line issues ## Core Capabilities ### 1. DDEV Local Development Manage Docker-based local Drupal environments efficiently: **Project initialization:** ```bash # Initialize new Drupal project ddev config --project-type=drupal10 --docroot=web --create-docroot # Start containers ddev start # Install Drupal via Composer ddev composer create drupal/recommended-project # Install Drupal site ddev drush site:install standard --account-name=admin --account-pass=admin ``` **Daily operations:** ```bash # Start/stop project ddev start ddev stop ddev restart # SSH into container ddev ssh # Launch site in browser ddev launch # View logs ddev logs ddev logs -f # Follow logs ``` **Database operations:** ```bash # Import database ddev import-db --src=database.sql.gz # Export database ddev export-db --file=backup.sql.gz --gzip # Create snapshot ddev snapshot # Restore snapshot ddev snapshot restore # Access MySQL CLI ddev mysql ``` **Reference documentation:** - `references/ddev.md` - Complete DDEV reference ### 2. Drush Command-Line Management Execute site management tasks efficiently: **Cache management:** ```bash # Rebuild cache (most common) ddev drush cr # Clear specific cache ddev drush cache:clear css-js ddev drush cache:clear render ``` **Configuration management:** ```bash # Export configuration ddev drush config:export ddev drush cex # Import configuration ddev drush config:import ddev drush cim # View configuration ddev drush config:get system.site ddev drush cget system.site # Set configuration ddev drush config:set system.site name "My Site" ddev drush cset system.site name "My Site" ``` **Module management:** ```bash # Enable module ddev drush pm:enable mymodule -y ddev drush en mymodule -y # Uninstall module ddev drush pm:uninstall mymodule -y ddev drush pmu mymodule -y # List modules ddev drush pm:list ddev drush pml # Download module ddev drush pm:download webform ``` **Database updates:** ```bash # Run pending database updates ddev drush updatedb -y ddev drush updb -y ``` **User management:** ```bash # One-time login URL ddev drush user:login ddev drush uli # Login as specific user ddev drush uli admin # Create user ddev drush user:create newuser --mail="[email protected]" --password="pass" # Change password ddev drush user:password admin "newpassword" ``` **Reference documentation:** - `references/drush.md` - Complete Drush reference ### 3. Development Workflows Common development and deployment workflows: **Standard deployment:** ```bash # Run database updates ddev drush updb -y # Import configuration ddev drush cim -y # Clear cache ddev drush cr # One-liner version ddev drush updb -y && ddev drush cim -y && ddev drush cr ``` **Fresh site setup:** ```bash # Clone repository git clone <repo> myproject cd myproject # Start DDEV ddev start # Install dependencies ddev composer install # Import database and files ddev import-db --src=database.sql.gz ddev import-files --src=files.tar.gz # Clear cache ddev drush cr # Launch site ddev launch ``` **Theme/module development:** ```bash # Start work ddev start # Clear cache frequently ddev drush cr # Watch for changes (if using build tools) ddev exec npm run watch # View logs ddev drush watchdog:tail ``` ### 4. Code Generation Use Drush generators to scaffold code: ```bash # Generate module ddev drush generate module # Generate controller ddev drush generate controller # Generate form ddev drush generate form # Generate plugin block ddev drush generate plugin:block # Generate service ddev drush generate service # Generate theme ddev drush generate theme # Generate hook ddev drush generate hook # List all generators ddev drush generate --help ``` ### 5. Debugging & Troubleshooting Debug and monitor your Drupal site: **Enable Xdebug:** ```bash # Enable Xdebug ddev xdebug on # Disable Xdebug (improves performance) ddev xdebug off # Check status ddev xdebug status ``` **View logs:** ```bash # Recent watchdog messages ddev drush watchdog:show # Follow watchdog logs ddev drush watchdog:tail # Container logs ddev logs -s web ddev logs -s db ``` **Project information:** ```bash # Show project details ddev describe # Drupal status ddev drush status ddev drush st # List all DDEV projects ddev list ``` ## Best Practices ### DDEV Best Practices 1. **Run tools through DDEV**: Always use `ddev drush`, `ddev composer`, `ddev npm` 2. **Snapshots**: Create before risky operations 3. **Performance**: Enable Mutagen (Mac) or NFS for better file sync 4. **Xdebug**: Only enable when debugging 5. **Version control**: Commit `.ddev/config.yaml` to share configuration 6. **Clean shutdown**: Use `ddev stop` before system shutdown ### Drush Best Practices 1. **Aliases**: Use short aliases (`cr`, `cex`, `cim`, `uli`) 2. **Automation**: Add `-y` flag to skip confirmations 3. **Custom commands**: Create for repetitive tasks 4. **Site aliases**: Configure for multi-environment management 5. **Chaining**: Use `&&` for sequential operations 6. **Error handling**: Check exit codes in scripts ### Deployment Best Practices 1. **Order**: Run updates (`updb`) before config import (`cim`) 2. **Testing**: Test deployment workflow in staging first 3. **Backups**: Always backup before major changes 4. **Rollback plan**: Have a way to revert changes 5. **Monitoring**: Check logs after deployment ## Common Operations ### Initialize DDEV for Existing Project ```bash cd existing-project # Configure DDEV ddev config # Start containers ddev start # Install dependencies ddev composer install # Import database (if available) ddev import-db --src=backup.sql.gz # Clear cache ddev drush cr ``` ### Pull From Remote Environment ```bash # Configure Drush alias for remote site # Then pull database and files ddev pull @production # Or pull separately ddev drush sql:sync @production @self ddev rsync @production:%files @self:%files ``` ### Update Drupal Core ```bash # Backup first ddev snapshot # Update with Composer ddev composer update drupal/core "drupal/core-*" --with-all-dependencies # Run database updates ddev drush updb -y # Clear cache ddev drush cr ``` ### Enable Development Settings ```bash # Copy development settings cp sites/example.settings.local.php sites/default/settings.local.php # Disable CSS/JS aggregation via Drush ddev drush config:set system.performance css.preprocess 0 -y ddev drush config:set system.performance js.preprocess 0 -y # Enable Twig debugging # Edit sites/default/services.yml: # twig.config: # debug: true # auto_reload: true # cache: false # Clear cache ddev drush cr ``` ## Troubleshooting ### DDEV Issues **Containers won't start:** ```bash # Check Docker is running docker ps # Restart DDEV ddev restart # Power off and restart ddev poweroff ddev start # Clean restart ddev restart --clean ``` **Port conflicts:** ```bash # Check what's using ports ddev describe # Change ports in .ddev/config.yaml: # router_http_port: "8080" # router_https_port: "8443" # Restart ddev restart ``` **Permission issues:** ```bash # Fix file permissions ddev exec chmod -R 755 web/sites/default/files ddev exec chown -R www-data:www-data web/sites/default/files ``` ### Drush Issues **Drush not found:** ```bash # Always run thro
Related in Cloud & DevOps
appbuilder-action-scaffolder
IncludedCreate, implement, deploy, and debug Adobe Runtime actions with consistent layout, validation, and error handling. Use this skill whenever the user needs to add actions to an App Builder project, understand action structure (params, response format, web/raw actions), configure actions in the manifest, use App Builder SDKs (State, Files, Events, database), deploy and invoke actions via CLI, debug action issues, or implement patterns such as webhook receivers, custom event providers, journaling consumers, large payload redirects, action sequence pipelines, and Asset Compute workers. Also trigger when users mention serverless functions in Adobe context, action logging, IMS authentication for actions, or cron-style scheduled actions.
orchestrating-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. Use this skill when the user needs a multi-step Data Cloud pipeline, cross-phase troubleshooting, or data space and data kit management. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase sf data360 workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching phase-specific skill), the task is STDM/session tracing/parquet telemetry (use observing-agentforce), standard CRM SOQL (use querying-soql), or Apex implementation (use generating-apex).
github-project-automation
IncludedAutomate GitHub repository setup with CI/CD workflows, issue templates, Dependabot, and CodeQL security scanning. Includes 12 production-tested workflows and prevents 18 errors: YAML syntax, action pinning, and configuration. Use when: setting up GitHub Actions CI/CD, creating issue/PR templates, enabling Dependabot or CodeQL scanning, deploying to Cloudflare Workers, implementing matrix testing, or troubleshooting YAML indentation, action version pinning, secrets syntax, runner versions, or CodeQL configuration. Keywords: github actions, github workflow, ci/cd, issue templates, pull request templates, dependabot, codeql, security scanning, yaml syntax, github automation, repository setup, workflow templates, github actions matrix, secrets management, branch protection, codeowners, github projects, continuous integration, continuous deployment, workflow syntax error, action version pinning, runner version, github context, yaml indentation error
sf-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase `sf data360` workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching sf-datacloud-* skill), the task is STDM/session tracing/parquet telemetry (use sf-ai-agentforce-observability), standard CRM SOQL (use sf-soql), or Apex implementation (use sf-apex).
fabric-cli
IncludedUse this skill for Fabric.so CLI workflows with the `fabric` terminal command: diagnose/install/login, search or browse a Fabric library, save notes/links/files, create folders, ask the Fabric AI assistant, manage tasks/workspaces, generate shell completion, check subscription usage, produce JSON output, and use Fabric as persistent agent memory. Do not use for Microsoft Fabric/Azure/Power BI `fab`, Daniel Miessler's Fabric framework, Python Fabric SSH, Fabric.js, or textile/fashion fabric.
lark
IncludedLark/Feishu CLI skills: lark-cli operations for docs, markdown, sheets, base, calendar, im, mail, task, okr, drive, wiki, slides, whiteboard, apps, approval, attendance, contact, vc, minutes, event. Use when the user needs to operate Lark/Feishu resources via lark-cli, send messages, manage documents, spreadsheets, calendars, tasks, OKRs, deploy web pages, or any Feishu/Lark workspace operations.