Fernnode v0.2 (build e9b3a77) is out. Two months of usage on my own projects surfaced a clear list of missing features. Here are the main ones.
S3 backend
fernnode sync ./src s3://my-bucket/backups/src --watch
The S3 backend uses AWS SDK v3 and supports standard credential resolution (environment variables, ~/.aws/credentials, instance profile). Uploads are batched and deduplicated — Fernnode hashes file contents and skips uploads where the remote hash matches, so re-syncing after a restart is fast.
Multipart upload kicks in automatically for files over 50 MB. The threshold is configurable via FERNNODE_MP_THRESHOLD environment variable.
.fernignore
The ignore file syntax follows .gitignore exactly — the same glob patterns and negation rules. If you already have a .gitignore, you can point Fernnode at it:
fernnode sync ./src remote:backup --ignore-file .gitignore
The default ignores include node_modules/, .git/, and *.tmp. Add a .fernignore at the root of your watched directory to extend.
Dry run mode
$ fernnode sync ./src remote:backup --dry-run
+ added src/api/handler.ts (2.4 KB)
~ modified src/utils/format.ts (808 B → 1.1 KB)
- removed src/legacy/compat.ts
= unchanged 47 files
Apply? [y/N]
The diff view shows added, modified, and removed files before any data is transferred. The tree is colored in terminal output (using ANSI codes, no external dependency) and plain text in --no-color mode for CI.