Snapshot Version Management

ProjectHub's snapshot system lets you save and restore the complete state of a project without using Git.

Overview

Snapshots are a simple and intuitive version management approach that compresses all project files into a ZIP archive. Similar to Git commits, but usable with just a button click -- no setup or command-line knowledge required.

Differences from Git

ItemSnapshotsGit
Learning CurveVery low (button click)High (CLI commands)
Storage MethodFull file ZIP compressionDiff-based
Storage SizeProportional to project sizeEfficient (stores only differences)
BranchesNone (linear timeline)Supported
CollaborationLocal onlyRemote repository support
Best ForQuick backups, before AI code generationTeam collaboration, long-term projects

Git and snapshots can be used simultaneously. Snapshots are stored in the .projecthub/snapshots/ folder, so adding this path to .gitignore is recommended.

Creating Snapshots

Manual Creation

  1. Select the Snapshots tab in the project detail view
  2. Click the New Snapshot button (or the camera icon in the header)
New Snapshot button
  1. Enter a snapshot note (optional but recommended)
- Examples: "Login feature implementation complete", "Before adding API endpoints"
Snapshot creation sheet
  1. Click the Save button
  2. A new entry is added to the snapshot list

Automatic Creation

ProjectHub automatically creates snapshots in the following situations:

SituationDescription
Before AI Agent executionAutomatically backs up the current state before AI generates code in Vibe Coding
Before Avalon3 implementationAutomatically backs up before Avalon3 generates code
Before Alliance implementationAutomatically backs up before the Implementation stage of the Alliance workflow
Before snapshot restorationAutomatically backs up the current state before a restore operation (safety net)

Automatic snapshots are labeled with notes such as "Auto backup before AI Agent execution".

Snapshot List

Snapshot list

Each entry in the snapshot list displays the following information:

  • Creation Date/Time -- The date and time the snapshot was created
  • Note -- The description entered by the user
  • File Size -- ZIP file size
  • Auto/Manual Indicator -- A badge is shown for automatically created snapshots

Restoring Snapshots

Here is how to revert a project to a previous state:

  1. Select the snapshot to restore from the snapshot list
  2. Click the Restore button
  3. A confirmation dialog appears
Restore confirmation dialog
  1. Click Restore to proceed

Warning: When restoring, all files in the current project are overwritten with the state from the snapshot. If you need your current work, be sure to create a new snapshot before restoring. (If automatic backups are enabled, one will be created automatically.)

Restoration Process

  1. Automatic backup of the current state (safety net)
  2. Removal of existing project files
  3. Extraction of the selected snapshot ZIP file
  4. Files restored to the project directory
  5. Restoration complete notification

Deleting Snapshots

Delete unnecessary snapshots to free up storage space:

  1. Select the entry to delete from the snapshot list
  2. Click the Delete button
  3. Confirm in the confirmation dialog

Deleted snapshots cannot be recovered.

Storage Location and Structure

Snapshots are stored as ZIP files in the .projecthub/snapshots/ folder within the project directory:

{project}/
└── .projecthub/
    └── snapshots/
        ├── snapshot_2025-01-15_14-30-00.zip    # Manual snapshot
        ├── snapshot_2025-01-15_16-45-00.zip    # AI Agent auto backup
        ├── snapshot_2025-01-16_09-00-00.zip    # Auto backup before restore
        └── ...

File Naming Convention

Snapshot filenames follow the format snapshot_YYYY-MM-DD_HH-MM-SS.zip, which includes a timestamp of when the snapshot was created.

Storage Management

  • Snapshots include all project files, so they consume storage proportional to the project size
  • For large projects (several GB), snapshots will be correspondingly large
  • It is recommended to periodically clean up old snapshots
  • Folders that can be regenerated, such as node_modules and build, should ideally be excluded from snapshots

Use Case Scenarios

Backup Before AI Code Generation

A snapshot is automatically created before the AI Agent generates a large volume of code. If you are not satisfied with the generated code, you can instantly restore from the snapshot.

Backup Before Experimental Changes

Manually creating a snapshot before trying a new feature or performing a major refactoring allows you to safely revert to the previous state if things go wrong.

Recording Milestones

Creating snapshots with descriptive notes at important project milestones (feature completion, pre-release, etc.) helps you maintain a project history.

Next Steps