Configuration
Ideon merges configuration from multiple sources and validates the result before execution.
Precedence Rules
Lowest to highest priority:
- Saved settings file
- Job file settings
- Environment variables
- Direct CLI arguments (
--style,--primary,--secondary, idea input)
Secret precedence:
IDEON_OPENROUTER_API_KEYandIDEON_REPLICATE_API_TOKENfrom environment variables override keychain-stored secrets.- If env vars are not set, Ideon falls back to keychain values saved through
ideon settings.
Per-field merge behavior:
modelSettingsmerges by key (temperature,maxTokens,topP) across sources.contentTargetsis replaced as a full array when provided by a higher-priority source.- Scalar settings (for example
model,style,markdownOutputDir) are replaced by the highest-priority source. - Scalar settings (for example
model,style,targetLength,markdownOutputDir) are replaced by the highest-priority source.
Settings Schema
Core settings include:
model: LLM model identifiermodelSettings.temperature: 0..2modelSettings.maxTokens: positive integermodelSettings.topP: 0..1modelRequestTimeoutMs: positive integer request timeout in milliseconds (default90000)t2i.modelId: selected text-to-image modelt2i.inputOverrides: model-specific user overridesmarkdownOutputDirassetOutputDircontentTargets: array of output targets with per-type countsstyle: run-level writing styletargetLength: run-level output size tier (small,medium,large)
contentTargets entries:
contentType: one ofarticle,blog-post,x-thread,x-post,reddit-post,linkedin-post,newsletter,landing-page-copyrole:primaryorsecondarycount: positive integer
Rules:
- Exactly one
contentTargetsentry must have roleprimary. - Primary count must be
1. - Secondary entries are optional and can use counts greater than
1.
Style values:
professionalfriendlytechnicalacademicopinionatedstorytelling
Defaults:
contentTargets:[ { "contentType": "article", "role": "primary", "count": 1 } ]style:professionaltargetLength:medium
Target length tiers:
small: compressed output with fewer sections/ideasmedium: balanced depth and readability (default)large: expanded, deeper output with more coverage and examples
Saved Settings Location
Saved via OS config path (using env-paths), typically:
- macOS:
~/.ideon/settings.json
To edit saved settings, run ideon settings again. The wizard is the supported way to update values and stored credentials.
Example Environment Override
IDEON_MODEL=openai/gpt-4.1-mini \
IDEON_TEMPERATURE=0.6 \
IDEON_MAX_TOKENS=2400 \
IDEON_STYLE=technical \
IDEON_TARGET_LENGTH=large \
ideon write "An idea"
Note: content target arrays are not currently configurable through environment variables. Use CLI --primary/--secondary flags or job-file settings.contentTargets.
See Environment Variables for full list.