690414:1113 Update README.md /.agents/skills, /.windsurf/workflows
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
#!/bin/bash
|
||||
|
||||
# validate-versions.sh - Check version consistency across .agents files
|
||||
# Part of LCBP3-DMS Phase 2 improvements
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# Colors for output
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Base directory
|
||||
BASE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
||||
AGENTS_DIR="$BASE_DIR/.agents"
|
||||
|
||||
# Expected version (should match LCBP3 version)
|
||||
EXPECTED_VERSION="1.8.6"
|
||||
|
||||
echo "=== .agents Version Validation ==="
|
||||
echo "Base directory: $BASE_DIR"
|
||||
echo "Expected version: $EXPECTED_VERSION"
|
||||
echo
|
||||
|
||||
# Function to extract version from file
|
||||
extract_version() {
|
||||
local file="$1"
|
||||
local pattern="$2"
|
||||
|
||||
if [[ -f "$file" ]]; then
|
||||
grep -o "$pattern" "$file" | head -1 | sed 's/.*\([0-9]\+\.[0-9]\+\.[0-9]\+\).*/\1/' || echo "NOT_FOUND"
|
||||
else
|
||||
echo "FILE_NOT_FOUND"
|
||||
fi
|
||||
}
|
||||
|
||||
# Files to check
|
||||
declare -A FILES_TO_CHECK=(
|
||||
["$AGENTS_DIR/README.md"]="Version: \([0-9]\+\.[0-9]\+\.[0-9]\+\)"
|
||||
["$AGENTS_DIR/skills/VERSION"]="version: \([0-9]\+\.[0-9]\+\.[0-9]\+\)"
|
||||
["$AGENTS_DIR/rules/00-project-context.md"]="Version: \([0-9]\+\.[0-9]\+\.[0-9]\+\)"
|
||||
["$AGENTS_DIR/skills/skills.md"]="V\([0-9]\+\.[0-9]\+\.[0-9]\+\)"
|
||||
)
|
||||
|
||||
# Track issues
|
||||
ISSUES=0
|
||||
|
||||
echo "Checking version consistency..."
|
||||
echo
|
||||
|
||||
for file in "${!FILES_TO_CHECK[@]}"; do
|
||||
pattern="${FILES_TO_CHECK[$file]}"
|
||||
relative_path="${file#$BASE_DIR/}"
|
||||
|
||||
version=$(extract_version "$file" "$pattern")
|
||||
|
||||
if [[ "$version" == "NOT_FOUND" ]] || [[ "$version" == "FILE_NOT_FOUND" ]]; then
|
||||
echo -e "${RED} ERROR${NC}: $relative_path - Version not found"
|
||||
((ISSUES++))
|
||||
elif [[ "$version" != "$EXPECTED_VERSION" ]]; then
|
||||
echo -e "${RED} ERROR${NC}: $relative_path - Found v$version, expected v$EXPECTED_VERSION"
|
||||
((ISSUES++))
|
||||
else
|
||||
echo -e "${GREEN} OK${NC}: $relative_path - v$version"
|
||||
fi
|
||||
done
|
||||
|
||||
echo
|
||||
|
||||
# Check for version mismatches in skill files
|
||||
echo "Checking skill file versions..."
|
||||
SKILL_VERSIONS_FILE="$AGENTS_DIR/skills/VERSION"
|
||||
if [[ -f "$SKILL_VERSIONS_FILE" ]]; then
|
||||
skills_version=$(extract_version "$SKILL_VERSIONS_FILE" "version: \([0-9]\+\.[0-9]\+\.[0-9]\+\)")
|
||||
echo "Skills version file: v$skills_version"
|
||||
fi
|
||||
|
||||
# Check workflow versions (in .windsurf/workflows)
|
||||
WORKFLOWS_DIR="$BASE_DIR/.windsurf/workflows"
|
||||
if [[ -d "$WORKFLOWS_DIR" ]]; then
|
||||
echo "Checking workflow files..."
|
||||
workflow_count=0
|
||||
for workflow in "$WORKFLOWS_DIR"/*.md; do
|
||||
if [[ -f "$workflow" ]]; then
|
||||
workflow_count=$((workflow_count + 1))
|
||||
fi
|
||||
done
|
||||
echo -e "${GREEN} OK${NC}: Found $workflow_count workflow files"
|
||||
else
|
||||
echo -e "${YELLOW} WARNING${NC}: Workflows directory not found at $WORKFLOWS_DIR"
|
||||
fi
|
||||
|
||||
echo
|
||||
|
||||
# Summary
|
||||
if [[ $ISSUES -eq 0 ]]; then
|
||||
echo -e "${GREEN}=== SUCCESS: All versions consistent ===${NC}"
|
||||
exit 0
|
||||
else
|
||||
echo -e "${RED}=== FAILED: $ISSUES version issues found ===${NC}"
|
||||
echo
|
||||
echo "To fix version issues:"
|
||||
echo "1. Update files to use v$EXPECTED_VERSION"
|
||||
echo "2. Ensure LCBP3 project version matches"
|
||||
echo "3. Run this script again to verify"
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user