An open API service indexing awesome lists of open source software.

https://github.com/life-experimentalist/global-save-state

VS Code Extension to dave your project at working save points.
https://github.com/life-experimentalist/global-save-state

backup checkpoint develo productivity restore save-state timeline vscode vscode-extension

Last synced: about 1 year ago
JSON representation

VS Code Extension to dave your project at working save points.

Awesome Lists containing this project

README

          

# ๐ŸŽฎ Global Save State
### *Save Points for Your Code - Just Like in Games!*

![Global Save State Logo](icon.jpg)

**Create checkpoints in your code projects just like save points in video games!**

*Perfect for experiments, tutorials, learning, and quick prototypes where full version control feels like overkill*

[![VS Code Marketplace](https://img.shields.io/visual-studio-marketplace/v/VKrishna04.global-save-state)](https://marketplace.visualstudio.com/items?itemName=VKrishna04.global-save-state)
[![Downloads](https://img.shields.io/visual-studio-marketplace/d/VKrishna04.global-save-state)](https://marketplace.visualstudio.com/items?itemName=VKrishna04.global-save-state)
[![Rating](https://img.shields.io/visual-studio-marketplace/r/VKrishna04.global-save-state)](https://marketplace.visualstudio.com/items?itemName=VKrishna04.global-save-state)

---

## ๐ŸŽฏ Why Save Points for Code?

Remember playing **Zelda** and hitting that checkpoint right before `Ganondorf`? Or **`Dark Souls`** where you desperately needed that bonfire before the boss? **`Global Save State`** brings that same peace of mind to coding!

### ๐ŸŽฎ Perfect Gaming Scenarios:

| ๐ŸŽฏ **Game Situation** | ๐Ÿ’ป **Code Equivalent** |
| ------------------------------ | --------------------------------- |
| ๐Ÿฐ **Save before boss fight** | Save before major refactoring |
| ๐Ÿงช **Try different strategies** | Experiment with new approaches |
| ๐Ÿ“š **Chapter checkpoints** | Milestone completion in tutorials |
| ๐ŸŽจ **Creative experimentation** | Art projects, creative coding |
| โšก **Speed runs** | Rapid prototyping cycles |
| ๐Ÿ”„ **Multiple playthroughs** | Different implementation attempts |

### ๐Ÿš€ When to Use Your Code Save Points:
- **๐Ÿงช Experiments**: Try wild ideas without fear - restore if they don't work
- **๐Ÿ“š Learning**: Checkpoint your progress while following tutorials
- **๐Ÿš€ Prototyping**: Quick saves for rapid iteration cycles
- **๐Ÿ”ง Refactoring**: Save before major changes, restore if things break
- **๐ŸŽจ Creative Coding**: Art projects, game jams, creative experiments
- **๐Ÿ“ Documentation**: Save states while writing examples or demos

### ๐Ÿšซ When to Use Git Instead:
- Large production codebases
- Team collaboration projects
- Code that needs detailed history tracking
- Professional development workflows

## โœจ Game Mechanics for Code

### ๐ŸŽฎ Just Like Your Favorite Games

| ๐ŸŽฏ **Game Feature** | ๐Ÿ’ป **Global Save State** | ๐Ÿ”ฅ **Why It's Awesome** |
| ------------------------ | ----------------------- | ---------------------------- |
| ๐Ÿ’พ **Quick Save** | `Ctrl+Shift+S` | Instant checkpoint creation |
| ๐Ÿ”„ **Quick Load** | `Ctrl+Alt+R` | Instant project restoration |
| ๐Ÿ“ **Named Saves** | "Before AI Integration" | Descriptive checkpoint names |
| ๐ŸŽฏ **Save Slots** | Up to 50 per project | Multiple restore points |
| โšก **No Loading Screens** | Instant restore | Zero wait time |
| ๐ŸŽช **Multiple Campaigns** | Multi-root workspaces | Independent save systems |

### ๐Ÿš€ Core Features

- **๐Ÿ’พ Create Named Save Points**: Capture your entire project state with custom names
- **๐Ÿ”„ Instant Restore**: Quickly restore to any previous save point
- **๐Ÿ“ Multi-Root Support**: Each workspace folder maintains its own save points independently
- **โš™๏ธ Flexible Exclusions**: Configure exclusion patterns per folder via `.vscode/settings.json`
- **โšก Smart Detection**: Automatically handles empty save points when no changes are detected
- **๐ŸŽฏ Not a VCS**: Lightweight alternative to version control for quick state management

## ๐Ÿ“ฆ Installation

### ๐ŸŽฎ From VS Code Marketplace (Recommended)
1. Open VS Code
2. Go to Extensions (`Ctrl+Shift+X`)
3. Search for "**Global Save State**"
4. Click **Install**
5. Start creating save points! ๐ŸŽ‰

### ๐Ÿ“ From VSIX File
1. Download the `.vsix` file from [releases](https://github.com/Life-Experimentalist/global-save-state/releases)
2. Open VS Code
3. Run `Extensions: Install from VSIX...` from Command Palette
4. Select the downloaded `.vsix` file

## ๐ŸŽฎ Quick Start Guide - Your First Save Point!

### ๐Ÿ•น๏ธ Tutorial Mode (5 minutes)

**Step 1: Set the Scene** ๐ŸŽฌ
```bash
# Open any project in VS Code
# Make some changes to your files
# Now you're ready for your first checkpoint!
```

**Step 2: Create Your First Save Point** ๐Ÿ’พ
1. Press `Ctrl+Shift+S` (your "Save Game" button)
2. Name it: **"Tutorial Checkpoint 1"**
3. Watch the magic happen! โœจ

**Step 3: Make Some Changes** ๐Ÿ”จ
```javascript
// Add some experimental code
function experimentalFeature() {
// This might break everything...
return 'risky code here';
}
```

**Step 4: Create Another Checkpoint** ๐Ÿ“
1. Press `Ctrl+Shift+S` again
2. Name it: **"Added Experimental Feature"**

**Step 5: Oh No! Something Broke!** ๐Ÿ’ฅ
1. Press `Ctrl+Alt+R` (your "Load Game" button)
2. Select **"Tutorial Checkpoint 1"**
3. **BOOM!** ๐ŸŽ‰ You're back to safety!

> ๐Ÿ’ก **Pro Gamer Tip**: Use descriptive save names like "Before Adding Database", "Working Login System", or "Pre-Boss-Fight-Refactor"

## ๐ŸŽฏ Advanced Usage
### ๐Ÿ’พ Creating Save Points (Quick Save)
- **๐ŸŽฎ Keyboard**: `Ctrl+Shift+S` (or `Cmd+Shift+S` on Mac)
- **๐Ÿ“ Command Palette**: `Global Save State: Create Save Point`

**Multi-Workspace Projects:**
1. If multiple workspace folders are open, select which folder to save
2. Enter a descriptive name for your save point (think epic checkpoint names!)
3. The extension captures all files (excluding configured patterns)

### ๐Ÿ”„ Loading Save Points (Quick Load)
- **๐ŸŽฎ Keyboard**: `Ctrl+Alt+R` (or `Cmd+Alt+R` on Mac)
- **๐Ÿ“ Command Palette**: `Global Save State: Restore Save Point`

**Restore Process:**
1. If multiple workspace folders are open, select which folder to restore
2. Choose from your list of save points (sorted by newest first)
3. Your project is instantly restored to that exact state

> โš ๏ธ **Boss Fight Warning**: Just like in games, loading a save point will overwrite your current progress! Save first if you want to keep changes.

## โš™๏ธ Configuration

### Per-Folder Settings
Create `.vscode/settings.json` in any workspace folder:

```json
{
"globalSaveState.excludePatterns": [
"**/node_modules/**",
"**/.git/**",
"**/dist/**",
"**/build/**",
"**/.vscode/**",
"**/out/**",
"**/*.log"
]
}
```

### Global Settings
- **Max Save Points**: Configure maximum save points to keep (default: 50)
- **Default Exclusions**: Set global exclusion patterns

## ๐Ÿ“‹ Requirements

- VS Code 1.74.0 or higher
- Node.js 16.0.0 or higher

## ๐Ÿ”ง Development

```bash
# Clone the repository
git clone https://github.com/Life-Experimentalist/global-save-state

# Install dependencies
npm install

# Compile TypeScript
npm run compile

# Run tests
npm test

# Build extension package
npm run build
```

## ๐Ÿ“– Documentation

- [Architecture](docs/ARCHITECTURE.md): System design and diagrams
- [Roadmap](docs/ROADMAP.md): Milestones and future plans
- [TODO](docs/TODO.md): Tasks and bugs
- [Changelog](docs/CHANGELOG.md): Release notes
- [License](LICENSE.md): License information
- [Code of Conduct](docs/CODE_OF_CONDUCT.md): Community guidelines

## ๐Ÿค Contributing

See [Contributing Guide](.github/ISSUE_TEMPLATE/CONTRIBUTING.md) for details on:
- Code style guidelines
- How to submit pull requests
- Bug reporting process

## ๐Ÿ“„ License

Licensed under the [Apache 2.0 License](LICENSE.md).

## ๐Ÿ› Issues & Support

- Report bugs: [GitHub Issues](https://github.com/Life-Experimentalist/global-save-state/issues)
- Feature requests: [GitHub Issues](https://github.com/Life-Experimentalist/global-save-state/issues)
- Email: krishnagsvv@gmail.com

---

**๐ŸŽฎ Happy Coding with Save Points! ๐ŸŽ‰**

*Made with โค๏ธ for developers who miss game checkpoints in their code*

[๐ŸŒŸ Star on GitHub](https://github.com/Life-Experimentalist/global-save-state) | [๐Ÿ“ฆ VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=Life-Experimentalist.global-save-state)