--- 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' -front/src/ -n rg "from.*-front" --include='*.ts' -back/src/ -n # Verificar imports entre módulos diferentes rg "from.*" --include='*.ts' / -n ``` ### 2. Verificar Acoplamento ```sh # Contar imports por arquivo (alto = muito acoplado) fd "*.ts" -back/src/ --exec sh -c 'echo "$(grep -c "^import" "$1") $1"' _ {} | sort -rn | head -10 # Detectar dependências circulares rg "from.*\.\/" --include='*.ts' /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' -back/src/rotas/ -n # Verificar se schemas Zod estão no *-comuns (não duplicados no back) rg "z\.object" --include='*.ts' -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' / -n # Verificar limite de linhas fd "*.ts" /src/ --exec sh -c 'lines=$(wc -l < "$1"); [ "$lines" -gt 250 ] && echo "$lines $1"' _ {} # Verificar uso de any rg "as any|: any" --include='*.ts' / -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`