- 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
47 lines
1.6 KiB
Bash
Executable file
47 lines
1.6 KiB
Bash
Executable file
#!/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
|