flavorcli 0.3.0

A command line interface to interact with FlavorTown
flavorcli-0.3.0 is not a library.

FlavorCLI

Made with Rust Licence Tracked on Hackatime Commit activity Last Commit rust-clippy analyze

FlavorCLI is a fully-featured implementation of the Flavortown API, allowing for easier and streamlined interaction with HackClub's Flavortown.

Full Documentation

The full documentation is available on GitBook or in the Docs Folder. I've intentionally written these as more beginner friendly and less silly than this README.

Quick Start

Please note that this quick start guide may not be beginner friendly and is a bit silly.

Installation

Prebuilt (Recommended)

At some point, FlavorCLI will be available on all[^1] major package managers.

GitHub Releases

To download and install precompiled binaries from GitHub, follow these steps:

  1. Download the ZIP file for your platform
  2. Unzip the contents
  3. Inside, you will see the precompiled binary, plus this readme, a copy of the licence, and an installer and uninstaller script for convenience.
  4. (Optional) Execute the installer script.
    1. If you are on windows, run powershell.exe -ExecutionPolicy Bypass -File "install-win.ps1"
    2. If you are on linux, run chmod +x install-linux.sh
    3. Actually run the script
    4. This will move the binary to a bin directory and add it to PATH, so you can type flavor to run the app at any time.
  5. Keep the uninstall script handy for once flavortown ends. [^1]: What that constitutes is unknown to me, I'll figure it out when it's timeā„¢

Cargo

If you have cargo, you may choose to install FlavorCLI with the following command:

cargo install flavorcli

Ensure you have the cargo install directory in your PATH.

AUR

If you use Arch Linux, you can build using AUR with this command:

yay -S flavorcli

Build it yourself

  1. Download the source code or git clone the repo[^2]
  2. Download and install rust if it is not already installed
  3. Run cargo build -r
  4. Run cargo install --path .
  5. Ensure you have your cargo's install directory (usually ~/.cargo/bin) in PATH
  6. Profit! [^2]: What you do is up to you, just get a copy of the code

Usage

Get your API key

  1. To get your Flavortown API key, go to https://flavortown.hackclub.com/kitchen and do all the things to get yourself signed in.
  2. Click the gear icon in the toolbar to open your settings

An image with a bunch of arrows pointing to a gear icon that you can find in the sidebar on the flavortown website where you see your nameplate.

  1. Copy your API Key

An image of the settings modal, the section you're looking for (The API key section btw) is at the bottom. That should be enough to help you find it, right?

  1. FlavorCLI no longer requires you to get your user ID! Having said that, if you do wish to use the --no-verify tag when setting your auth, you do still need to add your user ID. You may also choose to override the user ID linked to your token for some reason.

  2. Run ft auth set <TOKEN>[^3] [^3]: You can use ft auth delete at any time to delete your API Key. Your API Key is stored on device with your device's keychain. If you want to set auth for each command, add the --auth <APIKEY> flag

Features

  • Stores and verifies your API Key in your OS' keychain when using ft auth set <USER_ID> <TOKEN>.
  • Get and list projects
  • Get and list devlogs
  • Get and list store items
  • Get and list users

Planned Features

  • Actually have commands
  • Make those commands reflect what can be done with the API, add more
  • Authorization with Flavortown.
  • API Key storage with keychain.
  • Actually handle the commands lol.
  • API Implementation
  • The rest is dependant on what additions are made to the API
  • Also a few flags are planned, i've marked them in comments and cannot be bothered to write them here haha