uninstall
Remove the Exosuit framework from this project.
Phase 0: Confirm Intent
Ask the user to confirm using AskUserQuestion:
- "Full removal" — description: "Remove all framework files (.claude/, framework docs, scripts). Keep source code, tests, and project docs untouched."
- "Keep documentation" — description: "Remove framework machinery (.claude/) but keep generated docs (ARCHITECTURE.md, CODING_STANDARDS.md, GROUND_RULES.md, etc.)"
- "Cancel" — description: "Don't remove anything"
Phase 1: Inventory
Before removing, inventory what exists:
Framework Files (will be removed)
# Core framework
echo "=== Core Framework ==="
ls -d .claude/skills/ .claude/hooks/ .claude/rules/ .claude/agents/ .claude/prompts/ .claude/commands/ .claude/output-styles/ .claude/scripts/ 2>/dev/null
# Settings and config
echo "=== Settings ==="
ls .claude/settings.json .claude/settings.local.json.template .claude/keybindings.json.template 2>/dev/null
# Framework scripts
echo "=== Scripts ==="
ls scripts/pm/*.sh 2>/dev/null
# Framework root files
echo "=== Root Files ==="
ls install.sh AGENTS.md llms.txt CLAUDE.local.md.template 2>/dev/null
Project-Specific Content (will be PRESERVED)
echo "=== Preserved ==="
ls docs/architecture/ docs/reference/ docs/context/ docs/testing/ docs/sessions/ docs/adr/ docs/progress.md docs/technical-debt.md CLAUDE.md 2>/dev/null
Technology-Specific Skills (ask user)
# Skills generated by /skill-create for the project's stack
echo "=== Technology Skills (project-specific) ==="
for skill_dir in .claude/skills/*/; do
skill_name=$(basename "$skill_dir")
# Check if it's a framework skill or a tech skill
case "$skill_name" in
bootstrap|sprint-start|story-cycle|sprint-end|continue|handoff|brainstorm|ideate|research|skill-create|code-quality|test-validator|security-audit|architecture-check|manual-test|testing-cycle|UAT-cycle|claude-sense-check|debug-session|fix-issue|undo-work|commit|parallel-work|weekly-maintenance|retrospective|backlog-review|doctor|framework-upgrade|pr-status|skill-eval|refine-loop|optimize|quickstart|help-me|dashboard|custom-hooks|uninstall|performance-check)
;; # Framework skill — will be removed
*)
echo " $skill_name (technology-specific)"
;;
esac
done
Present the inventory and ask: "Technology-specific skills were generated for your stack. Should I preserve or remove them?"
Phase 2: Remove Framework Files
Based on user's choice:
Full Removal
# Remove core framework (preserve settings.local.json if it exists)
cp .claude/settings.local.json /tmp/claude-settings-backup.json 2>/dev/null
rm -rf .claude/skills/ .claude/hooks/ .claude/rules/ .claude/agents/ .claude/prompts/ .claude/commands/ .claude/output-styles/ .claude/scripts/
rm -f .claude/settings.json .claude/settings.local.json.template .claude/keybindings.json.template
rm -rf .claude-plugin/
# Remove framework scripts
rm -rf scripts/pm/
# Remove framework root files
rm -f install.sh AGENTS.md llms.txt CLAUDE.local.md.template
# Remove vision (if user confirms it's not needed)
# Ask: "Remove vision/ directory? (Contains braindump templates)"
Keep Documentation Mode
Same as above, but ALSO preserve:
docs/architecture/ARCHITECTURE.mddocs/reference/CODING_STANDARDS.mddocs/reference/TESTING_STRATEGY.mddocs/reference/GROUND_RULES.mddocs/context/*docs/progress.mddocs/technical-debt.md
Phase 3: Clean Up CLAUDE.md
If CLAUDE.md exists, offer to simplify it:
- Remove the Skills section (skill references won't work)
- Remove the Compaction Directive (framework-specific)
- Keep: Project Overview, Commands, Architecture, Git Workflow, Current Focus, Backlog references, Testing
- The result is a standard project CLAUDE.md without framework workflow references
Phase 4: Clean Up .gitignore
Remove framework-specific patterns from .gitignore:
CLAUDE.local.md.claude/settings.local.json*.session-handoff.md
Only remove these if no other tool uses them.
Phase 5: Summary
### Framework Removed
**Removed:**
- .claude/skills/ ([N] skills)
- .claude/hooks/ ([N] hook scripts)
- .claude/rules/ ([N] rules)
- .claude/agents/ ([N] agents)
- .claude/prompts/ ([N] prompt snippets)
- scripts/pm/ ([N] PM scripts)
- [other removed files]
**Preserved:**
- [list of preserved docs/files]
- [technology-specific skills if kept]
**CLAUDE.md:** [Simplified / Untouched]
**To re-install later:**
```bash
curl -fsSL https://raw.githubusercontent.com/joris887/exosuit/main/install.sh | bash
(Windows: powershell -ExecutionPolicy Bypass -c "irm https://raw.githubusercontent.com/joris887/exosuit/main/install.ps1 | iex")
## Rules
- NEVER remove files without explicit user confirmation
- ALWAYS show what will be removed AND what will be preserved before acting
- NEVER remove source code, test files, or non-framework project files
- ALWAYS offer to backup .claude/settings.local.json (contains user customizations)
- If .claude/ directory has non-framework files, warn and skip those files
- After removal, verify the project still has a valid .git directory