Overview
yali is an open-source CLI described as a YAML LLM Interface. It lets users define prompts, models, inputs, outputs, and multi-step dependencies in YAML, then run those commands from the terminal. The tool supports dry-run prompt inspection, template variable injection, stdin and file-based input, and output to stdout or files. It is distributed via npm as @shira022/yali and includes safeguards such as timeouts, retry limits, and local concurrency limits to reduce accidental API overuse.
The challenge
Prompts that work stay in one person's memory, so nobody else reproduces the same result and the process lives on verbal knowledge.
How it was built
My role
- Designed the command abstraction so prompt, model, and I/O configuration live in a single YAML file
- Implemented support for multi-step prompt pipelines with dependency chaining and variable passing
- Added dry-run, flexible input and output handling, and CLI ergonomics for developer workflows
- Built guardrails around timeout, retries, and concurrency to limit accidental API cost spikes
Design decisions
- Lets developers define reusable LLM commands in YAML instead of hard-coding prompt flows
- Supports dry-run inspection before hitting the API, which improves safety during prompt iteration
- Includes practical safeguards for timeout, retry, and concurrency control in local CLI usage
Outcomes
Definition style
YAML-first
Distribution
npm package
Pipeline support
Multi-step dependencies
Tech Stack
TypeScriptNode.jsOpenAI APIYAMLnpmCLI