Skip to content

📚 AudioLab Path Management System - Documentation

Sistema Profesional de Gestión de Rutas - NO MÁS HARDCODING

🎯 Problema que Resuelve

Antes teníamos 46+ archivos con rutas hardcodeadas como:

# ❌ MALO - Se rompe si cambias estructura
$path = "$PSScriptRoot/../1_scripts/LIB"
$scripts = "C:\AudioDev\audio-lab\06_BRAIN\1_automation\1_scripts"

✅ La Solución Profesional

1. Archivo Central de Configuración

📁 audio-lab/
  └── 📁 06_BRAIN/
      └── 📄 AudioLab.paths.json  # ← Toda la estructura aquí

2. Módulo PowerShell

📁 06_BRAIN/
  └── 📁 0_system/
      └── 📁 1_modules/
          └── 📄 AudioLabPaths.psm1  # ← Funciones para leer paths

3. Scripts Usan Funciones

# ✅ BUENO - Siempre funciona
$libPath = Get-AudioLabPath "automation.lib" -Absolute
$scripts = Get-AudioLabPath "automation.scripts" -Absolute

🚀 Instalación (Primera Vez)

# 1. Commit de seguridad
git add .
git commit -m "Before implementing path management system"

# 2. Instalar el sistema
.\path_management_system.ps1 -Action install

# 3. Actualizar scripts existentes
.\path_management_system.ps1 -Action update

# 4. Añadir a tu perfil de PowerShell
notepad $PROFILE
# Añadir esta línea:
. "C:\AudioDev\audio-lab\06_BRAIN\init_paths.ps1"

📖 Uso en Scripts

Obtener una ruta:

# Importar el módulo (si no está en el perfil)
Import-Module "$env:AUDIOLAB_OPS\0_system\1_modules\AudioLabPaths.psm1"

# Obtener rutas usando notación de puntos
$scriptsPath = Get-AudioLabPath "automation.scripts" -Absolute
# Returns: C:\AudioDev\audio-lab\06_BRAIN\1_automation\0_scripts

$libPath = Get-AudioLabPath "automation.lib" -Absolute
# Returns: C:\AudioDev\audio-lab\06_BRAIN\1_automation\0_scripts\LIB

Variables de entorno disponibles:

$env:AUDIOLAB_ROOT     # C:\AudioDev\audio-lab
$env:AUDIOLAB_OPS      # C:\AudioDev\audio-lab\06_BRAIN
$env:AUDIOLAB_SCRIPTS  # C:\AudioDev\audio-lab\06_BRAIN\1_automation\0_scripts
$env:AUDIOLAB_LIB      # C:\AudioDev\audio-lab\06_BRAIN\1_automation\0_scripts\LIB

🔄 Cuando Cambias la Estructura

Ejemplo: Renombrar carpetas

# 1. Editar AudioLab.paths.json
notepad "C:\AudioDev\audio-lab\06_BRAIN\AudioLab.paths.json"
# Cambiar: "scripts": "1_scripts" → "scripts": "0_scripts"

# 2. Renombrar físicamente
.\path_management_system.ps1 -Action migrate

# 3. ¡Listo! Todos los scripts siguen funcionando

📊 Estructura del JSON

{
    "version": "1.0.0",
    "base": {
        "repo": "C:\\AudioDev\\audio-lab",
        "ops": "06_BRAIN"
    },
    "divisions": {
        "system": "0_system",
        "automation": "1_automation",
        "intelligence": "2_intelligence",
        "governance": "3_governance",
        "operations": "4_operations",
        "quality": "5_quality"
    },
    "automation": {
        "scripts": "0_scripts",
        "lib": "0_scripts/LIB",
        "tools": "2_tools",
        "ai": "3_ai",
        "templates": "4_templates"
    }
}

🎨 Nueva Estructura con MAYÚSCULAS

La raíz ahora usa MAYÚSCULAS para diferenciarse:

audio-lab/
├── 01_CORE/        # MAYÚSCULAS nivel raíz
├── 02_BLOCKS/
├── 03_PLUGINS/
├── 04_ASSETS/
├── 05_MARKET/
├── 06_BRAIN/         # ← Nuestro foco
│   ├── 0_system/   # minúsculas nivel 2
│   ├── 1_automation/
│   ├── 2_intelligence/
│   ├── 3_governance/
│   ├── 4_operations/
│   └── 5_quality/
└── 07_META/

💡 Tips para IA/Claude

Cuando trabajes con AudioLab, menciona siempre:

"Uso el sistema de paths de AudioLab.
No uses rutas hardcodeadas.
Usa Get-AudioLabPath para obtener rutas."

🔧 Comandos Útiles

# Ver estado del sistema
.\path_management_system.ps1 -Action status

# Actualizar scripts con rutas viejas
.\path_management_system.ps1 -Action update

# Ver configuración actual
Get-Content "C:\AudioDev\audio-lab\06_BRAIN\AudioLab.paths.json" | ConvertFrom-Json | Format-List

# Testear una ruta
Get-AudioLabPath "automation.scripts.admin" -Absolute

⚠️ Reglas Importantes

  1. NUNCA hardcodees rutas en scripts nuevos
  2. SIEMPRE usa el sistema de paths
  3. ACTUALIZA el JSON cuando cambies estructura
  4. DOCUMENTA cambios en el JSON con comentarios

🚦 Checklist de Migración

  • Commit de seguridad
  • Instalar sistema de paths
  • Actualizar scripts existentes
  • Renombrar carpetas raíz a MAYÚSCULAS
  • Actualizar AudioLab.paths.json
  • Probar scripts críticos
  • Actualizar documentación
  • Commit final

Sistema creado: Sept 2025 Versión: 1.0.0 Mantenedor: AudioLab Team