# ADR-005: Path Aliases

**Estado:** Aceptada
**Fecha:** 2025-11-24
**Responsable:** Architecture-Analyst
**Proyecto:** ERP Construccion

## Contexto

Imports relativos profundos dificultan refactoring y legibilidad.

## Decision

**Path aliases** en Backend y Frontend:

```typescript
// Antes
import { Button } from '../../../shared/ui/Button';

// Despues
import { Button } from '@shared/ui';
import { ProjectStatus } from '@construccion/constants';
```

**Aliases:**
- `@shared` - Componentes compartidos
- `@modules` - Modulos de negocio
- `@construccion` - Modulos especificos de construccion
- `@erp-generic` - Imports del ERP Generico

## Justificacion

### Referencia a Gamilit
- Imports limpios y consistentes
- Refactoring facil

### Especifico para Construccion
- Separacion clara entre generico y especifico
- `@construccion` para modulos de obra, INFONAVIT, etc.

## Consecuencias

### Positivas
- Imports limpios
- Refactoring facil (mover carpetas sin romper imports)
- Claridad en origen de modulos

### Negativas
- Configuracion inicial en tsconfig
- Mitigacion: Setup una sola vez

## Implementacion

### Acciones Requeridas
- [ ] Configurar tsconfig.json con aliases
- [ ] Configurar vite.config.ts con aliases
- [ ] Refactorizar imports existentes

### Criterios de Aceptacion
- Todos los imports usan aliases
- Build funcional con aliases
- IDE resuelve aliases correctamente

## Referencias
- [ERP Generico ADR-005](../../erp-generic/docs/adr/ADR-005-path-aliases.md)
