Reset project
Configuration governance for Claude Code. Bootstrap, audit, sync, and evolve .claude/ across projects.
npx -y skills add luiseiman/dotforge --skill reset-projectAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 8 stars8 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Restore a project's .claude/ directory to the dotforge template from scratch, with backup and rollback option.
SKILL.md
4.1 KB, as published. Nobody here has run it
Reset Project
Restore the current project's .claude/ directory completely to the dotforge template, from scratch.
Step 1: Confirm with the user (MANDATORY)
Show warning before proceeding:
╔══════════════════════════════════════════════════╗
║ RESET: .claude/ will be fully replaced ║
║ ║
║ The following will be lost: ║
║ - Customizations in settings.json ║
║ - Custom rules ║
║ - Custom hooks ║
║ - Any manually created files in .claude/ ║
║ ║
║ The following will be preserved: ║
║ - settings.local.json (not touched) ║
║ - CLAUDE.md (regenerated from template) ║
║ - CLAUDE_ERRORS.md (preserved if it exists) ║
║ ║
║ A backup will be created at .claude.backup-YYYY-MM-DD/ ║
╚══════════════════════════════════════════════════╝
Confirm reset? (yes/no)
If the user says "no", cancel immediately. DO NOT proceed without explicit confirmation.
Step 2: Detect stacks
Use detection rules from $DOTFORGE_DIR/stacks/detect.md.
Confirm detected stacks with the user.
Step 3: Create backup
- Create directory
.claude.backup-{YYYY-MM-DD}/in the project root - Copy ALL of
.claude/to the backup:cp -R .claude/ .claude.backup-$(date +%Y-%m-%d)/ - If
CLAUDE_ERRORS.mdexists, copy it separately (it will be restored afterwards) - Verify the backup exists and has content
Step 4: Re-run full bootstrap
- Delete the current
.claude/:rm -rf .claude/ - Run the
/bootstrap-projectskill in full from scratch - If
CLAUDE_ERRORS.mdexisted, restore the original file (not the empty template)
Step 5: Show diff between backup and new
Compare backup vs new .claude/:
═══ RESET COMPLETE ═══
New files (did not exist before):
+ .claude/rules/agents.md
+ .claude/agents/researcher.md
Updated files (differences from backup):
~ .claude/settings.json — 3 new permissions in allow
~ .claude/hooks/block-destructive.sh — 2 new patterns
Deleted files (were in backup, not in template):
- .claude/rules/custom-strategy.md
Preserved files:
= CLAUDE_ERRORS.md (restored from backup)
Step 5b: Offer purge of Claude Code state (v2.1.126+)
/forge reset rebuilds .claude/ but Claude Code's own state for this project lives elsewhere — transcripts, task lists, debug logs, file-edit history, prompt history, and the project entry in ~/.claude.json. After a reset, those references now point at archived/missing files.
If claude project purge is available (v2.1.126+), offer to run it after the rollback decision:
# Verify availability
claude project purge --help >/dev/null 2>&1 && {
echo "Run 'claude project purge $PWD --dry-run' to preview, then drop --dry-run to apply."
}
Do NOT run it automatically. Show the user the dry-run command first; they decide. Skip the suggestion if the CLI version doesn't support project purge.
Step 6: Offer rollback
Backup available at: .claude.backup-YYYY-MM-DD/
To restore: rm -rf .claude && mv .claude.backup-YYYY-MM-DD .claude
Delete backup? (yes/no — recommended: no, at least until verified)
If the user wants to restore, execute the rollback immediately. If the user wants to delete the backup, do it. If the user does not decide, leave the backup (it can be cleaned up manually later).
Installation
This skill is installed automatically if the symlink from skills/ already exists in ~/.claude/skills/. If not, create the symlink:
ln -sf $DOTFORGE_DIR/skills ~/.claude/skills