Skip to content

Global Configuration Structure

Global Configuration Structure

Global configuration is stored in ~/.prodigy/config.yml in your home directory. These settings apply to all Prodigy projects unless overridden by project-specific configuration.

Location

  • File: ~/.prodigy/config.yml
  • Created: Automatically on first run with defaults
  • Format: YAML

Fields

prodigy_home

Type: Path Default: ~/.prodigy (or platform-specific data directory)

Base directory for global Prodigy data including events, DLQ, state, and worktrees.

prodigy_home: /Users/username/.prodigy

default_editor

Type: String (optional) Default: None

Default text editor for interactive operations. Falls back to EDITOR environment variable if not set.

default_editor: vim

log_level

Type: String (optional) Default: info Valid values: trace, debug, info, warn, error

Controls logging verbosity for Prodigy operations.

log_level: debug

claude_api_key

Type: String (optional) Default: None

Claude API key for AI-powered commands. Can be overridden by project config or PRODIGY_CLAUDE_API_KEY environment variable.

claude_api_key: "sk-ant-api03-..."

Security Note: Store API keys in environment variables or project config (not committed to version control) rather than global config.

max_concurrent_specs

Type: Integer (optional) Default: 1

Maximum number of concurrent spec implementations to run in parallel.

max_concurrent_specs: 3

auto_commit

Type: Boolean (optional) Default: true

Whether to automatically commit changes after successful command execution.

auto_commit: false

storage

Type: Object (optional) Default: File storage in ~/.prodigy

Storage backend configuration for events, DLQ, state, and worktrees. See Storage Configuration for details.

storage:
  backend: file
  backend_config:
    base_dir: ~/.prodigy
    repository_grouping: true

Storage Fields: - backend: Storage type (file or memory) - backend_config.base_dir: Base directory for file storage - backend_config.repository_grouping: Group data by repository name (default: true)

See Storage Configuration for complete documentation.

plugins

Type: Object (optional) Default: None

Plugin system configuration. See Plugin Configuration below.

Complete Example

# ~/.prodigy/config.yml
prodigy_home: /Users/username/.prodigy
default_editor: code
log_level: info
claude_api_key: "sk-ant-api03-..."
max_concurrent_specs: 2
auto_commit: true

storage:
  backend: file
  backend_config:
    base_dir: /Users/username/.prodigy
    repository_grouping: true

plugins:
  enabled: true
  directory: /Users/username/.prodigy/plugins
  auto_load:
    - github-integration
    - slack-notifications

Plugin Configuration

The plugins field controls the plugin system:

enabled

Type: Boolean Default: false

Enable or disable the plugin system.

plugins:
  enabled: true

directory

Type: Path Default: ~/.prodigy/plugins

Directory to search for plugins.

plugins:
  directory: /custom/plugin/path

auto_load

Type: Array of strings Default: []

List of plugin names to automatically load on startup.

plugins:
  auto_load:
    - plugin-name-1
    - plugin-name-2

Creating Global Config

If the file doesn't exist, create it manually:

mkdir -p ~/.prodigy
cat > ~/.prodigy/config.yml << 'EOF'
log_level: info
auto_commit: true
EOF

Relationship to Project Config

  • Global config applies to all projects
  • Project config (.prodigy/config.yml) overrides global config per field
  • Settings not specified in project config are inherited from global config
  • See Configuration Precedence Rules for details