← Commit history

Migrate asset from Helium wiki

Kyle Bergstedt ·8933675ada ·4mo ago ·parent ca03b66
1 file changed +103
hd-unbootstrap.shadded+103
@@ -0,0 +1,103 @@+#!/bin/bash+# Hydrogen Desktop Un-Bootstrap Script+# Resets the container to virgin state for testing.+# HD downloads this from the wiki and runs it via:+#   docker exec -u adom hydrogen-workspace bash /tmp/hd-unbootstrap.sh++set -euo pipefail++step() {+    local status="$1" cmd="$2" msg="$3"+    echo "STEP|${status}|${cmd}|${msg}"+}++# ── 1. Kill relay server ──+if pgrep -f "adom-desktop serve" >/dev/null 2>&1; then+    step run "pkill -f 'adom-desktop serve'" "stopping relay..."+    pkill -f "adom-desktop serve" 2>/dev/null || true+    sleep 1+    step done "pkill -f 'adom-desktop serve'" "relay stopped"+else+    step skip "pkill -f 'adom-desktop serve'" "relay not running"+fi++# ── 2. Uninstall adom-vscode extension from code-server ──+if /usr/lib/code-server/bin/code-server --list-extensions 2>/dev/null | grep -q "adom.adom-vscode"; then+    step run "code-server --uninstall-extension adom.adom-vscode" "removing VS Code extension..."+    /usr/lib/code-server/bin/code-server --uninstall-extension adom.adom-vscode 2>/dev/null || true+    step done "code-server --uninstall-extension adom.adom-vscode" "extension removed"+else+    step skip "code-server --uninstall-extension adom.adom-vscode" "not installed"+fi++# ── 3. Remove adom-vscode binary ──+if [ -f /usr/local/bin/adom-vscode ]; then+    step run "rm /usr/local/bin/adom-vscode" "removing binary..."+    sudo rm -f /usr/local/bin/adom-vscode 2>/dev/null || rm -f /usr/local/bin/adom-vscode+    step done "rm /usr/local/bin/adom-vscode" "binary removed"+else+    step skip "rm /usr/local/bin/adom-vscode" "not installed"+fi++# ── 4. Remove adom-vscode skill + completions ──+if [ -d "$HOME/.claude/skills/adom-vscode" ]; then+    step run "rm -rf ~/.claude/skills/adom-vscode" "removing skill..."+    rm -rf "$HOME/.claude/skills/adom-vscode"+    rm -f "$HOME/.local/share/bash-completion/completions/adom-vscode" 2>/dev/null || true+    step done "rm -rf ~/.claude/skills/adom-vscode" "skill removed"+else+    step skip "rm -rf ~/.claude/skills/adom-vscode" "not installed"+fi++# ── 5. Remove Claude Code CLI ──+if command -v claude &>/dev/null; then+    step run "rm ~/.local/bin/claude" "removing Claude CLI..."+    rm -f "$HOME/.local/bin/claude" 2>/dev/null || true+    step done "rm ~/.local/bin/claude" "CLI removed"+else+    step skip "rm ~/.local/bin/claude" "not installed"+fi++# ── 6. Uninstall Claude Code extension from code-server ──+if /usr/lib/code-server/bin/code-server --list-extensions 2>/dev/null | grep -q "anthropic.claude-code"; then+    step run "code-server --uninstall-extension anthropic.claude-code" "removing Claude Code extension..."+    /usr/lib/code-server/bin/code-server --uninstall-extension anthropic.claude-code 2>/dev/null || true+    step done "code-server --uninstall-extension anthropic.claude-code" "extension removed"+else+    step skip "code-server --uninstall-extension anthropic.claude-code" "not installed"+fi++# ── 7. Reset VS Code settings to defaults ──+SETTINGS_PATH="$HOME/.local/share/code-server/User/settings.json"+if [ -f "$SETTINGS_PATH" ]; then+    step run "rm $SETTINGS_PATH" "resetting VS Code settings..."+    rm -f "$SETTINGS_PATH"+    step done "rm $SETTINGS_PATH" "settings reset"+else+    step skip "rm $SETTINGS_PATH" "no settings file"+fi++# ── 8. Remove gallia skills ──+if [ -d "$HOME/gallia" ]; then+    step run "rm -rf ~/gallia ~/.claude/skills/adom" "removing gallia..."+    rm -rf "$HOME/gallia"+    rm -rf "$HOME/.claude/skills/adom" 2>/dev/null || true+    step done "rm -rf ~/gallia ~/.claude/skills/adom" "gallia removed"+else+    step skip "rm -rf ~/gallia" "not installed"+fi++# ── 9. Remove workbench.html patches ──+WORKBENCH="/usr/lib/code-server/lib/vscode/out/vs/code/browser/workbench/workbench.html"+if grep -q "__hdLinkPropagation" "$WORKBENCH" 2>/dev/null; then+    step run "unpatch workbench.html" "removing link propagation patch..."+    sudo sed -i '/__hdLinkPropagation/,/<\/script>/d' "$WORKBENCH" 2>/dev/null || true+    step done "unpatch workbench.html" "patch removed"+else+    step skip "unpatch workbench.html" "no patch found"+fi++# ── 10. Remove bootstrap script itself ──+rm -f /tmp/hd-bootstrap.sh /tmp/hd-unbootstrap.sh /tmp/adom-vscode-0.1.0.vsix 2>/dev/null || true++echo "STEP|done|unbootstrap|complete"