alvaropinot / nocloud

πŸ”„πŸš«β˜οΈ nocloud - iCloud nosync cli

Home Page:https://alvaropinot.github.io/nocloud

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

nocloud

nocloud πŸ”„πŸš«β˜οΈ

iCloud nosync cli

What is nocloud?

Firstly a WIP or quick POC. nocloud pretends to solve the problem of syncing files with iCloud that might need to follow any given name convention. I'm πŸ‘€ at you node_modules folder πŸ˜….

How does it work?

iCloud, as today, will ignore any file or folder ending in .nosync when syncing to the ☁️. Knowing that, nocloud does the following:

  1. Renames any given files or directories, adding the extension .nosync.
  2. Creates a symbolic link with the original name to the renamed one.

Usage

Clone or download nocloud.sh

Make it executable by running:

$ chmod +x nocloud.sh

or install it globally by running:

$ install nocloud.sh /usr/local/bin/nocloud

Stop syncing any file or folder by running:

$ nocloud <name-of-the-file-or-folder>

Example If you dont want to sync your (>200MB) node_modules folder:

$ nocloud node_modules

Tests

  • Moves to *.nosync and creates a symbolic link with the original name
    • Works for directories
    • Works for files

TODO

  • Add exit codes
  • Undo the - removes the symbolyc link, then removes .nosync extension
  • Check conflicts
  • Allow multiple arguments
  • Allow file patterns
  • TDD in bash πŸ˜…
  • Add silent mode 🀫
  • Create the the actual cli
  • Add prettier for bash. Is this feasible? πŸ˜…
  • Publish to homebrew formulas
  • semantic-release - will it blend? πŸ‘©β€πŸ³ It did blend!

not that FAQ

Q: Why is there a package.json file in a bash project, I see no JavaScript?

A: Why? Why not 😜! package.json holds the release script with semantic-release and some info about the project, like the actual version. JavaScript everywhere! Even whenever the project it's not a JS one 😎

πŸ™ Thanks

Logo inspiration:

  • Sync by ProSymbols from the Noun Project
  • Cloud by Kumar from the Noun Project

About

πŸ”„πŸš«β˜οΈ nocloud - iCloud nosync cli

https://alvaropinot.github.io/nocloud

License:MIT License


Languages

Language:Shell 100.0%