Golf #
Agentic Coding like it's 1999!
Golf is a minimalist "harness" with a single goal: be small. Utilize as few dependencies and lines of code to implement these features as possible.
Golf is invoked from the command-line and takes a prompt through CLI arguments or stdin if nothing is provided. The inference tokens are then streamed to the console. Tool calls are supported in a single inference turn. However, once the inference turn completes, golf exits back to the shell.
Golf implements extensions through separate processes communicating over standard streams. Inference providers are a class of extension.
Extension Protocol #
The protocol of golf is nested netstrings as S-expressions. Netstrings provide length-prefixed framing, and S-expressions group the nestrings into lists.