Files

100 lines
2.3 KiB
Bash

#!/bin/bash
# workspace-status.sh — Quick workspace health check
# Run from workspace root or pass path as argument
WORKSPACE="${1:-$HOME/.openclaw/workspace}"
echo "=== Workspace Status: $WORKSPACE ==="
echo ""
# Check if workspace exists
if [ ! -d "$WORKSPACE" ]; then
echo "❌ Workspace not found: $WORKSPACE"
exit 1
fi
cd "$WORKSPACE"
echo "## Required Files"
for file in AGENTS.md SOUL.md USER.md IDENTITY.md TOOLS.md; do
if [ -f "$file" ]; then
lines=$(wc -l < "$file")
echo "$file ($lines lines)"
else
echo "$file MISSING"
fi
done
echo ""
echo "## Optional Files"
for file in HEARTBEAT.md MEMORY.md BOOT.md BOOTSTRAP.md; do
if [ -f "$file" ]; then
lines=$(wc -l < "$file")
echo "$file ($lines lines)"
else
echo "$file (not present)"
fi
done
echo ""
echo "## Directories"
for dir in memory skills docs canvas; do
if [ -d "$dir" ]; then
count=$(find "$dir" -type f | wc -l)
echo "$dir/ ($count files)"
else
echo "$dir/ (not present)"
fi
done
echo ""
echo "## Memory Files (last 7 days)"
if [ -d "memory" ]; then
find memory -name "*.md" -mtime -7 -exec basename {} \; 2>/dev/null | sort -r | head -7
else
echo "No memory directory"
fi
echo ""
echo "## Git Status"
if [ -d ".git" ]; then
if git diff --quiet && git diff --cached --quiet; then
echo "✅ Working tree clean"
else
echo "⚠️ Uncommitted changes:"
git status --short
fi
untracked=$(git ls-files --others --exclude-standard | wc -l)
if [ "$untracked" -gt 0 ]; then
echo "⚠️ $untracked untracked files"
fi
else
echo "⬜ Not a git repository"
fi
echo ""
echo "## File Sizes (lines)"
wc -l AGENTS.md SOUL.md USER.md IDENTITY.md TOOLS.md HEARTBEAT.md MEMORY.md 2>/dev/null | grep -v total
echo ""
echo "## Potential Issues"
# Check for rogue files
for file in README.md NOTES.md TODO.md; do
if [ -f "$file" ]; then
echo "⚠️ Found $file — may duplicate bootstrap file purposes"
fi
done
# Check for secrets
if grep -r -l "sk-" --include="*.md" . 2>/dev/null | grep -v node_modules; then
echo "⚠️ Possible API key found in .md files"
fi
if [ -f ".env" ]; then
echo "⚠️ .env file in workspace (should be gitignored)"
fi
echo ""
echo "=== End Status ==="