Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

Outline

OpenCode Configuration Schema Generator

This tool generates a JSON Schema for the OpenCode configuration file. The schema can be used to validate configuration files and provide autocompletion in editors that support JSON Schema.

Usage

go run cmd/schema/main.go > opencode-schema.json

This will generate a JSON Schema file that can be used to validate configuration files.

Schema Features

The generated schema includes:

  • All configuration options with descriptions
  • Default values where applicable
  • Validation for enum values (e.g., model IDs, provider types)
  • Required fields
  • Type checking

Using the Schema

You can use the generated schema in several ways:

  1. Editor Integration: Many editors (VS Code, JetBrains IDEs, etc.) support JSON Schema for validation and autocompletion. You can configure your editor to use the generated schema for .opencode.json files.

  2. Validation Tools: You can use tools like jsonschema to validate your configuration files against the schema.

  3. Documentation: The schema serves as documentation for the configuration options.

Example Configuration

Here's an example configuration that conforms to the schema:

{
  "data": {
    "directory": ".opencode"
  },
  "debug": false,
  "providers": {
    "anthropic": {
      "apiKey": "your-api-key"
    }
  },
  "agents": {
    "coder": {
      "model": "claude-3.7-sonnet",
      "maxTokens": 5000,
      "reasoningEffort": "medium"
    },
    "task": {
      "model": "claude-3.7-sonnet",
      "maxTokens": 5000
    },
    "title": {
      "model": "claude-3.7-sonnet",
      "maxTokens": 80
    }
  }
}
Morty Proxy This is a proxified and sanitized view of the page, visit original site.