#!/usr/bin/env bash
# Vault statistics: note counts by folder, recent activity
# Usage: vault-stats
set -euo pipefail

SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
VAULT_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"

echo "=== Vault Statistics ==="
echo ""

dirs=(
    "00-Inbox"
    "01-Projects"
    "02-Areas"
    "03-Resources"
    "04-Archive"
    "05-People"
    "06-Meetings"
    "07-Daily"
    "MOC"
    "Templates"
    "Meta"
)

for dir in "${dirs[@]}"; do
    if [[ -d "$VAULT_DIR/$dir" ]]; then
        count=$(find "$VAULT_DIR/$dir" -name "*.md" -not -path "*/.*" 2>/dev/null | wc -l | tr -d ' ')
        printf "%-20s %s notes\n" "$dir/" "$count"
    fi
done

echo ""
echo "=== Recent Activity (last 24h) ==="
find "$VAULT_DIR" -name "*.md" -not -path "*/.*" -not -path "*/My-Brain-Is-Full-Crew/*" -mmin -1440 2>/dev/null | while read -r f; do
    mod=$(stat -f "%Sm" -t "%Y-%m-%d %H:%M" "$f" 2>/dev/null || stat -c "%y" "$f" 2>/dev/null | cut -c1-16 || echo "?")
    rel="${f#$VAULT_DIR/}"
    echo "  $mod  $rel"
done | sort -r | head -20

echo ""
echo "=== Total ==="
total=$(find "$VAULT_DIR" -name "*.md" -not -path "*/.*" -not -path "*/My-Brain-Is-Full-Crew/*" 2>/dev/null | wc -l | tr -d ' ')
echo "$total notes in vault"
