Featured image of post The AI provider that isn't an API

The AI provider that isn't an API

go-tool-base’s chat package puts five AI providers behind one interface. Four of them are exactly what you’d guess: HTTP calls to OpenAI, Claude, Gemini, and anything OpenAI-compatible. The fifth one isn’t an API at all. It shells out to a …

Featured image of post AI conversations you can resume

AI conversations you can resume

An AI conversation is, fundamentally, its own history. The model’s next answer depends on everything said so far. And a CLI tool, by its very nature, forgets everything the moment it exits. Put those two facts together and you get the …

Featured image of post An AI agent that has to make the build pass

An AI agent that has to make the build pass

Most AI code generation works on a charming little principle I’ll call generate-and-hope. The model writes the code, the model stops at the closing brace, and whether the thing actually compiles is left as an exercise for you. For a snippet …

Featured image of post Stop regex-ing the LLM's prose

Stop regex-ing the LLM's prose

Ask an LLM a question and it hands you back prose. Lovely to read, miserable to program against. You wanted the one number buried in the middle of it, and now you’re writing a regular expression to fish a word out of three well-written …

Featured image of post Nobody reads the manual

Nobody reads the manual

Let me describe the actual lifecycle of a user meeting your CLI tool, because it’s a bit humbling. They run it. It doesn’t quite do what they expected. They run it again with --help. They get a wall of monospaced flag descriptions, skim it, …

(1 - 10)
Enter Press Enter to jump