#!/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"