Checkpoints
Checkpoints automatically version your workspace files during Gamecraft tasks, enabling non-destructive exploration of AI suggestions and easy recovery from unwanted changes.
This powerful feature enables you to:
Experiment Confidently: Try AI suggestions without fear of breaking your project
Recover Quickly: Undo unwanted changes with a single click
Compare Alternatives: Evaluate different implementation strategies side-by-side
Iterate on Past States: Jump back to a previous project state to try a new direction
How it Works
The checkpoint system operates through an isolated Git repository that runs parallel to your existing version control setup. This dedicated tracking system automatically creates save points during your AI workflow, triggered by task initialization, file modifications, and command execution.
Prerequisites
Git Installation Required: The system depends on Git for version tracking capabilities
No External Accounts Required: Works without GitHub, GitLab, or other remote repositories
Zero Configuration: No need to set up Git user credentials or personal information
Isolated Operation: Functions independently from your project's main Git repository
Using Checkpoints
Checkpoints are integrated directly into your workflow through the chat interface.
Each checkpoint preserves:
Modified file contents
Newly created files
Removed files
File relocations and renames
Binary file modifications
Checkpoints appear directly in your chat history in two forms:
Initial checkpoint marks your starting project state

Follow-up checkpoints appear after file modifications or command execution

Each checkpoint provides two primary functions:
Viewing Differences
To compare your current workspace with a previous checkpoint:
Locate the checkpoint in your chat history
Click the checkpoint's
View Differencesbutton

Review the differences in the comparison view:
Added lines are highlighted in green
Removed lines are highlighted in red
Modified files are listed with detailed changes
Renamed and moved files are tracked with their path changes
New or deleted files are clearly marked

Restoring Checkpoints
To restore a project to a previous checkpoint state:
Locate the checkpoint in your chat history
Click the checkpoint's
Restore Checkpointbutton

Choose one of these restoration options:

Restore Files Only - Reverts only workspace files to checkpoint state without modifying conversation history. Ideal for comparing alternative implementations while maintaining chat context, allowing you to seamlessly switch between different project states. This option does not require confirmation and lets you quickly switch between different implementations.
Restore Files & Task - Reverts both workspace files AND removes all subsequent conversation messages. Use when you want to completely reset both your code and conversation back to the checkpoint's point in time. This option requires confirmation in a dialog as it cannot be undone.

Limitations and Considerations
Scope: Checkpoints only capture changes made during active Gamecraft tasks
External changes: Modifications made outside of tasks (manual edits, other tools) aren't included
Large files: Very large binary files may impact performance
Unsaved work: Restoration will overwrite any unsaved changes in your workspace
Technical Details
Core Components
The checkpoint infrastructure comprises three main elements:
Isolated Git Repository: A dedicated version control system exclusively for checkpoint data storage and management
Checkpoint Manager: Orchestrates Git operations including:
Shadow repository setup and initialization
Snapshot creation and persistence
Difference calculation algorithms
State restoration procedures
User Interface: Chat-embedded controls for checkpoint interaction and management
Restoration Mechanics
During checkpoint restoration, the system executes:
Hard reset to the specified commit in the shadow repository
File synchronization from shadow repository to active workspace
Internal state tracking updates
Data Organization
Checkpoints operate within task boundaries, ensuring each AI session maintains its own checkpoint timeline.
Diff Creation
Change detection leverages Git's native diffing engine to generate comprehensive file comparisons:
Line-level modifications in text files
Binary file detection and appropriate handling
File movement and renaming tracking
File creation and deletion identification
File Filtering and Exclusions
The checkpoint system employs intelligent file filtering to track only relevant project assets:
Automatic Exclusions
The system includes comprehensive exclusion patterns that automatically ignore:
Build Artifacts: Dependencies and compilation outputs (node_modules/, dist/, build/)
Media Assets: Binary content like images, videos, and audio files
Temporary Data: Cache directories, temporary files, and backup copies (.cache/, .tmp/, .bak)
Sensitive Configuration: Environment files containing secrets (.env)
Large Binary Files: Archives, executables, and database files
System Files: Logs and other system-generated content
These exclusion rules are automatically configured in the shadow repository's Git exclude file during setup.
.gitignore Integration
The checkpoint system honors existing .gitignore patterns in your workspace:
Files excluded by .gitignore will not trigger checkpoint creation
Ignored files won't appear in checkpoint difference views
Standard Git ignore syntax and rules apply during file staging
.gamecraftignore Separation
The .gamecraftignore file (controlling AI file access) operates independently from checkpoint tracking:
Files blocked by .gamecraftignore but allowed by .gitignore remain under checkpoint tracking
Changes to AI-inaccessible files can still be restored via checkpoints
This separation maintains the distinction between AI access control and version history
Nested Repository Handling
Special logic manages projects containing nested Git repositories:
Temporarily renames nested .git directories to .git_disabled during checkpoint operations
Restores original names after operations complete
Enables proper file tracking within nested repositories
Preserves nested repository functionality and integrity
Concurrent Operation Management
A queuing system prevents overlapping Git operations that could corrupt repository state, ensuring checkpoint operations complete safely even when requested in rapid succession.
Git Installation Instructions
Gamecraft Checkpoints require Git to be installed on your system for version control features and project management.
Check if Git is Already Installed
Before installing, check if Git is already on your system:
Windows
Open Command Prompt or PowerShell
Type:
git --versionIf Git is installed, you'll see the version number (e.g.,
git version 2.40.0)
Mac
Open Terminal (found in Applications > Utilities)
Type:
git --versionIf Git is installed, you'll see the version number
If you see a version number, Git is already installed and you can skip to the Installation Steps section.
Installing Git
Windows Installation
Download Git:
Visit https://git-scm.com/download/windows
The download should start automatically for the latest version
Run the installer:
Double-click the downloaded
.exefileFollow the installation wizard with these recommended settings:
Select Components: Keep default selections
Default editor: Choose your preferred editor (or keep default)
PATH environment: Select "Git from the command line and also from 3rd-party software"
HTTPS transport backend: Use the OpenSSL library
Line ending conversions: "Checkout Windows-style, commit Unix-style line endings"
Terminal emulator: Use MinTTY
Extra options: Enable file system caching and Git Credential Manager
Verify installation:
Open a new Command Prompt or PowerShell window
Type:
git --versionYou should see the Git version number
Mac Installation
There are several ways to install Git on Mac:
Option 1: Using Homebrew (Recommended)
Install Homebrew (if not already installed):
Open Terminal
Run:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Install Git:
Run:
brew install git
Verify installation:
Run:
git --version
Option 2: Using the Official Installer
Download Git:
Visit https://git-scm.com/download/mac
Download the latest installer for macOS
Run the installer:
Open the downloaded
.dmgfileDouble-click the
.pkginstallerFollow the installation prompts
Verify installation:
Open Terminal
Run:
git --version
Option 3: Install via Xcode Command Line Tools
Install Command Line Tools:
Open Terminal
Run:
xcode-select --installClick "Install" when prompted
Verify installation:
Run:
git --version
Last updated