Overview
A zero-dependency command-line tool that puts a multi-provider AI assistant one keystroke away. Ask a question — `tlme how do I undo the last git commit but keep changes` — and the answer streams back inline as it is generated. It speaks to Claude, OpenAI, Grok, Google AI Studio, and OpenRouter behind one interface, injects your OS, shell, and current directory into the system prompt so 'in this directory' questions get tailored commands, and stays clean when its output is piped.
The problem
Switching to a browser to ask a quick shell or code question breaks flow, and every existing CLI drags in a tree of dependencies — axios, commander, chalk, dotenv — for what is fundamentally an HTTP call. The goal was a single-file tool with no npm dependencies at all (native fetch and node:* only) that still streams tokens live, handles five providers with different request shapes and SSE dialects, and stores API keys safely.
Highlights
- Zero npm dependencies — native fetch and node: modules only; no axios, commander, chalk, or dotenv.
- Five providers behind one interface — Claude, OpenAI, Grok, Google AI Studio, and OpenRouter — with per-call --provider and --model overrides.
- Hand-parsed Server-Sent Events stream: text deltas write to stdout as they arrive, so you read the answer while it is still being generated.
- Interactive --setup wizard with a full-screen arrow-key picker and type-to-filter that fetches the live model list from your key, falling back to a numbered prompt on terminals without raw input.
- Context-aware system prompt injects OS, shell, and working directory; TTY-aware output emits ANSI colors only to a terminal so piping stays clean.
- Keys resolve env-var-first, then a chmod-600 config file — and --config show only ever prints masked keys.