Files
try-claudekit/.claude/commands/checkpoint/restore.md
tiennm99 00d6bb117b feat: add ClaudeKit configuration
Add agent definitions, slash commands, hooks, and settings for
Claude Code project tooling.
2026-04-12 10:02:12 +07:00

1.6 KiB

description, category, allowed-tools, argument-hint
description category allowed-tools argument-hint
Restore project to a previous checkpoint workflow Bash(git stash:*), Bash(git status:*), Bash(git reset:*), Bash(grep:*), Bash(head:*) <checkpoint-number|latest>

Restore to checkpoint

Restore your project files to a previous checkpoint created with /checkpoint.

Available checkpoints

!git stash list | grep "claude-checkpoint" | head -10

Current status

!git status --short

Task

Restore the project to a previous checkpoint. Based on $ARGUMENTS:

  1. Parse the argument:

    • If empty or "latest": Find the most recent claude-checkpoint stash
    • If a number (e.g. "2"): Use stash@{2} if it's a claude-checkpoint
    • Otherwise: Show error and list available checkpoints
  2. Check for uncommitted changes with git status --porcelain. If any exist:

    • Create a temporary backup stash: git stash push -m "claude-restore-backup: $(date +%Y-%m-%d_%H:%M:%S)"
    • Note the stash reference for potential recovery
  3. Apply the checkpoint:

    • Use git stash apply stash@{n} (not pop, to preserve the checkpoint)
    • If there's a conflict due to uncommitted changes that were stashed, handle gracefully
  4. Show what was restored:

    • Display which checkpoint was applied
    • If uncommitted changes were backed up, inform user how to recover them

Example outputs:

  • For /restore: "Restored to checkpoint: before major refactor (stash@{0})"
  • For /restore 3: "Restored to checkpoint: working OAuth implementation (stash@{3})"
  • With uncommitted changes: "Backed up current changes to stash@{0}. Restored to checkpoint: before major refactor (stash@{1})"