···11+[package]
22+name = "grain-cli"
33+version = "0.1.0"
44+edition = "2021"
55+66+[[bin]]
77+name = "grain"
88+path = "src/main.rs"
99+1010+[dependencies]
1111+tokio = { version = "1.0", features = ["full"] }
1212+reqwest = { version = "0.12", features = ["json"] }
1313+serde = { version = "1.0", features = ["derive"] }
1414+serde_json = "1.0"
1515+clap = { version = "4.0", features = ["derive"] }
1616+dialoguer = "0.11"
1717+image = "0.25"
1818+anyhow = "1.0"
1919+open = "5.0"
2020+hyper = { version = "1.0", features = ["full"] }
2121+hyper-util = { version = "0.1", features = ["full"] }
2222+http-body-util = "0.1"
2323+tokio-util = "0.7"
2424+futures-util = "0.3"
2525+chrono = { version = "0.4", features = ["serde"] }
2626+urlencoding = "2.1"
2727+url = "2.5"
2828+indicatif = "0.18"
2929+dirs = "6.0"
+72
cli/README.md
···11+# Grain CLI
22+33+⚠️ **Work in Progress**: This CLI is currently under development and is not
44+ready for use yet.
55+66+A command-line interface for [grain.social](https://grain.social) - a platform
77+for sharing photo galleries.
88+99+## Features
1010+1111+- **Authentication**: OAuth login flow with grain.social
1212+- **Gallery Management**: List and create photo galleries
1313+- **Image Upload**: Bulk upload images from local folders with automatic
1414+ resizing
1515+1616+## Requirements
1717+1818+- [Rust](https://rustup.rs/) installed
1919+- AT Protocol account ([Bluesky](https://bsky.app))
2020+2121+## Installation
2222+2323+Build from source:
2424+2525+```bash
2626+cargo build --release
2727+```
2828+2929+The binary will be available at `target/release/grain`.
3030+3131+## Usage
3232+3333+### Authentication
3434+3535+First, authenticate with your grain.social account:
3636+3737+```bash
3838+grain login
3939+```
4040+4141+This will open your browser for OAuth authentication.
4242+4343+### Gallery Commands
4444+4545+List your existing galleries:
4646+4747+```bash
4848+grain gallery list
4949+```
5050+5151+Create a new gallery from a folder of images:
5252+5353+```bash
5454+grain gallery create
5555+```
5656+5757+You'll be prompted for:
5858+5959+- Gallery title
6060+- Gallery description (optional)
6161+- Path to folder containing images
6262+6363+The CLI will automatically resize images and upload them to your new gallery.
6464+6565+### Verbose Output
6666+6767+Add `--verbose` to any command for detailed output:
6868+6969+```bash
7070+grain login --verbose
7171+grain gallery create --verbose
7272+```