# fable-agent — Project Instructions ## Project TypeScript self-improving agent system implementing the Fable 5 compound stack. All model calls route through the local proxy at `localhost:18901`. ## Build / Test - `npm run build` - `node dist/index.js demo` - `npx tsc --noEmit` ## Model Routing All model calls route through `http://localhost:18901/v1`. ### Working verified routes | Alias | Provider | Notes | |-------|----------|-------| | `go-dsv4-flash` | Go API | Primary cheap/fast route | | `claude-sonnet-4-6` | Zen API | Code review, bounded subtasks | | `fi-gemini` | Free provider | Gemini free tier | | `fi-mistral` | Free provider | Mistral free tier | | `nemotron-3-ultra-free` | Free provider | Nvidia free tier | ### Provider groups - **Go API**: `go-*` models (12 models, $10/mo flat) - **Zen API**: `claude-*`, `gpt-*`, `gemini-*`, etc. - **CrofAI**: fallback provider on 429 - **Free providers (`fi-*`)**: free-tier models The proxy currently exposes 58 model aliases across these providers. The model router tracks 35 models with real pricing. ## Proxy Configuration - Proxy config: `~/.config/grok-proxy.cjs` - Provider keys: `~/.config/infer/keys.env`, `~/.config/fi/keys.env` - Restart proxy after config changes. ## Project Structure - CLI: `dist/index.js` - Source: `src/` - State: `~/.fable-agent/` - Skills: `SKILLS/` - Phases: `PHASES/`