Reset project to freshly installed plugin state. Can selectively reset parts or do a full reset.
Available Targets
| Target | Removes | Description |
|---|---|---|
diffs |
.claude/skill-diffs/ |
Skill diff previews |
otto |
.otto/ |
All workflow data |
code |
src/, dist/, public/, configs |
Generated app code |
deps |
node_modules/, lockfiles |
Dependencies |
all |
Everything except allowlist | Full reset (default) |
Usage Examples
/reset-code- Full reset (prompts for confirmation)/reset-code diffs- Clear only skill diff previews/reset-code otto- Clear workflow data (same as/reset)/reset-code code- Clear generated code, keep deps/reset-code deps- Clear node_modules only
Preserved Files (allowlist)
Only these survive a full reset:
.claude/- Settings.claude-plugin/- Marketplace metadataskills/- Plugin skills.git/- Version controlREADME.md,LICENSE,.gitignore,.gitmodules
Removed Files (full reset)
Everything else, including:
.otto/- Workflow datasrc/,dist/,public/- App codenode_modules/- Dependenciespackage.json, lockfiles- Framework dirs (
.next/,.nuxt/, etc.) - Build configs (
vite.config.*,tsconfig*.json)
Workflow
1. Parse Arguments
Map targets to paths:
diffs -> .claude/skill-diffs/
otto -> .otto/
code -> src/, dist/, public/, *.config.*, tsconfig*.json, package.json
deps -> node_modules/, package-lock.json, yarn.lock, pnpm-lock.yaml
all -> everything except allowlist
2. Kill Active Processes (if otto or all targeted)
for pid_file in .otto/sessions/*/browser.pid .otto/otto/sessions/*/browser.pid; do
[ -f "$pid_file" ] && kill $(cat "$pid_file") 2>/dev/null || true
done
3. Preview Removal
For selective targets, show targeted paths:
du -sh <target_paths> 2>/dev/null
For full reset (all), list everything to remove:
to_remove=()
for item in ./* ./.*; do
[[ ! -e "$item" ]] && continue
name="${item##*/}"
case "$name" in
.|..|.claude|.claude-plugin|skills|.git|README.md|LICENSE|.gitignore|.gitmodules) ;;
*) to_remove+=("$item") ;;
esac
done
if [[ ${#to_remove[@]} -gt 0 ]]; then
du -sh "${to_remove[@]}" 2>/dev/null | sort -hr
fi
4. Confirm
Use AskUserQuestion:
"This will delete [target description]. Continue?" Options: "Yes, reset" / "Cancel"
5. Remove
For selective targets:
rm -rf <target_paths>
For full reset (all):
find . -maxdepth 1 \
! -name '.' \
! -name '.claude' \
! -name '.claude-plugin' \
! -name 'skills' \
! -name '.git' \
! -name 'README.md' \
! -name 'LICENSE' \
! -name '.gitignore' \
! -name '.gitmodules' \
-exec rm -rf {} +
6. Report
Reset complete. Cleared: [targets]
Run /otto to start a new build.
Converted and distributed by TomeVault — claim your Tome and manage your conversions.