Vai al contenuto

Claude Code Undo

Comandi e workflow completi di Claude Code Undo per annullare modifiche, gestire checkpoint e implementare funzionalità di annullamento granulare senza sprecare token.

Panoramica

Gli strumenti Claude Code Undo forniscono ripristino dei checkpoint e capacità di annullamento granulare per sessioni Claude Code, consentendo agli sviluppatori di annullare istantaneamente le modifiche senza consumare token API aggiuntivi. Questi strumenti leggono i file di sessione di Claude Code per tracciare le modifiche dei file e abilitare il ripristino selettivo degli stati precedenti, in modo simile alla funzionalità di checkpoint di Cursor.

⚠️ Avviso di utilizzo: Gli strumenti di annullamento modificano i file di sessione di Claude Code e i file di progetto. Eseguire sempre il backup del lavoro importante e assicurarsi un controllo di versione adeguato prima di utilizzare operazioni di annullamento.

Strumenti principali

ccundo - Strumento principale di Annullamento

# Install ccundo globally
npm install -g ccundo

# Install from GitHub
git clone https://github.com/RonitSachdev/ccundo.git
cd ccundo
npm install
npm link

# Quick installation
npx ccundo --help

Annullamento integrato di Claude Code

# Native Claude Code undo commands
claude-code undo
claude-code undo --file filename.py
claude-code undo --last-edit
claude-code undo --to-checkpoint checkpoint-id

# Text editor tool undo
claude-code edit --undo-edit filename.py

Installazione e Configurazione

Configurazione di ccundo

# Initialize ccundo in project
ccundo init

# Configure ccundo
ccundo config --session-path ~/.claude/sessions
ccundo config --backup-dir ./backups

# Verify installation
ccundo --version
ccundo status

Integrazione con Claude Code

# Set up automatic checkpoint creation
export CCUNDO_AUTO_CHECKPOINT=true
export CCUNDO_CHECKPOINT_INTERVAL=10

# Configure session monitoring
ccundo monitor --auto-start

# Enable real-time tracking
ccundo track --enable

Comandi di base

Operazioni di Annullamento

Comando Descrizione
ccundo list Elenca operazioni di undo disponibili
ccundo show Mostra modifiche che possono essere annullate
ccundo undo Annulla ultima operazione
ccundo undo --file Annulla modifiche a un file specifico
ccundo undo --operation Annulla operazione specifica
ccundo redo Ripristina operazione precedentemente annullata
ccundo reset Ripristina stato iniziale
### Gestione dei Checkpoint
Comando Descrizione
--------- -------------
ccundo checkpoint Crea checkpoint manuale
ccundo checkpoints Elenca tutti i checkpoint
ccundo restore Ripristina al checkpoint
ccundo delete-checkpoint Elimina checkpoint specifico
ccundo auto-checkpoint Abilita checkpoint automatici
ccundo checkpoint-info Mostra dettagli checkpoint
## Utilizzo avanzato

Annullamento selettivo

# View available operations
ccundo list --detailed

# Preview undo operation
ccundo preview --operation op-123

# Undo specific file changes
ccundo undo --file src/main.py --preview

# Undo multiple files
ccundo undo --files "src/*.py" --confirm

# Undo by time range
ccundo undo --since "10 minutes ago"
ccundo undo --between "1 hour ago" "30 minutes ago"

Modalità interattiva

# Start interactive undo session
ccundo interactive

# Interactive commands within session
> list                    # Show available operations
> show 5                  # Show details of operation 5
> preview 5               # Preview undo of operation 5
> undo 5                  # Undo operation 5
> checkpoint "milestone"  # Create named checkpoint
> quit                    # Exit interactive mode

Operazioni batch

# Undo multiple operations
ccundo undo --operations 1,3,5,7

# Undo all operations since checkpoint
ccundo undo --since-checkpoint checkpoint-name

# Undo all file operations
ccundo undo --type file-edit

# Undo all operations by pattern
ccundo undo --pattern "*.js" --confirm

Configurazione

Configurazione di ccundo

{
  "ccundo": {
    "sessionPath": "~/.claude/sessions",
    "backupDir": "./ccundo-backups",
    "autoCheckpoint": true,
    "checkpointInterval": 10,
    "maxCheckpoints": 50,
    "compressionEnabled": true
  },
  "monitoring": {
    "enabled": true,
    "realTime": true,
    "trackFileChanges": true,
    "trackConversation": false,
    "excludePatterns": ["node_modules/", ".git/", "*.log"]
  },
  "safety": {
    "confirmDestructive": true,
    "backupBeforeUndo": true,
    "maxUndoDepth": 100,
    "preserveGitHistory": true
  }
}

Regole automatiche dei checkpoint

{
  "autoCheckpoints": {
    "rules": [
      {
        "trigger": "file_count",
        "threshold": 5,
        "action": "create_checkpoint"
      },
      {
        "trigger": "time_interval",
        "interval": 600,
        "action": "create_checkpoint"
      },
      {
        "trigger": "significant_change",
        "threshold": 0.3,
        "action": "create_checkpoint"
      }
    ],
    "naming": {
      "pattern": "auto-{timestamp}",
      "includeDescription": true,
      "maxLength": 50
    }
  }
}

Integrazione dei file di sessione

Lettura dei file di sessione

# Analyze current session
ccundo analyze --session current

# Read specific session file
ccundo read --session ~/.claude/sessions/session-123.json

# Extract operation history
ccundo extract --session current --format json

# Validate session integrity
ccundo validate --session current

Monitoraggio della sessione

# Start session monitoring
ccundo monitor --session current --live

# Monitor multiple sessions
ccundo monitor --all-sessions

# Monitor with filters
ccundo monitor --filter "file-edit,tool-use"

# Export monitoring data
ccundo monitor --export monitoring.log

Tracciamento delle modifiche dei file

Rilevamento delle modifiche

# Show file changes
ccundo changes --summary

# Detailed change analysis
ccundo changes --detailed --file src/app.py

# Compare with previous state
ccundo diff --operation 5

# Show change timeline
ccundo timeline --file src/app.py

# Export changes
ccundo changes --export changes.json

Gestione dello stato dei file

# Show file states
ccundo states --file src/app.py

# Restore file to specific state
ccundo restore-file --file src/app.py --state 3

# Compare file states
ccundo compare --file src/app.py --states 2,5

# Backup current file state
ccundo backup --file src/app.py

Integrazione con il controllo di versione

Integrazione Git

# Create git checkpoint
ccundo checkpoint --git-commit

# Undo with git reset
ccundo undo --git-reset --soft

# Preserve git history
ccundo undo --preserve-git

# Sync with git branches
ccundo sync --git-branch feature/new-feature

Workflow Git

# Pre-commit checkpoint
git add .
ccundo checkpoint "pre-commit-$(date +%s)"
git commit -m "Feature implementation"

# Undo with git integration
ccundo undo --git-aware --operation 5

# Restore and create new branch
ccundo restore --checkpoint milestone-1 --git-branch fix/rollback

Funzionalità di sicurezza

Sistema di backup

# Enable automatic backups
ccundo config --auto-backup true

# Create manual backup
ccundo backup --full

# Restore from backup
ccundo restore --backup backup-20250715-143000

# List available backups
ccundo backups --list

# Clean old backups
ccundo backups --clean --older-than 30d

Prompt di conferma

The translation maintains the original markdown formatting, keeps technical terms in English, and preserves the structure and punctuation of the original text.```bash

Enable confirmation for destructive operations

ccundo config --confirm-destructive true

Bypass confirmation (use with caution)

ccundo undo --force --operation 5

Dry run mode

ccundo undo --dry-run --operation 5

Preview mode

ccundo undo --preview-only --operation 5 ## Funzionalità Avanzatebash

Intelligent operation grouping

ccundo undo --smart-group

Undo related changes

ccundo undo --related --file src/app.py

Undo by semantic meaning

ccundo undo --semantic "authentication logic"

Undo by impact analysis

ccundo undo --impact-aware ### Risoluzione dei Conflittibash

Handle undo conflicts

ccundo undo --resolve-conflicts interactive

Merge strategies

ccundo undo --merge-strategy ours ccundo undo --merge-strategy theirs ccundo undo --merge-strategy manual

Conflict preview

ccundo conflicts --preview --operation 5 ### Ottimizzazione delle Prestazionibash

Optimize undo database

ccundo optimize --database

Compress old operations

ccundo compress --older-than 7d

Clean redundant data

ccundo clean --redundant

Rebuild operation index

ccundo rebuild --index ## Script e Automazionebash

!/bin/bash

Automated undo script

Create checkpoint before risky operation

ccundo checkpoint "before-experimental-changes"

Perform risky operations

claude-code "implement experimental feature"

Check if changes are satisfactory

if ! run_tests; then echo "Tests failed, reverting changes" ccundo restore --checkpoint "before-experimental-changes" else echo "Tests passed, keeping changes" ccundo checkpoint "experimental-feature-complete" fi ### Script di Undo Automatizzatijavascript // Node.js integration const ccundo = require('ccundo');

// Create checkpoint before AI operation await ccundo.checkpoint('before-ai-changes');

// Perform Claude Code operation const result = await claudeCode.execute(prompt);

// Evaluate result quality const quality = await evaluateCodeQuality(result);

if (quality < threshold) { // Undo if quality is poor await ccundo.undo({ operation: 'last' }); console.log('Reverted poor quality changes'); } else { // Keep good changes await ccundo.checkpoint('good-ai-changes'); } ### Script di Integrazionebash

Session file not found

ccundo diagnose --session-path

Permission issues

ccundo fix --permissions

Corrupted session data

ccundo repair --session current

Missing operation history

ccundo rebuild --history

Performance issues

ccundo optimize --performance ## Risoluzione dei Problemibash

Enable debug logging

DEBUG=ccundo:* ccundo undo --operation 5

Verbose output

ccundo --verbose undo --operation 5

Trace mode

ccundo --trace undo --operation 5

Log to file

ccundo undo --log-file debug.log --operation 5 ### Problemi Comunibash

Recover from failed undo

ccundo recover --last-operation

Emergency restore

ccundo emergency-restore --backup latest

Rebuild corrupted data

ccundo rebuild --force

Reset to clean state

ccundo reset --hard --confirm ### Modalità Debugbash

Regular checkpoints

ccundo checkpoint "milestone-$(date +%Y%m%d-%H%M)"

Feature-based checkpoints

ccundo checkpoint "feature-auth-complete"

Before major changes

ccundo checkpoint "before-refactor-$(git rev-parse --short HEAD)"

After successful tests

ccundo checkpoint "tests-passing-$(date +%s)" ### Operazioni di Ripristinobash

1. Review available operations

ccundo list --recent 10

2. Preview undo operation

ccundo preview --operation 5

3. Create safety checkpoint

ccundo checkpoint "before-undo-op5"

4. Perform undo

ccundo undo --operation 5

5. Verify results

ccundo verify --operation 5

6. Clean up if successful

ccundo clean --old-checkpoints ## Migliori Pratichejson { "ccundo.autoCheckpoint": true, "ccundo.checkpointInterval": 300, "ccundo.showInStatusBar": true, "ccundo.confirmDestructive": true, "ccundo.keybindings": { "undo": "ctrl+alt+z", "checkpoint": "ctrl+alt+s", "list": "ctrl+alt+l" } } ### Strategia dei Checkpointyaml

GitHub Actions workflow

name: Safe AI Development on: [push, pull_request] jobs: test-with-undo: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Setup ccundo run: npm install -g ccundo - name: Create checkpoint run: ccundo checkpoint "ci-start-\({{ github.sha }}" - name: Run AI-assisted development run: | claude-code "optimize performance" npm test || ccundo restore --checkpoint "ci-start-\)" ```### Workflow di Undo }https://github.com/RonitSachdev/ccundo#

Esempi di Integrazione

https://docs.anthropic.com/en/docs/agents-and-tools/tool-use/text-editor-tool##

Integrazione con VS Code

https://discord.gg/claude-undo##

Integrazione CI/CD

https://youtube.com/ccundo-tutorials#

Risorse

https://docs.ccundo.dev/best-practices- Repository GitHub di ccundo