Files
dss/scripts/dss-reset.sh
DSS 08ce228df1
Some checks failed
DSS Project Analysis / dss-context-update (push) Has been cancelled
feat: Add DSS infrastructure, remove legacy admin-ui code
- Remove legacy admin-ui/js/ vanilla JS components
- Add .dss/ directory with core tokens, skins, themes
- Add Storybook configuration and generated stories
- Add DSS management scripts (dss-services, dss-init, dss-setup, dss-reset)
- Add MCP command definitions for DSS plugin
- Add Figma sync architecture and scripts
- Update pre-commit hooks with documentation validation
- Fix JSON trailing commas in skin files

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-10 22:15:11 -03:00

127 lines
3.4 KiB
Bash
Executable File

#!/bin/bash
# DSS Full Reset Script
# Clears all DSS data, skins, tokens, and generated files
#
# Usage: scripts/dss-reset.sh [--confirm]
# Without --confirm, runs in dry-run mode showing what would be deleted
set -e
DSS_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "$DSS_ROOT"
DRY_RUN=true
if [ "$1" = "--confirm" ]; then
DRY_RUN=false
fi
echo "=========================================="
echo " DSS Full Reset"
echo "=========================================="
echo ""
if [ "$DRY_RUN" = true ]; then
echo "🔍 DRY RUN MODE - No changes will be made"
echo " Run with --confirm to execute reset"
echo ""
fi
run_or_show() {
if [ "$DRY_RUN" = true ]; then
echo " Would run: $*"
else
eval "$@"
fi
}
# 1. Clear .dss/data/ (preserves .dss/config/ which is IMMUTABLE)
echo "1. Clearing .dss/data/ structure..."
echo " (preserving .dss/config/ - Figma credentials)"
run_or_show "rm -rf .dss/data/projects/* .dss/data/teams/* .dss/data/_system/cache/* .dss/data/_system/activity/* 2>/dev/null || true"
run_or_show "rm -rf .dss/data/_system/tokens/* .dss/data/_system/themes/* .dss/data/_system/components/* 2>/dev/null || true"
run_or_show "mkdir -p .dss/data/{projects,teams,_system/{cache,activity,tokens,themes,components}}"
# 2. Reset database
echo "2. Resetting database..."
run_or_show "rm -f .dss/dss.db .dss/dss.db.old"
# 3. Remove admin-ui DSS CSS (keep non-dss files)
echo "3. Removing admin-ui DSS CSS files..."
run_or_show "rm -f admin-ui/css/dss-*.css"
# 4. Remove generated stories and components
echo "4. Removing generated stories and components..."
run_or_show "rm -f admin-ui/src/components/*.stories.js admin-ui/src/components/ds-*.js"
# 5. Reset core_tokens
echo "5. Resetting core_tokens..."
if [ "$DRY_RUN" = false ]; then
cat > dss/core_tokens/tokens.json << 'EOF'
{
"_meta": {
"version": "1.0.0",
"generated": null,
"source": "awaiting Figma sync",
"status": "empty"
},
"tokens": {}
}
EOF
else
echo " Would reset: dss/core_tokens/tokens.json"
fi
# 6. Reset skins to empty
echo "6. Resetting skins..."
for skin in base classic workbench; do
if [ "$DRY_RUN" = false ]; then
if [ "$skin" = "base" ]; then
extends_line=""
else
extends_line='"extends": "base",'
fi
cat > "dss-claude-plugin/core/skins/${skin}.json" << EOF
{
"meta": {
"id": "${skin}",
"version": "1.0.0",
"description": "${skin^} skin - awaiting Figma sync"${extends_line:+,
$extends_line}
},
"tokens": {}
}
EOF
else
echo " Would reset: dss-claude-plugin/core/skins/${skin}.json"
fi
done
# 7. Clear caches and logs
echo "7. Clearing caches and logs..."
run_or_show "rm -f .dss/logs/*.jsonl 2>/dev/null || true"
run_or_show "rm -rf .dss/logs/browser-logs/* 2>/dev/null || true"
run_or_show "touch .dss/logs/dss-operations.jsonl .dss/logs/git-hooks.jsonl"
# 8. Regenerate hash manifest
echo "8. Regenerating hash manifest..."
if [ "$DRY_RUN" = false ]; then
./scripts/regenerate-core-hashes.sh
else
echo " Would run: ./scripts/regenerate-core-hashes.sh"
fi
# 9. Stop Storybook if running
echo "9. Stopping Storybook..."
run_or_show "pkill -f storybook 2>/dev/null || true"
echo ""
echo "=========================================="
if [ "$DRY_RUN" = true ]; then
echo " DRY RUN COMPLETE"
echo " Run with --confirm to execute"
else
echo " DSS RESET COMPLETE"
echo " Ready for fresh Figma sync"
fi
echo "=========================================="