Config file
Auto-load your token and server from ~/.config/arjia-beam/config so the CLI Just Works.
The CLI auto-loads ~/.config/arjia-beam/config (or
$XDG_CONFIG_HOME/arjia-beam/config) so you never have to remember the token.
Simple key=value lines, # comments allowed.
Format
# ~/.config/arjia-beam/config (chmod 600 — it holds your token)
token=your-api-token
server=https://beam.example.com
# key=per-webhook-secret # optional; callers must then send ?key=...
# forward=http://localhost:8080 # optional default forward targetValues may be optionally quoted; blank lines and # comments are ignored.
The file is optional — a missing or unreadable file is not an error, the CLI
just falls back to flags, env vars, and built-in defaults.
The file holds your API token. chmod 600 it so other users on the machine
can't read it.
Precedence
For every setting:
explicit flag / env var > config file > built-in defaultBecause server and forward have built-in defaults, the CLI can only detect
"the user didn't set this" as "still equal to the default" — so a config value
fills in only when the flag is left at its default. token and key have no
default, so the config value is used whenever the flag is empty.
Recognized keys
| key | maps to | default |
|---|---|---|
token | --token | — (required to listen) |
server | --server | — (required) |
key | --key | — |
forward | --forward | http://localhost:3000 |
With that in place
beam webhook listen myhook # zero flags → forward to localhost:3000
beam webhook listen myhook --tail # zero flags → just watch requests
beam webhook send myhook -d '{}' # send reuses server (and key) tooThe same server and key are reused by beam webhook send,
so re-firing a delivery needs only the hub name.