Files

YAML Configuration Support

Overview

Fabric now supports YAML configuration files for commonly used options. This allows users to persist settings and share configurations across multiple runs.

Usage

Use the --config flag to specify a YAML configuration file:

fabric --config ~/.config/fabric/config.yaml "Tell me about APIs"

Configuration Precedence

  1. CLI flags (highest priority)
  2. YAML config values
  3. Default values (lowest priority)

Supported Configuration Options

# Model selection
model: gpt-4
modelContextLength: 4096

# Model parameters
temperature: 0.7
topp: 0.9
presencepenalty: 0.0
frequencypenalty: 0.0
seed: 42

# Pattern selection
pattern: analyze  # Use pattern name or filename

# Feature flags
stream: true
raw: false

Rules and Behavior

  • Only long flag names are supported in YAML (e.g., temperature not -t)
  • CLI flags always override YAML values
  • Unknown YAML declarations are ignored
  • If a declaration appears multiple times in YAML, the last one wins
  • The order of YAML declarations doesn't matter

Type Conversions

The following string-to-type conversions are supported:

  • String to number: "42"42
  • String to float: "42.5"42.5
  • String to boolean: "true"true

Example Config

# ~/.config/fabric/config.yaml
model: gpt-4
temperature: 0.8
pattern: analyze
stream: true
topp: 0.95
presencepenalty: 0.1
frequencypenalty: 0.2

CLI Override Example

# Override temperature from config
fabric --config ~/.config/fabric/config.yaml --temperature 0.9 "Query"