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.
default_editor¶
Type: String (optional) Default: None
Default text editor for interactive operations. Falls back to EDITOR environment variable if not set.
log_level¶
Type: String (optional)
Default: info
Valid values: trace, debug, info, warn, error
Controls logging verbosity for Prodigy operations.
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.
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.
auto_commit¶
Type: Boolean (optional)
Default: true
Whether to automatically commit changes after successful command execution.
storage¶
Type: Object (optional)
Default: File storage in ~/.prodigy
Storage backend configuration for events, DLQ, state, and worktrees. See Storage Configuration for details.
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.
directory¶
Type: Path
Default: ~/.prodigy/plugins
Directory to search for plugins.
auto_load¶
Type: Array of strings
Default: []
List of plugin names to automatically load on startup.
Creating Global Config¶
If the file doesn't exist, create it manually:
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