Skip to content

[FEATURE] Implement cx save/restore workspace snapshots #709

@mikejmorgan-ai

Description

@mikejmorgan-ai

Summary

The cx save, cx restore, and cx snapshots commands have stub implementations. These need full implementation for workspace state persistence.

Current State

// snapshot.rs - stubs only
println!("cx save: Workspace snapshots not yet implemented");
println!("cx restore: Workspace snapshots not yet implemented");
println!("cx snapshots: Workspace snapshots not yet implemented");

Required Functionality

cx save [name]

  • Capture current terminal state (tabs, panes, working directories)
  • Save to ~/.cx/snapshots/<name>.json
  • Auto-generate name if not provided (e.g., myproject-0201)

cx restore

  • Read snapshot JSON
  • Recreate terminal layout
  • Restore working directories
  • Optionally re-run last commands

cx snapshots

  • --list - List all saved snapshots
  • --delete <name> - Remove a snapshot
  • --info <name> - Show snapshot details

Snapshot Format

{
  "name": "myproject-0201",
  "created": "2026-02-01T12:00:00Z",
  "tabs": [
    {
      "title": "main",
      "panes": [
        {"cwd": "/home/user/project", "last_command": "npm run dev"}
      ]
    }
  ]
}

Acceptance Criteria

  • cx save creates valid JSON snapshot
  • cx restore recreates workspace layout
  • cx snapshots --list works
  • Unit tests for save/restore logic
  • Integration with WezTerm mux system
  • BSL 1.1 header in source files

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestpriority: highImportant for MVP completion

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions