2026-06-10 23:48:43 -04:00
|
|
|
#!/bin/bash
|
|
|
|
|
set -e
|
|
|
|
|
|
2026-06-12 12:40:15 -04:00
|
|
|
FRAMEWORK_DIR="$HOME/.automaton"
|
2026-06-10 23:48:43 -04:00
|
|
|
|
|
|
|
|
if [ ! -d "$FRAMEWORK_DIR" ]; then
|
2026-06-12 12:40:15 -04:00
|
|
|
echo "ERROR: automaton not installed at $FRAMEWORK_DIR"
|
2026-06-10 23:48:43 -04:00
|
|
|
echo "Run './install.sh' first."
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
2026-06-12 12:40:15 -04:00
|
|
|
echo "Updating automaton at $FRAMEWORK_DIR..."
|
2026-06-10 23:48:43 -04:00
|
|
|
cd "$FRAMEWORK_DIR"
|
|
|
|
|
|
|
|
|
|
# Check if it's a git repo
|
|
|
|
|
if [ ! -d ".git" ]; then
|
|
|
|
|
echo "ERROR: $FRAMEWORK_DIR is not a git repository."
|
|
|
|
|
echo "Cannot update. Please reinstall from git."
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
2026-06-14 11:24:36 -04:00
|
|
|
# Check for uncommitted changes
|
|
|
|
|
if ! git diff --quiet HEAD || ! git diff --cached --quiet HEAD; then
|
|
|
|
|
echo "ERROR: $FRAMEWORK_DIR has uncommitted changes."
|
|
|
|
|
echo "Commit or stash them before updating to avoid losing work."
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
2026-06-13 12:26:27 -04:00
|
|
|
# Fetch and pull latest changes
|
2026-06-10 23:48:43 -04:00
|
|
|
git pull origin main
|
|
|
|
|
|
2026-06-13 21:39:29 -04:00
|
|
|
echo ""
|
|
|
|
|
echo "Framework updated to $(git rev-parse --short HEAD)."
|
|
|
|
|
|
|
|
|
|
# Check current project for stale files or deprecated task location
|
|
|
|
|
if [ -d ".automaton" ] && [ "$PWD" != "$FRAMEWORK_DIR" ]; then
|
|
|
|
|
NEEDS_MIGRATION=false
|
|
|
|
|
# Check for stale prompt/contract/script copies
|
|
|
|
|
for dir in prompts contracts scripts; do
|
|
|
|
|
if [ -d ".automaton/$dir" ]; then
|
|
|
|
|
NEEDS_MIGRATION=true
|
|
|
|
|
break
|
|
|
|
|
fi
|
|
|
|
|
done
|
|
|
|
|
# Check for tasks at project root (deprecated location)
|
|
|
|
|
if [ -d "tasks" ] && [ -d ".automaton" ] && [ ! -e ".automaton/tasks" ]; then
|
|
|
|
|
NEEDS_MIGRATION=true
|
|
|
|
|
fi
|
|
|
|
|
if $NEEDS_MIGRATION; then
|
|
|
|
|
echo ""
|
|
|
|
|
echo "⚠️ This project has deprecated file locations."
|
|
|
|
|
echo " Run migration: bash $FRAMEWORK_DIR/scripts/migrate-project.sh \"$PWD\""
|
|
|
|
|
echo " Or tell the agent: 'Upgrade automaton for this project'"
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
2026-06-13 12:26:27 -04:00
|
|
|
echo ""
|
2026-06-10 23:48:43 -04:00
|
|
|
echo "Update complete."
|