# klog `klog` is a small command-line tool to log coffee brewing events to the Kaffeelogger-API via HTTP POST requests. I have half-vibe-coded it with the help of ChatGPT. It is built with Go and uses a simple configuration file to store your API settings and token. --- ## Features - **Commands** - `klog config token ` – store the access token - `klog config url ` – set API endpoint - `klog config insecure ` – ignore self-signed SSL certs - `klog config show` – show current configuration - `klog c` (aliases: `klog k`, `klog coffee`, `klog kaffee`) – log a coffee - `klog balance` – shows your balance - `klog brew [--notify=] [--plan=] [--planTime=]` – log a brew with options - **Formatted output** Responses from the server (usually JSON) are displayed as a table for easier reading. --- ## Installation ### Build from source Make sure you have [Go installed](https://go.dev/dl/). ```bash git clone https://dev.hflabs.de/henner/kaffeecli.git cd klog go build -o bin/klog main.go ``` ### Prebuilt binaries On tagged releases, prebuilt binaries for Linux and Windows are available under the [Releases](../../../releases) section. --- ## Usage ### Configure the tool ```bash # Set API token klog config token my-secret-token # Set Kaffeelogger URL klog config url https://example.com/ # Show current configuration klog config show ``` ### Show your balance ```bash klog balance ``` ### Log events ```bash # Quick coffee log klog c # Brew with parameters klog brew 1250 # plans a brew with 1250mL and notifies in 8 min. klog brew 250 --notify=true --plan=true --planTime=5 # plans a brew with 250mL and notifies in 5 min. ``` --- ## Development Run locally: ```bash go run main.go ``` Compile for Linux: ```bash GOOS=linux GOARCH=amd64 go build -o bin/klog main.go ``` Compile for Windows: ```bash GOOS=windows GOARCH=amd64 go build -o bin/klog.exe main.go ``` --- ## License MIT License. See [LICENSE](LICENSE) for details.