- 🗑 Move files and directories to a safe trash with history
- ♻ Restore any previous version in seconds
- 🕒 Built-in history tracking
- 📦 Lightweight and fast
- 💻 Works directly from the command line
⚠ .NET 9.0 SDK or newer is recommended
# Clone the repository
git clone https://github.com/UndefinedClear/Storm.git
cd Storm/Storm
chmod +x make
chmod +x build_allStorm stores deleted files in a versioned trash directory. The location varies by operating system:
| OS | Path |
|---|---|
| Windows | %LOCALAPPDATA%\Storm\.trash_can |
| Linux | ~/.local/share/storm/.trash_can |
| macOS | ~/.local/share/storm/.trash_can |
| Custom | $XDG_DATA_HOME/storm/.trash_can (if XDG_DATA_HOME is set) |
💡 Tip: On Linux/macOS, Storm follows the XDG Base Directory Specification.
You can override the default trash directory by setting the STORM_TRASH_DIR environment variable:
# Temporary (current session only)
export STORM_TRASH_DIR="/path/to/custom/trash"
# Permanent (add to ~/.bashrc or ~/.zshrc)
echo 'export STORM_TRASH_DIR="/path/to/custom/trash"' >> ~/.bashrc
source ~/.bashrc
You can also use the provided build scripts to generate a standalone executable in the publish folder:
- Windows: Run
Storm/build.bat - Linux: Run
Storm/make(make sure tochmod +x makefirst)
These scripts create a self-contained, single-file release.
Stable builds are available in the Releases section: ➡ Download compiled binaries ➡ View changelogs ➡ Access previous versions
storm
StormMove one or multiple files and directories into Storm history.
storm test.txt
storm folder1 folder2 image.pngRestore a file or directory using its history ID or version.
storm -r HISTORY_ID_OR_VERSION test.txt
storm -r 2026-01-29_21-03-03 folder1Show all saved versions.
storm -hStorm keeps safe snapshots of deleted or replaced files so you can restore them later. Each operation is versioned with a timestamp, making recovery simple and reliable.
- .NET 9.0 SDK (recommended)
- Windows, Linux, or macOS
- Terminal with ANSI color support
Found a bug or have a feature request? Open an issue here: 👉 https://github.com/UndefinedClear/Storm/issues
Please include:
- What happened
- Steps to reproduce
- Your OS and Storm version
Pull Requests are welcome!
- Fork the repository
- Create a new branch
- Make your changes
- Submit a Pull Request
Before submitting, please:
- Follow the existing code style
- Test your changes
All improvements, fixes, and ideas are appreciated. Small PRs are reviewed faster 😉
Planned improvements and upcoming features:
- Auto-clean old history versions
- Config file support (
storm.config) - Ignore patterns (like
.gitignore) - Restore preview before confirming
- Compression for stored versions
- Global install via
dotnet tool - Interactive TUI mode
- Performance improvements for large directories
Have an idea? Open an issue and share it!
This project is licensed under the MIT License.
If Storm saved your files, give it a star ⭐ It helps the project grow!




