suneater-labs22 downloadsBack up and sync your vault to S3 with git-based version control.
Back up and sync your vault to S3 with git-based version control.
File badges & notifications |
View changes diff |
Merge conflict resolution |
Status bar indicator |
View commit changes |
|
Uses native git via child_process. The .git directory is copied to/from S3 directly. Uses LFS to store large files in S3.
src/
main.tsx → Plugin entry, orchestrates git/S3/UI
commands.ts → Command palette commands
settings.tsx → Settings tab and defaults
ui/
StatusBar.tsx → Status bar component
RibbonButtons.ts → Push/Pull/Restore ribbon icons
LogModal.tsx → Commit history modal
DiffModal.tsx → View changes modal
MergeModal.tsx → Conflict resolution modal
utils/
git.ts → Native git wrapper (child_process)
lfs.ts → Git LFS utilities
env.ts → Environment setup for GUI apps
s3.ts → S3 client wrapper
s3-fs.ts → S3 filesystem operations
Requires git and git-lfs installed on your system.
Windows:
winget install --id Git.Git -e --source winget
winget install --id GitHub.GitLFS -e --source winget
macOS:
brew install git git-lfs
Linux (Debian/Ubuntu):
sudo apt install git git-lfs
After installing, run once:
git lfs install
Ribbon buttons:
Commands:
Push to RemotePull from RemoteRestore ChangesShow LogView Changess3://bucket/
.git/ → git repository (mirrored from local)
lfs/objects/AB/CD/... → LFS objects (sharded by SHA256)
Shows current state: synced, uncommitted changes, syncing, or error.
npm install
npm run build
npm run lint # Check for errors
./scripts/install.sh # Install to test vault