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