loaf is a terminal-first AI coding assistant built with Ink + React.
It supports multi-provider model auth, local tool execution, skills, chat history, and optional web search.
- OpenAI OAuth and OpenRouter API key support in one setup.
- Guided onboarding for first-time configuration.
- Searchable model picker with reasoning-level controls.
- Built-in shell and JavaScript execution tools.
- Optional
search_webvia Exa. - Skill loading with explicit
$skill-nameusage. - Resumable chat history and image attachments.
- Node.js
>=20 - npm
npm install
npm run devOn first launch, loaf runs onboarding so you can configure providers and (optionally) Exa search.
| Command | Description |
|---|---|
/auth |
Add or update auth providers. |
/onboarding |
Re-run setup flow (auth + Exa key). |
/forgeteverything |
Wipe local config and restart onboarding. |
/model |
Choose model, thinking level, and OpenRouter routing provider. |
/limits |
Show current provider usage/limit snapshot when available. |
/history |
Resume saved chats (/history, /history last, /history <id>). |
/skills |
List discovered skills and description previews. |
/tools |
List registered tools. |
/clear |
Clear current conversation messages. |
/help |
Show command list. |
/quit |
Exit loaf. |
/exit |
Exit loaf. |
Start loaf as a JSON-RPC 2.0 stdio server:
npm run rpcProtocol and method/event docs are in docs/rpc.md.
- Use
/skillsto list discovered skills and mention$skill-nameto apply one. - Use
/toolsto list all currently registered tools. - Custom tools are supported. See
docs/tools.md,CUSTOM_TOOLS.md, andsrc/tools/README.md.
- Use
/authto add or update providers. - Use
/modelto switch model and reasoning level. - Use
/onboardingany time to re-run setup.
npm run dev
npm run typecheck
npm run test
npm run test:coverage