CLI y hooks

BricksShift expone un API PHP y comandos WP-CLI para quienes quieran integrarlo en su flujo de trabajo (scripts de migración, CI, automatizaciones).


WP-CLI

Todos los comandos requieren licencia activa (o BRICKSSHIFT_DEV_LICENSE).

wp bricksshift scan

Lanza el Scanner y devuelve un JSON con el entorno detectado y los vectores disponibles.

wp bricksshift scan

wp bricksshift run

Ejecuta un vector. Siempre con backup previo.

wp bricksshift run --vector=A
wp bricksshift run --vector=B --only-used
wp bricksshift run --vector=D --css-path=assets/tailwind.css
wp bricksshift run --vector=G --cf-file=/tmp/design.core --transparency-variants=essential

Flags comunes:

  • --dry-run — no escribe, solo muestra qué haría.
  • --only-used — filtra a tokens presentes en templates (vectores A y B).
  • --fluid-strategy=dual|preserve|static
  • --transparency-variants=all|essential|omit (vectores F y G)

wp bricksshift backup list

wp bricksshift backup list
wp bricksshift backup restore --id=42

Hooks PHP

Actions

  • bricksshift/before_convert — disparado antes de ejecutar un vector.
    do_action( 'bricksshift/before_convert', $vector, $options );
    
  • bricksshift/after_convert — tras terminar la conversión.
    do_action( 'bricksshift/after_convert', $vector, $conversion_id, $result );
    
  • bricksshift/before_backup — antes de crear el snapshot.
  • bricksshift/after_backup — tras crear el snapshot.
  • bricksshift/restore_complete — tras restaurar un backup.

Filters

  • bricksshift_backup_retention — nº de backups a retener (default 10).
  • bricksshift_token_map — permite añadir o sobreescribir entradas del mapa Nivel 1.
    add_filter( 'bricksshift_token_map', function( $map, $vector ) {
      if ( $vector === 'A' ) {
        $map['my-custom-token'] = 'bricks-var-custom';
      }
      return $map;
    }, 10, 2 );
    
  • bricksshift_skip_token — permite saltarse tokens concretos.
  • bricksshift_writer_bricks_payload — última oportunidad de modificar el payload antes de escribir a wp_options.

API PHP

Si prefieres invocar BricksShift desde tu propio código:

use BricksShift\Core;

$core = Core::get_instance();

$result = $core->run_vector( 'A', [
  'only_used'       => true,
  'fluid_strategy'  => 'dual',
  'reactive_colors' => true,
] );

if ( is_wp_error( $result ) ) {
  wp_die( $result->get_error_message() );
}

echo $result['conversion_id'];

Todas las operaciones son síncronas. Para sitios grandes, ejecuta desde WP-CLI con --url=... y php -d memory_limit=512M.