📚 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¶
2. Módulo PowerShell¶
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¶
- NUNCA hardcodees rutas en scripts nuevos
- SIEMPRE usa el sistema de paths
- ACTUALIZA el JSON cuando cambies estructura
- 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