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```