.agent/validar-repositorio.sh
Luiz Silva d32a08d811 feat: promover ag-agente a Arquiteto de Agentes + scripts de governança
- Persona reescrita: foco em design de sistemas multiagente, governança
  arquitetural, protocolos de colaboração e visão estratégica
- Incluído mapa visual de agentes e tabela de protocolos
- Princípios arquiteturais: responsabilidade única, acoplamento fraco,
  coesão alta, herança consciente
- AGENTS e README atualizados para refletir novo papel
- validar-repositorio.sh: validação local (sem GitHub Actions)
- scripts/auditar-agentes.sh: auditoria de consistência entre agentes
- .git/hooks/pre-commit: validação automática antes de cada commit
2026-06-19 16:23:26 -03:00

47 lines
1.6 KiB
Bash
Executable file
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env bash
# --------------------------------------------------------------
# validar-repositorio.sh – validações rápidas para o projeto AGENT-IA
# --------------------------------------------------------------
# 1) Verifica se ainda existem artefatos .md proibidos
# 2) Checa se a versão no manifesto.json está no formato semver (X.Y.Z)
# 3) Executa verificar-linhas.sh (se disponível)
# --------------------------------------------------------------
set -euo pipefail
REPO_ROOT="$(cd "$(dirname "$0")" && pwd)"
cd "$REPO_ROOT"
msg_ok() { echo -e "\e[32m✅ $1\e[0m"; }
msg_err() { echo -e "\e[31m❌ $1\e[0m"; }
# ---- 1) Busca por arquivos .md proibidos ---------------------
forbidden=$(git ls-files "*.md" | grep -vE "(COMERCIAL/|\.ajuda|regras-negocio\.md|dominio-.*\.md|\.docs/adrs|\.git)" || true)
if [[ -n "$forbidden" ]]; then
msg_err "Arquivos .md proibidos encontrados:"
echo "$forbidden"
exit 1
else
msg_ok "Nenhum arquivo .md proibido encontrado."
fi
# ---- 2) Validação da versão no manifesto.json ---------------
if [[ -f manifesto.json ]]; then
version=$(jq -r '.versao // empty' manifesto.json)
if [[ "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
msg_ok "Versão do manifesto válida: $version"
else
msg_err "Versão do manifesto inválida ou ausente em manifesto.json"
exit 1
fi
else
msg_err "manifesto.json não encontrado!"
exit 1
fi
# ---- 3) Verificar limite de linhas (opcional) ----------------
if [[ -x "$REPO_ROOT/verificar-linhas.sh" ]]; then
"$REPO_ROOT/verificar-linhas.sh"
msg_ok "Limite de linhas verificado."
fi
exit 0