mirror of
https://github.com/rtk-ai/rtk.git
synced 2026-09-19 07:33:17 +08:00
58 lines
1.7 KiB
Bash
Executable File
58 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
echo "🔍 Validating RTK documentation consistency..."
|
|
|
|
# 1. Nombre de modules cohérent
|
|
MAIN_MODULES=$(grep -c '^mod ' src/main.rs)
|
|
echo "📊 Module count in main.rs: $MAIN_MODULES"
|
|
|
|
# Extract module count from ARCHITECTURE.md
|
|
if [ -f "ARCHITECTURE.md" ]; then
|
|
ARCH_MODULES=$(grep 'Total:.*modules' ARCHITECTURE.md | grep -o '[0-9]\+' | head -1)
|
|
if [ -z "$ARCH_MODULES" ]; then
|
|
echo "⚠️ Could not extract module count from ARCHITECTURE.md"
|
|
else
|
|
echo "📊 Module count in ARCHITECTURE.md: $ARCH_MODULES"
|
|
if [ "$MAIN_MODULES" != "$ARCH_MODULES" ]; then
|
|
echo "❌ Module count mismatch: main.rs=$MAIN_MODULES, ARCHITECTURE.md=$ARCH_MODULES"
|
|
exit 1
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# 3. Commandes Python/Go présentes partout
|
|
PYTHON_GO_CMDS=("ruff" "pytest" "pip" "go" "golangci")
|
|
echo "🐍 Checking Python/Go commands documentation..."
|
|
|
|
for cmd in "${PYTHON_GO_CMDS[@]}"; do
|
|
for file in README.md CLAUDE.md; do
|
|
if [ ! -f "$file" ]; then
|
|
echo "⚠️ $file not found, skipping"
|
|
continue
|
|
fi
|
|
if ! grep -q "$cmd" "$file"; then
|
|
echo "❌ $file ne mentionne pas commande $cmd"
|
|
exit 1
|
|
fi
|
|
done
|
|
done
|
|
echo "✅ Python/Go commands: documented in README.md and CLAUDE.md"
|
|
|
|
# 4. Hooks cohérents avec doc
|
|
HOOK_FILE=".claude/hooks/rtk-rewrite.sh"
|
|
if [ -f "$HOOK_FILE" ]; then
|
|
echo "🪝 Checking hook rewrites..."
|
|
for cmd in "${PYTHON_GO_CMDS[@]}"; do
|
|
if ! grep -q "$cmd" "$HOOK_FILE"; then
|
|
echo "⚠️ Hook may not rewrite $cmd (verify manually)"
|
|
fi
|
|
done
|
|
echo "✅ Hook file exists and mentions Python/Go commands"
|
|
else
|
|
echo "⚠️ Hook file not found: $HOOK_FILE"
|
|
fi
|
|
|
|
echo ""
|
|
echo "✅ Documentation validation passed"
|