CLIENT / OPEN SOURCE
Inside the CLI
heyfood is an Apache-2.0 Python client built for interactive terminals, headless machines, and scripts. The client code is public; the hosted intelligence it calls is a separate proprietary service.
A small, inspectable runtime
- Command surface
- Typer and Click
- Terminal rendering
- Rich presentation blocks
- Transport
- HTTPX and streamed events
- Python
- 3.11, 3.12, and 3.13
- Package isolation
- pipx
- Optional credentials
- OS keyring
Authentication follows the environment
heyfood login uses an explicit browser consent flow. SSH and headless environments can use a device short-code flow without a reachable loopback callback.
heyfood login
heyfood login --device --no-browser
heyfood status
heyfood doctorLocal state has defined boundaries
Configuration follows XDG conventions and is stored with mode 0600. The optional keyring extra moves tokens and local API keys into the operating-system credential vault. Named contexts make production, local, and authorized custom environments explicit.
heyfood context list
heyfood context use local
heyfood config show --json
heyfood config validateConfiguration precedence is command flags, environment overrides, then the selected context. config show redacts token and API-key fields.
The terminal is treated as an interface
- Banners appear only on compatible interactive terminals.
- CI, redirected output, noninteractive input, and
TERM=dumbsuppress decoration. NO_COLOR=1removes color without changing supported geometry.--no-inputturns prompt suppression into an explicit automation contract.- Search and recipe selections can be remembered locally for numbered follow-up commands.