feat(cli): add private NanoShare sync client
Build and Push Docker Container / build-and-push (push) Successful in 1m3s

- Add a separate installable NanoShare CLI package under cli/.
- Implement browser login with local callback and refresh-token config.
- Add upload, list, download, sync, and watch CLI commands.
- Add private owner-only file download endpoint for CLI downloads.
- Add CLI auth endpoints for browser login and token refresh.
- Return file_id from ServiceLink uploads for reliable sync state.
- Exclude the CLI package from NanoShare container builds.
- Include tests for private downloads and sync state updates.
This commit is contained in:
2026-07-27 15:52:34 +02:00
parent 4ee4d6a0a4
commit 42064de633
21 changed files with 1118 additions and 3 deletions
+20
View File
@@ -0,0 +1,20 @@
# NanoShare CLI
Desktop CLI and folder sync client for NanoShare.
## Install locally
```bash
uv tool install ./cli
```
## Login
```bash
nanoshare login https://your-nanoshare.example
```
## Sync
```bash
nanoshare sync ~/NanoShare
nanoshare watch ~/NanoShare --interval 10
```
The CLI stores config in `~/.config/nanoshare/config.toml` and sync state in `.nanoshare-sync/state.json` inside the synced folder.