---
name: auditar-arquitetura-modulo
description: >
  Auditoria arquitetural de módulo: fronteiras, acoplamento, dependências
  circulares, contratos de API e dívidas técnicas.
scope: local
---

# Skill: Auditar Arquitetura de Módulo

## Objetivo

Avaliar a saúde arquitetural de um módulo antes de propor mudanças estruturais.

## Etapas

### 1. Verificar Fronteiras de Pacote

```sh
# Detectar imports que cruzam fronteiras
rg "from.*-back" --include='*.ts' --include='*.vue' <modulo>-front/src/ -n
rg "from.*-front" --include='*.ts' <modulo>-back/src/ -n

# Verificar imports entre módulos diferentes
rg "from.*<outro-modulo>" --include='*.ts' <modulo>/ -n
```

### 2. Verificar Acoplamento

```sh
# Contar imports por arquivo (alto = muito acoplado)
fd "*.ts" <modulo>-back/src/ --exec sh -c 'echo "$(grep -c "^import" "$1") $1"' _ {} | sort -rn | head -10

# Detectar dependências circulares
rg "from.*\.\/" --include='*.ts' <modulo>/src/ -l | head -20
```

### 3. Verificar Contratos de API

```sh
# Listar rotas e seus schemas de validação
rg "router\.(get|post|put|patch|delete)" --include='*.ts' <modulo>-back/src/rotas/ -n

# Verificar se schemas Zod estão no *-comuns (não duplicados no back)
rg "z\.object" --include='*.ts' <modulo>-back/src/ -l
```

### 4. Avaliar Dívida Técnica

```sh
# Buscar marcadores de dívida
rg "TODO|FIXME|HACK|WORKAROUND|DEBT|TEMP" --include='*.ts' --include='*.vue' <modulo>/ -n

# Verificar limite de linhas
fd "*.ts" <modulo>/src/ --exec sh -c 'lines=$(wc -l < "$1"); [ "$lines" -gt 250 ] && echo "$lines $1"' _ {}

# Verificar uso de any
rg "as any|: any" --include='*.ts' <modulo>/ -c
```

### 5. Relatório

```markdown
# Auditoria Arquitetural — [módulo]

## Resumo
- **Violações de fronteira:** N
- **Arquivos com acoplamento alto (>10 imports):** N
- **Dívidas técnicas (TODO/FIXME):** N
- **Arquivos acima de 250 linhas:** N

## Achados
### 🔴 Crítico
| Tipo | Arquivo | Problema | Ação |
|------|---------|----------|------|

### 🟡 Moderado
| Tipo | Arquivo | Problema | Ação |
|------|---------|----------|------|

## Plano de Ação
1. ...
```

## Referências

- Rule: `global/rules/diagnostico-antes-correcao`
- Rule: `global/rules/fronteiras-monorepo`
- Skill: `global/skills/mapear-codigo-fonte/SKILL`
