Last active
June 6, 2025 12:13
-
-
Save daveio/8d61320990bcd3623d0305fe7b341f0c to your computer and use it in GitHub Desktop.
Goose configuration schema
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"$schema": "http://json-schema.org/draft-07/schema#", | |
"$id": "https://gist.github.com/daveio/8d61320990bcd3623d0305fe7b341f0c", | |
"title": "Goose Configuration", | |
"description": "Configuration schema for Goose AI assistant YAML files. Unofficial; written using the documentation at <https://block.github.io/goose/docs/guides/config-file/>", | |
"type": "object", | |
"properties": { | |
"GOOSE_PROVIDER": { | |
"type": "string", | |
"description": "Primary LLM provider for Goose", | |
"enum": ["anthropic", "openai"], | |
"examples": ["anthropic", "openai"] | |
}, | |
"GOOSE_MODEL": { | |
"type": "string", | |
"description": "Default model to use with the provider", | |
"examples": [ | |
"claude-3-5-sonnet-20241022", | |
"claude-3-5-haiku-20241022", | |
"claude-3-opus-20240229", | |
"gpt-4o", | |
"gpt-4o-mini", | |
"gpt-4-turbo" | |
] | |
}, | |
"GOOSE_TEMPERATURE": { | |
"type": "number", | |
"minimum": 0.0, | |
"maximum": 1.0, | |
"description": "Controls randomness in model responses (0.0 = deterministic, 1.0 = very random)", | |
"default": 0.1 | |
}, | |
"GOOSE_MODE": { | |
"type": "string", | |
"description": "Interaction mode for Goose", | |
"enum": ["auto", "approve", "chat", "smart_approve"], | |
"default": "smart_approve" | |
}, | |
"GOOSE_PLANNER_PROVIDER": { | |
"type": "string", | |
"description": "Provider to use specifically for planning mode", | |
"enum": ["anthropic", "openai"] | |
}, | |
"GOOSE_PLANNER_MODEL": { | |
"type": "string", | |
"description": "Model to use specifically for planning mode", | |
"examples": [ | |
"claude-3-5-sonnet-20241022", | |
"claude-3-5-haiku-20241022", | |
"gpt-4o", | |
"gpt-4o-mini" | |
] | |
}, | |
"GOOSE_MAX_TOKENS": { | |
"type": "integer", | |
"minimum": 1, | |
"description": "Maximum number of tokens for model responses" | |
}, | |
"GOOSE_API_KEY": { | |
"type": "string", | |
"description": "API key for the primary provider (consider using environment variables instead)" | |
}, | |
"GOOSE_ANTHROPIC_API_KEY": { | |
"type": "string", | |
"description": "Anthropic API key (consider using environment variables instead)" | |
}, | |
"GOOSE_OPENAI_API_KEY": { | |
"type": "string", | |
"description": "OpenAI API key (consider using environment variables instead)" | |
}, | |
"GOOSE_BASE_URL": { | |
"type": "string", | |
"format": "uri", | |
"description": "Base URL for API requests (for custom endpoints)" | |
}, | |
"extensions": { | |
"type": "object", | |
"description": "Configuration for Goose extensions", | |
"patternProperties": { | |
".*": { | |
"type": "object", | |
"properties": { | |
"bundled": { | |
"type": ["boolean", "null"] | |
}, | |
"display_name": { | |
"type": "string" | |
}, | |
"enabled": { | |
"type": "boolean" | |
}, | |
"name": { | |
"type": "string" | |
}, | |
"timeout": { | |
"type": "number" | |
}, | |
"type": { | |
"type": "string", | |
"enum": ["builtin", "stdio"] | |
}, | |
"args": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"cmd": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"env_keys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"envs": { | |
"type": "object" | |
} | |
}, | |
"required": ["enabled", "name", "timeout", "type"], | |
"additionalProperties": false | |
} | |
} | |
}, | |
"profiles": { | |
"type": "object", | |
"description": "Named configuration profiles", | |
"additionalProperties": { | |
"type": "object", | |
"properties": { | |
"GOOSE_PROVIDER": { | |
"$ref": "#/properties/GOOSE_PROVIDER" | |
}, | |
"GOOSE_MODEL": { | |
"$ref": "#/properties/GOOSE_MODEL" | |
}, | |
"GOOSE_TEMPERATURE": { | |
"$ref": "#/properties/GOOSE_TEMPERATURE" | |
}, | |
"GOOSE_MODE": { | |
"$ref": "#/properties/GOOSE_MODE" | |
}, | |
"GOOSE_PLANNER_PROVIDER": { | |
"$ref": "#/properties/GOOSE_PLANNER_PROVIDER" | |
}, | |
"GOOSE_PLANNER_MODEL": { | |
"$ref": "#/properties/GOOSE_PLANNER_MODEL" | |
}, | |
"GOOSE_MAX_TOKENS": { | |
"$ref": "#/properties/GOOSE_MAX_TOKENS" | |
}, | |
"extensions": { | |
"$ref": "#/properties/extensions" | |
} | |
}, | |
"additionalProperties": false | |
} | |
} | |
}, | |
"required": ["extensions"], | |
"additionalProperties": false, | |
"examples": [ | |
{ | |
"GOOSE_PROVIDER": "anthropic", | |
"GOOSE_MODEL": "claude-3-5-sonnet-20241022", | |
"GOOSE_TEMPERATURE": 0.1, | |
"GOOSE_MODE": "smart_approve", | |
"extensions": { | |
"mcp_client": { | |
"bundled": true, | |
"enabled": true, | |
"name": "MCP Client", | |
"type": "builtin" | |
}, | |
"my_custom_tool": { | |
"bundled": false, | |
"enabled": true, | |
"name": "Custom Tool", | |
"type": "stdio", | |
"path": "/path/to/my/tool", | |
"args": ["--config", "config.json"], | |
"timeout": 60 | |
} | |
} | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment