grain.social is a photo sharing platform built on atproto.
1# Grain CLI 2 3⚠️ **Work in Progress**: This CLI is currently under development and is not 4ready for use yet. 5 6A command-line interface for [grain.social](https://grain.social) - a platform 7for sharing photo galleries. 8 9## Features 10 11- **Authentication**: OAuth login flow with grain.social 12- **Gallery Management**: List and create photo galleries 13- **Image Upload**: Bulk upload images from local folders with automatic 14 resizing 15 16## Requirements 17 18- [Rust](https://rustup.rs/) installed 19- AT Protocol account ([Bluesky](https://bsky.app)) 20 21## Installation 22 23Build from source: 24 25```bash 26cargo build --release 27``` 28 29The binary will be available at `target/release/grain`. 30 31## Usage 32 33### Authentication 34 35First, authenticate with your grain.social account: 36 37```bash 38grain login 39``` 40 41This will open your browser for OAuth authentication. 42 43### Gallery Commands 44 45List your existing galleries: 46 47```bash 48grain gallery list 49``` 50 51Create a new gallery from a folder of images: 52 53```bash 54grain gallery create 55``` 56 57You'll be prompted for: 58 59- Gallery title 60- Gallery description (optional) 61- Path to folder containing images 62 63The CLI will automatically resize images and upload them to your new gallery. 64 65### Verbose Output 66 67Add `--verbose` to any command for detailed output: 68 69```bash 70grain login --verbose 71grain gallery create --verbose 72```