Initial backup 2026-02-17
This commit is contained in:
99
skills/workspace-review/scripts/workspace-status.sh
Normal file
99
skills/workspace-review/scripts/workspace-status.sh
Normal file
@@ -0,0 +1,99 @@
|
||||
#!/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 ==="
|
||||
Reference in New Issue
Block a user