Skip to main content

Settings File

All settings live in ~/.vibelearn/settings.json. Created automatically with defaults on first run.
~/.vibelearn/settings.json
{
  "VIBELEARN_GEMINI_API_KEY": "",
  "VIBELEARN_OPENROUTER_API_KEY": "",
  "VIBELEARN_AUTO_SYNC": "true",
  "VIBELEARN_LOG_LEVEL": "info",
  "VIBELEARN_WORKER_PORT": "37778",
  "VIBELEARN_WORKER_HOST": "127.0.0.1"
}

AI Provider Settings

VibeLearn uses LLMs for two steps: concept extraction and quiz generation. Priority order: Gemini → OpenRouter → Anthropic API.

Gemini

KeyDefaultDescription
VIBELEARN_GEMINI_API_KEY""API key from aistudio.google.com
VIBELEARN_GEMINI_MODELgemini-2.5-flash-liteModel name
VIBELEARN_GEMINI_RATE_LIMITING_ENABLEDtrueRespect free-tier rate limits

OpenRouter

KeyDefaultDescription
VIBELEARN_OPENROUTER_API_KEY""API key from openrouter.ai
VIBELEARN_OPENROUTER_MODELgoogle/gemini-2.0-flash-exp:freeDefault model
Free models: google/gemini-2.0-flash-exp:free, xiaomi/mimo-v2-flash:free

Anthropic

Uses ANTHROPIC_API_KEY from the environment — automatically available in Claude Code sessions. No extra configuration required.

Sync Settings

KeyDefaultDescription
VIBELEARN_AUTO_SYNCtrueSync to vibelearn.dev after each session
Sync payloads are HMAC-signed with your API key (set via vl login <api-key>). Failures queue in vl_sync_queue and retry next session. Set "false" to disable sync entirely — data stays local.

Worker Settings

KeyDefaultDescription
VIBELEARN_WORKER_PORT37778Worker HTTP port
VIBELEARN_WORKER_HOST127.0.0.1Worker bind address
VIBELEARN_LOG_LEVELinfoLog level: debug, info, warn, error

Hook Settings

KeyDefaultDescription
VIBELEARN_EXCLUDED_PROJECTS[]Project paths to skip
VIBELEARN_SKIP_TOOLS[]Tool names to skip in observation capture

Auth Config

Written automatically by vl login <api-key>:
~/.vibelearn/config.json
{
  "apiKey": "vl-...",
  "userId": "...",
  "syncEndpoint": "https://api.vibelearn.dev/v1/sync"
}
Check current auth status with vl login --status.

Minimal Config Examples

{
  "VIBELEARN_GEMINI_API_KEY": "AIza...",
  "VIBELEARN_AUTO_SYNC": "false"
}
Concepts and quizzes work locally. No vibelearn.dev account needed.