Skip to content

馃搳 Registry Sync Scripts

Scripts para sincronizaci贸n y gesti贸n del Registry central de AudioLab.

馃搧 Scripts Incluidos

1. Git-Schema-Scanner.ps1

Escanea el repositorio buscando todos los archivos de metadatos (*.atom.json, *.block.json, etc.)

Uso:

# Escanear y mostrar en consola
.\Git-Schema-Scanner.ps1

# Escanear y exportar a JSON
.\Git-Schema-Scanner.ps1 -ExportJson

# Modo verbose (m谩s detalles)
.\Git-Schema-Scanner.ps1 -Verbose

2. Registry-Materializer.ps1

Toma los resultados del scanner y crea un registry.json maestro centralizado.

Uso:

# Generar registry.json
.\Registry-Materializer.ps1

# Forzar regeneraci贸n (sobrescribe existente)
.\Registry-Materializer.ps1 -Force

# Hacer backup antes de regenerar
.\Registry-Materializer.ps1 -BackupExisting

# Validar el schema despu茅s de generar
.\Registry-Materializer.ps1 -ValidateSchema

3. Git-Hook-Installer.ps1

Instala hooks de Git para actualizar autom谩ticamente el registry en cada commit.

Uso:

# Instalar hooks
.\Git-Hook-Installer.ps1

# Desinstalar hooks
.\Git-Hook-Installer.ps1 -Uninstall

# Probar el hook sin hacer commit
.\Git-Hook-Installer.ps1 -TestHook

# Forzar reinstalaci贸n
.\Git-Hook-Installer.ps1 -Force

馃攧 Workflow T铆pico

# 1. Primera vez - instalar hooks
cd AUDIO-LAB
.\0_scripts\01_REGISTRY\14_sync\Git-Hook-Installer.ps1

# 2. Generar registry inicial
.\0_scripts\01_REGISTRY\14_sync\Registry-Materializer.ps1

# 3. Verificar contenido
.\0_scripts\01_REGISTRY\14_sync\Git-Schema-Scanner.ps1 -Verbose

# 4. De ahora en adelante, el registry se actualiza autom谩ticamente en cada commit

馃搷 Ubicaci贸n del Registry

El registry.json se guarda en: - Principal: 01_REGISTRY/10_database/registry.json - Alternativa: 01_REGISTRY/registry.json

Puedes cambiar esto editando la l铆nea 219 en Registry-Materializer.ps1

馃幆 Directorios Escaneados

Por defecto, los scripts escanean: - 01_CORE/03_modules/ - M贸dulos y 谩tomos - 02_BLOCKS/ - Bloques de nivel superior - 03_PLUGINS/ - Aplicaciones - 04_ASSETS/ - Assets y recursos - 05_SERVICES/ - Servicios - 06_BRAIN/ - Operaciones

鈿欙笍 Personalizaci贸n

Cambiar tipos de archivos a buscar

Edita Git-Schema-Scanner.ps1 l铆nea 58:

$patterns = @(
    "*.atom.json",
    "*.block.json",
    "*.engine.json",
    "*.plugin.json",
    "*.manifest.json",
    "metadata.json"
)

Cambiar directorios a escanear

Edita Git-Schema-Scanner.ps1 l铆nea 48:

$scanDirs = @(
    "01_CORE/03_modules",
    # Agrega m谩s directorios aqu铆
)

馃悰 Troubleshooting

"No se puede ejecutar el script"

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

"Git hooks no funcionan"

# Verificar que est谩n instalados
ls .git/hooks/pre-commit*

# Reinstalar
.\Git-Hook-Installer.ps1 -Uninstall
.\Git-Hook-Installer.ps1 -Force

"Registry no se actualiza"

# Verificar manualmente
.\Registry-Materializer.ps1 -Verbose

# Verificar permisos de escritura
Test-Path "01_REGISTRY/10_database" -PathType Container

馃搳 Estructura del Registry

El registry.json generado tiene esta estructura:

{
  "version": "1.0.0",
  "generated": "2025-01-16T10:30:00",
  "statistics": {
    "totalArtifacts": 42,
    "byType": {
      "atoms": 20,
      "blocks": 10,
      "plugins": 12
    }
  },
  "atoms": { ... },
  "blocks": { ... },
  "plugins": { ... },
  "index": {
    "byFamily": { ... },
    "byType": { ... },
    "byId": { ... },
    "dependencies": { ... }
  }
}

AudioLab Factory - Registry Sync v1.0