#!/bin/bash
# Script to automatically update document freshness indicators in docs/README.md
# Usage: ./scripts/update-doc-freshness.sh
set -e
echo "๐ Updating document freshness indicators..."
# Create scripts directory if it doesn't exist
mkdir -p scripts
# Get current date for comparison
CURRENT_DATE=$(date +%s)
TWO_DAYS_AGO=$((CURRENT_DATE - 172800)) # 2 days in seconds
# Function to determine freshness
get_freshness() {
local file_path=$1
local mod_date_str=$2
# Convert modification date to epoch seconds
local mod_date=$(date -j -f "%Y-%m-%d" "$mod_date_str" +%s 2>/dev/null || echo "0")
if [ "$mod_date" -gt "$TWO_DAYS_AGO" ]; then
echo "Fresh"
else
echo "Aging"
fi
}
# Get modification dates for all documentation files
declare -A file_dates
while IFS= read -r line; do
file=$(echo "$line" | cut -d: -f1)
date=$(echo "$line" | cut -d: -f2 | tr -d ' ')
filename=$(basename "$file")
file_dates["$filename"]="$date"
done < <(find docs/ -name "*.md" -not -name "README.md" -exec stat -f "%N: %Sm" -t "%Y-%m-%d" {} \;)
echo "๐ Found ${#file_dates[@]} documentation files to process"
# Update the README.md file with current freshness indicators
README_FILE="docs/README.md"
TEMP_FILE=$(mktemp)
# Process the README file and update freshness indicators
while IFS= read -r line; do
updated_line="$line"
# Look for lines with markdown file references and existing freshness indicators
if [[ "$line" =~ \*\*([^*]+\.md)\*\* && "$line" =~ \*\[(Fresh|Aging):[[:space:]]*[0-9]{4}-[0-9]{2}-[0-9]{2}\]\* ]]; then
filename=$(echo "$line" | sed -n 's/.*\*\*\([^*]*\.md\)\*\*.*/\1/p')
if [[ -n "${file_dates[$filename]}" ]]; then
date="${file_dates[$filename]}"
freshness=$(get_freshness "$filename" "$date")
# Replace the existing freshness indicator
updated_line=$(echo "$line" | sed "s/\*\[(Fresh|Aging):[[:space:]]*[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}\]\*/\*[$freshness: $date]\*/")
echo " ๐ Updated $filename: $freshness ($date)"
fi
fi
echo "$updated_line" >> "$TEMP_FILE"
done < "$README_FILE"
# Replace the original file
mv "$TEMP_FILE" "$README_FILE"
echo "โ Documentation freshness indicators updated successfully!"
echo "๐ Don't forget to commit the changes if they look correct."
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/DollhouseMCP/DollhouseMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server