Add collections, files, get, get-thumb CLI commands
Complete CLI surface: quak login interactive or QUAK_EMAIL/QUAK_PASSWORD quak whoami print logged-in account quak logout delete session quak collections list all albums (--json) quak files list files in a collection (--json) quak get <id> download+decrypt a file (--out, --collection) quak get-thumb <id> download+decrypt a thumbnail quak backup <dir> full incremental backup get/get-thumb search all collections for the file ID when --collection is not specified. All listing commands support --json. Live-tested: collections list, file list, single file download (472 KB JPEG from the dev account, verified as valid JPEG with EXIF intact).
This commit is contained in:
19
README.md
19
README.md
@@ -663,14 +663,25 @@ Phase 7: Client class
|
||||
|
||||
Phase 8: CLI
|
||||
|
||||
- [ ] `commander`-based CLI that matches the surface in the Design section
|
||||
- [ ] `--json` output for every command
|
||||
- [ ] Reasonable progress output for long downloads (only when stdout is a TTY)
|
||||
- [x] `quak login` (interactive TTY prompts or QUAK_EMAIL/QUAK_PASSWORD env vars
|
||||
for non-interactive use)
|
||||
- [x] `quak whoami`, `quak logout`
|
||||
- [x] `quak collections` and `quak files --collection <id>`
|
||||
- [x] `quak get <fileID>` and `quak get-thumb <fileID>` with --out and
|
||||
--collection options; searches all collections when --collection omitted
|
||||
- [x] `quak backup <dir>` with originals/ dedup, collections/ symlinks,
|
||||
per-collection and per-file JSON metadata, incremental skip, per-file
|
||||
error resilience, --json flag
|
||||
- [x] `--json` output on every listing/backup command
|
||||
- [x] Progress output to stderr for backup
|
||||
- [x] Session persistence via env-paths (~/Library/Application Support/quak/ on
|
||||
macOS, XDG_DATA_HOME/quak/ on Linux)
|
||||
|
||||
Phase 9: docs and 1.0
|
||||
|
||||
- [ ] README usage examples for both library and CLI verified by hand
|
||||
- [ ] Update README Getting Started and Design sections to match current state
|
||||
- [ ] All TODO items above checked
|
||||
- [ ] `make docker` green
|
||||
- [ ] Tag `v1.0.0`
|
||||
|
||||
Phase 10 and beyond: desktop client (separate repo)
|
||||
|
||||
Reference in New Issue
Block a user