Checkpoints
Save, restore, diff, and branch from conversation and workspace checkpoints.
What are Checkpoints?
Checkpoints capture the state of your workspace and conversation at a specific point in time. They act as save points that you can return to if something goes wrong.
QCoder creates checkpoints automatically at key moments: - Before applying file changes - Before executing potentially destructive commands - At user-defined intervals
You can also create checkpoints manually at any time.
Timeline View
The TIMELINE tab in the chat panel shows all checkpoints for the current session, ordered chronologically.
Each checkpoint entry shows: - Timestamp -- When the checkpoint was created. - Description -- A brief summary of what happened at that point (e.g., "Applied changes to app.tsx", "Ran npm install"). - Action buttons -- Restore, Diff, and Branch.
Checkpoint Actions
Each checkpoint supports three actions:
Restore: Reverts your workspace to the exact state captured in the checkpoint. All files are restored to their checkpoint versions. This is a destructive operation -- any unsaved changes since the checkpoint will be lost.
Diff: Opens a diff view comparing the checkpoint state to the current workspace state. This lets you see exactly what changed since the checkpoint was created, without modifying anything.
Branch: Creates a new conversation branch from the checkpoint. The current conversation continues unchanged, and a new conversation is started from the checkpoint's state. This is useful for exploring alternative approaches without losing your current progress.
Export and Import
Checkpoints can be exported and imported as .qcoder-snapshot files:
Export:
1. Open the Command Palette (Ctrl+Shift+P).
2. Run QCoder: Export Checkpoint.
3. Choose a checkpoint from the list.
4. Save the .qcoder-snapshot file to your desired location.
Import:
1. Open the Command Palette.
2. Run QCoder: Import Checkpoint.
3. Select a .qcoder-snapshot file.
4. The checkpoint is added to your timeline and can be restored, diffed, or branched from.
Snapshot files include both the workspace file state and the conversation history, making them useful for sharing reproducible states with teammates or for backup purposes.