Code Snapshot Journal
Offline, lightweight, pragmatic snapshot tool for developers.

🎯 Features
Core Features (Free)
- 📸 Create Snapshots:
Ctrl+Shift+S to capture workspace state
- ⏰ Timeline View: Visual timeline of all snapshots
- 🔄 Restore Snapshots: Restore any previous state with backup
- 🔍 Compare Snapshots: File-by-file diff comparison
- 🗑️ Delete Snapshots: Clean up old snapshots
- 💾 Offline Storage: All data stored locally, no cloud dependency
Pro Features (Coming Soon)
- 📊 Timeline Charts: Interactive visualization of development progress
- 📝 Markdown Export: Generate detailed changelogs
- ⏱️ Auto Snapshot: Automatic snapshots on save/timer
- 🔎 Advanced Search: Filter and search snapshots
- 🧹 Auto Clean: Remove old snapshots automatically
🚀 Installation
- Open VS Code
- Go to Extensions (
Ctrl+Shift+X )
- Search for "Code Snapshot Journal"
- Click Install
📖 Usage
Creating Snapshots
- Keyboard:
Ctrl+Shift+S
- Command Palette:
Ctrl+Shift+P → "Create Snapshot"
- Sidebar: Click the camera icon in the timeline view
Managing Snapshots
- View Timeline: Open the "Snapshot Timeline" sidebar
- Restore: Right-click snapshot → "Restore"
- Compare: Right-click snapshot → "Compare"
- Delete: Right-click snapshot → "Delete"
Configuration
{
"codeSnapshotJournal.snapshotsPath": ".snapshots",
"codeSnapshotJournal.maxSnapshotSize": 100
}
🛠️ Development
Prerequisites
- Node.js 16+
- npm 8+
- VS Code 1.95+
Setup
git clone https://github.com/yourusername/code-snapshot-journal.git
cd code-snapshot-journal
npm install
npm run build
Testing
npm test
Building
npm run build
npm run package
📁 Project Structure
code-snapshot-journal/
├── src/
│ ├── extension.ts # Main extension entry
│ ├── models/
│ │ └── snapshot.ts # Snapshot metadata
│ └── providers/
│ └── snapshotTreeProvider.ts # Timeline UI
├── package.json # Extension manifest
├── README.md # This file
└── CHANGELOG.md # Release notes
🤝 Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature )
- Commit your changes (
git commit -m 'Add amazing feature' )
- Push to the branch (
git push origin feature/amazing-feature )
- Open a Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
📞 Support
Made with ❤️ for developers who value their code history
| |