Skip to content

bladeacer/mnemosync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub go.mod Go version GitHub License Go Report Card

mns

Short for mnemosync. A CLI tool that lets you add folders to backup manually to a target Git repository.

The name is inspired by the Greek Goddess of memory Mnemosyne.

Installation guide

This installation guide assumes you know how to create and set up a Git repository.

Always backup your files before using mmsync.

go install github.com/bladeacer/mmsync@latest

Ensure that you can access Go binaries in your $PATH.

mns

Project status

WIP. See this GitHub project for the progress tracker.

This is my first project using the Go programming language, but I hope it will be useful.

Planned features

  • Check if required binaries are available before calling the tool

    • Required binaries: git, rsync, tar, zip
  • Help command line flag

  • CRUD target directories which user wishes to backup e.g.

  • rsync to mirror said target directories to a ~/.mnemosync/folders

    • Either manually triggered or we integrate cron
  • Wrapper for user to manually copy the files and push them in their Git repository

  • Wrapper to let user set default commit message format

LLM Usage Disclosure

As this is my first project using Golang, I initially used some AI assistance for syntax, with the larger commits in the earlier iterations of the codebase.

These days, I have been trying to avoid relying on LLMs too much.

License

This Golang CLI app, "mnemosync" is released under the GNU General Public License version 3 (GPLv3) License.

License Notice

This file is part of mnemosync. mnemosync is a CLI tool that lets you add
folders to backup manually to a target Git repository. 

Copyright (c) 2025 bladeacer

mnemosync is free software: you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later version.

mnemosync is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with mnemosync.
If not, see <https://www.gnu.org/licenses/>. 

License file

You can find the license file here.

Credits

This CLI was made possible by Cobra CLI.

Planned CLI spec

View currently available options by running mnemosync without any flags or arguments.

There is also mns man for a generated manual page.

Command What it does Implementation Status
mns Main help text to stdout. Done
mns init Initialise a new configuration file with default values. Done
mns config Manage configuration file. WIP
mns completion Generate autocompletion script for target shell (Cobra CLI builtin) Done
mns health Check Health and installation of dependencies (optional or not) Done
mns help Get help text for specific command (Status depends on target command) WIP
mns man Generates the manual page and displays with less WIP
mns add Add target file/folder with target with alias support. WIP

About

A CLI tool that lets you add folders to backup manually to a target Git repository.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors