autosave

Crates.ioautosave
lib.rsautosave
version0.2.0
created_at2026-01-21 07:50:51.804649+00
updated_at2026-01-22 06:06:40.858158+00
descriptionAutomatically save all your changes to the repository
homepage
repositoryhttps://github.com/cordx56/autosave
max_upload_size
id2058579
size108,585
Yuki Okamoto (cordx56)

documentation

README

💾
autosave

Automatically save all your changes to the repository

autosave watches for file changes and automatically saves changed files to the local Git repository as a commit. By default, changes are committed with the message autosave commit to the tmp/autosave branch.

[!WARNING] The author is not responsible for any data loss. Please back up your local changes to remote repository frequently. If you find any bugs, please report them as an issue.

Features

  • Watches file changes and automatically commits them
  • Runs as a background daemon
  • Supports multiple repositories simultaneously
  • Provides sandbox branches for concurrent development

Supported: Linux, macOS

Install

curl -L https://github.com/cordx56/autosave/releases/latest/download/install.sh | sh

Or, build from source:

cargo install autosave --locked

Usage

To watch changes and save the current repository automatically:

autosave

Once you add the repository, it will be watched until it is removed.

To list the current watch list:

autosave list

To remove the current repository from the watch list:

autosave remove

To stop the daemon:

autosave kill

Start Daemon Automatically

Add the following line to your shell rc file (e.g. .bashrc, .zshrc) to start the autosave daemon automatically:

(command -v autosave && autosave list) > /dev/null

Sandbox

If you would like to enter a sandbox Git branch, you can use:

autosave run [branch name]

This allows you to make file changes on the specified branch without affecting your current branch. All changes are automatically committed to the sandbox branch, keeping your original working directory clean.

For example, you can run multiple development sessions concurrently on different branches:

# in one terminal
autosave run terminal-1 claude "Implement API"

# in another terminal
autosave run terminal-2 claude "Implement UI"

After exiting the process, you can merge your sandboxed branch.

Uninstall

To uninstall autosave, remove the binary:

rm "$(which autosave)"

License

Copyright (C) 2023-2026 cordx56

This software is distributed under the MPL 2.0 license.

Commit count: 53

cargo fmt