#!/usr/bin/env sh # comando sh ../.agent/verificar-linhas.sh || exit 1 LIMITE=250 SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd) if [ -d "$SCRIPT_DIR/../.agent" ]; then RAIZ=$(cd "$SCRIPT_DIR/.." && pwd) else RAIZ="$SCRIPT_DIR" fi RESULTADO=$( find "$RAIZ" \ -type d \( \ -name node_modules -o \ -name .git -o \ -name dist -o \ -name .output -o \ -name .nuxt -o \ -name .cache -o \ -name .evidencias -o \ -name build \ \) -prune \ -o \ -type f \( \ -name "*.ts" -o \ -name "*.tsx" -o \ -name "*.vue" -o \ -name "*.css" \ \) \ -print | while IFS= read -r arquivo; do linhas=$(wc -l < "$arquivo" | tr -d ' ') if [ "$linhas" -gt "$LIMITE" ]; then relativo="${arquivo#$RAIZ/}" printf "%5s linhas -> %s\n" "$linhas" "$relativo" fi done ) if [ -n "$RESULTADO" ]; then echo "$RESULTADO" VIOLACOES=$(printf '%s\n' "$RESULTADO" | wc -l | tr -d ' ') printf "\n❌ %s arquivo(s) violam o limite de %s linhas.\n" "$VIOLACOES" "$LIMITE" printf "\n Resolva usando a orientação: .agent/global/workflows/codigo-limpo.md (ou /codigo-limpo)\n" exit 1 fi printf "✅ Todos os arquivos dentro do limite de %s linhas.\n" "$LIMITE"