- Fresh Astro 5 project with Tailwind v4 and shadcn/ui olive preset - All shadcn components installed (Card, Button, Badge, Separator, etc.) - Homepage with hero, terminal demo, workflows, agents, sources, compute - Full docs system with 24 markdown pages across 5 sections - Sidebar navigation with active state highlighting - Prose styles for markdown content using shadcn color tokens - Dark/light theme toggle with localStorage persistence - Shiki everforest syntax themes for code blocks - 404 page with VT323 font - /docs redirect to installation page - GitHub star count fetch - Earthy green/cream oklch color palette matching TUI theme Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2.8 KiB
title, description, section, order
| title | description | section | order |
|---|---|---|---|
| Configuration | Understand Feynman's configuration files and environment variables. | Getting Started | 4 |
Feynman stores all configuration and state under ~/.feynman/. This directory is created on first run and contains settings, authentication tokens, session history, and installed packages.
Directory structure
~/.feynman/
├── settings.json # Core configuration
├── web-search.json # Web search routing config
├── auth/ # OAuth tokens and API keys
├── sessions/ # Persisted conversation history
├── packages/ # Installed optional packages
└── bin/ # Binary (when installed via the native installer)
The settings.json file is the primary configuration file. It is created by feynman setup and can be edited manually. A typical configuration looks like:
{
"defaultModel": "anthropic:claude-sonnet-4-20250514",
"thinkingLevel": "medium"
}
Model configuration
The defaultModel field sets which model is used when you launch Feynman without the --model flag. The format is provider:model-name. You can change it via the CLI:
feynman model set anthropic:claude-opus-4-20250514
To see all models you have configured:
feynman model list
Thinking levels
The thinkingLevel field controls how much reasoning the model does before responding. Available levels are off, minimal, low, medium, high, and xhigh. Higher levels produce more thorough analysis at the cost of latency and token usage. You can override per-session:
feynman --thinking high
Environment variables
Feynman respects the following environment variables, which take precedence over settings.json:
| Variable | Description |
|---|---|
FEYNMAN_MODEL |
Override the default model |
FEYNMAN_HOME |
Override the config directory (default: ~/.feynman) |
FEYNMAN_THINKING |
Override the thinking level |
ANTHROPIC_API_KEY |
Anthropic API key |
OPENAI_API_KEY |
OpenAI API key |
GOOGLE_API_KEY |
Google AI API key |
TAVILY_API_KEY |
Tavily web search API key |
SERPER_API_KEY |
Serper web search API key |
Session storage
Each conversation is persisted as a JSON file in ~/.feynman/sessions/. To start a fresh session:
feynman --new-session
To point sessions at a different directory (useful for per-project session isolation):
feynman --session-dir ~/myproject/.feynman/sessions
Diagnostics
Run feynman doctor to verify your configuration is valid, check authentication status for all configured providers, and detect missing optional dependencies. The doctor command outputs a checklist showing what is working and what needs attention.