44 lines
1.6 KiB
Bash
Executable file
44 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 ---------------------
|
||
# Esta verificação se aplica apenas a projetos *consumidores* do submodulo .agent,
|
||
# onde artefatos .global.md não devem existir diretamente no repositório do produto.
|
||
# No repositório AGENT-IA (fonte dos artefatos), todos os .md são legítimos.
|
||
msg_ok "Repositório fonte — verificação de .md não aplicável."
|
||
|
||
|
||
# ---- 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
|