An open API service indexing awesome lists of open source software.

https://github.com/alvaropinot/nocloud

🔄🚫☁️ nocloud - iCloud nosync cli
https://github.com/alvaropinot/nocloud

cli icloud icloud-sync

Last synced: about 1 month ago
JSON representation

🔄🚫☁️ nocloud - iCloud nosync cli

Awesome Lists containing this project

README

        


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:

```sh
$ chmod +x nocloud.sh
```

or install it globally by running:

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

Stop syncing any file or folder by running:

```sh
$ nocloud
```

**Example** If you dont want to sync your (>200MB) *node_modules* folder:
```sh
$ 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
- [x] 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
- [x] ~~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