### Development

```sh
npm run watch
npm link
auron db clear
```

### Commands

#### Database Commands

##### `auron db clear`

Clear the local database.

#### Queue Commands

##### `auron queue sync`

Sync the queue from Ozone to the local database. This also fetches all repos and records related to the subjects.

```sh
auron queue sync -n 100
```
Sync 100 items from Ozone to the local database.

##### `auron queue export`

Export queue items from your local database to a file.

```sh
auron queue export -f <file> -n <number> -t <type> --bio <keyword/text> --keyword <keyword/text> --cursor <string>
```

- `-f, --file <file>`: Export file path (required).
- `-n, --count <number>`: Max number of items from the queue to export.
- `-t, --type <type>`: Subject type filter, either "account" or "record".
- `--bio <keyword/text>`: Keyword to be matched in the profile bio of the subject.
- `--keyword <keyword/text>`: Keyword to be matched anywhere in the profile bio/record content, etc.
- `--cursor <string>`: Cursor to start fetching from.

##### `auron queue clear`

Clear your locally stored queue.

### Options

`--env /path/to/your.env`

Any command can take this option to set environment variables for the command from the specified `.env` file.

Your `.env` file must have at least these configurations:

```
SERVICE_URL=service url for authentication and API requests
SERVICE_DID=DID of your labeler
USERNAME=your atproto account username with access to your labeler
PASSWORD=your atproto account password
LOCAL_DB_PATH=path where the local SQLite database will be kept
```