Ir al contenido

Claude Code Deshacer

Comandos y flujos de trabajo integrales de Claude Code Deshacer para revertir cambios, administrar puntos de control e implementar funcionalidad de deshacer granular sin desperdiciar tokens.

Descripción general

Las herramientas de Claude Code Deshacer proporcionan restauración de puntos de control y capacidades de deshacer granular para sesiones de Claude Code, permitiendo a los desarrolladores revertir cambios instantáneamente sin consumir tokens API adicionales. Estas herramientas leen los archivos de sesión de Claude Code para rastrear cambios de archivos y habilitar la restauración selectiva de estados anteriores, similar a la funcionalidad de punto de control de Cursor.

⚠️ Aviso de uso: Las herramientas de deshacer modifican archivos de sesión de Claude Code y archivos de proyecto. Siempre haga una copia de seguridad del trabajo importante y asegúrese de tener un control de versiones adecuado antes de usar operaciones de deshacer.

Herramientas principales

ccundo - Herramienta principal de deshacer

# 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

Deshacer integrado de 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

Instalación y configuración

Configuración de 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

Integración 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

Comandos básicos

Operaciones de deshacer

ComandoDescripción
ccundo listListar operaciones de deshacer disponibles
ccundo showMostrar cambios que pueden deshacerse
ccundo undoDeshacer última operación
ccundo undo --fileDeshacer cambios en un archivo específico
ccundo undo --operationDeshacer operación específica
ccundo redoRehacer operación previamente deshecha
ccundo resetRestablecer al estado inicial

Administración de puntos de control

ComandoDescripción
ccundo checkpointCrear punto de control manual
ccundo checkpointsListar todos los checkpoints
ccundo restoreRestaurar al punto de control
ccundo delete-checkpointEliminar punto de control específico
ccundo auto-checkpointHabilitar puntos de control automáticos
ccundo checkpoint-infoMostrar detalles del punto de control

Uso avanzado

Deshacer selectivo

# 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"

Modo interactivo

# 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

Operaciones por lotes

# 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

Configuración

Configuración de 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
  }
}

Reglas automáticas de puntos de control

{
  "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
    }
  }
}

Integración de archivos de sesión

Lectura de archivos de sesión

# 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

Monitoreo de sesión

# 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

Seguimiento de cambios de archivos

Detección de cambios

# 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

Gestión de estados de archivos

# 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

Integración con control de versiones

Integración con 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

Flujo de trabajo de 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

Características de seguridad

Sistema de respaldo

# 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

Avisos de confirmación

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

```bash
# 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
```### Resolución de Conflictos
```bash
# 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
```### Optimización de Rendimiento
```bash
# 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
```## Scripting y Automatización
```bash
#!/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
```### Scripts de Deshacer Automatizados
```javascript
// 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');
}
```### Scripts de Integración
```bash
# 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
```## Resolución de Problemas
```bash
# 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
```### Problemas Comunes
```bash
# 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
```### Modo de Depuración
```bash
# 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)"
```### Operaciones de Recuperación
```bash
# 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
```## Mejores Prácticas
```json
{
  "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"
  }
}
```### Estrategia de Puntos de Control
```yaml
# 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-${{ github.sha }}"
```### Flujo de Trabajo de Deshacer
https://github.com/RonitSachdev/ccundo## Recursos
https://docs.anthropic.com/en/docs/agents-and-tools/tool-use/text-editor-tool- [Repositorio de GitHub de ccundo](https://discord.gg/claude-undo)https://youtube.com/ccundo-tutorials- [Documentación de Deshacer de Claude Code](https://docs.ccundo.dev/best-practices)