Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/awesome-opencode/awesome-opencode/llms.txt

Use this file to discover all available pages before exploring further.

This page documents all available fields for YAML entries in the Awesome OpenCode list.

Required Fields

All entries must include these four fields:
name
string
required
Display name of the project or tool.
  • Use title case (e.g., “My Plugin Name”)
  • Be descriptive and specific
  • Avoid marketing buzzwords
Example:
name: Security Review Agent
repo
string (URI)
required
URL to the repository.
  • Must be a valid HTTPS URL
  • Typically a GitHub repository
  • Must be publicly accessible
Example:
repo: https://github.com/example/opencode-security-agent
tagline
string
required
Short punchy summary shown in collapsed view.
  • Maximum 120 characters
  • Clearly explain what the project does
  • Avoid redundant category names
Example:
tagline: AI agent specialized in security code review
description
string
required
Full description of the project shown when expanded.
  • Can be multiple lines
  • Explain what it does and why it’s useful
  • Highlight key features and use cases
  • Use proper markdown formatting
Example:
description: A custom agent configuration for security-focused code review.
  Includes
  - Custom system prompts for security analysis
  - Predefined tools for vulnerability scanning
  - Skills for OWASP Top 10 detection

Optional Fields

scope
array
default:"[global]"
Installation scope indicating where the extension can be installed.
  • global - System-wide installation (~/.config/opencode/)
  • project - Project-specific installation (.opencode/)
  • Defaults to [global] if omitted
  • Can specify both if applicable
  • Must include at least one value if specified
Examples:
# Plugin that works in both locations
scope:
  - global
  - project
# Theme that's typically global-only
scope:
  - global
tags
array of strings
Tags for filtering and discoverability.
  • Use lowercase with hyphens for multi-word tags
  • Be specific and relevant
  • Include technology names if applicable
  • Avoid overly generic tags
Example:
tags:
  - security
  - code-review
  - owasp
  - agent
min_version
string (semver)
Minimum OpenCode version required.
  • Must follow semantic versioning format: major.minor.patch
  • Pattern: ^[0-9]+\.[0-9]+\.[0-9]+
Example:
min_version: "1.0.0"
Always use quotes around version numbers to ensure YAML parses them as strings, not numbers.
homepage
string (URI)
Documentation URL if different from the repository.
  • Must be a valid HTTPS URL
  • Use for dedicated documentation sites
  • Omit if docs are in the repository README
Example:
homepage: https://example.com/docs/security-agent
installation
string
Detailed installation instructions in markdown format.Use the multiline string format (|) for readability.Recommended sections:
  • Prerequisites
  • Installation steps
  • Configuration
  • Files modified
  • Removal/uninstallation
Example:
installation: |
  ## Prerequisites
  - OpenCode 1.0.0 or later
  - Node.js 18+
  
  ## Installation
  
  ### Global (all projects)
  npm install -g @example/mcp-server
  
  ## Configuration
  Add to your opencode.json configuration file.
  
  ## Files Modified
  - ~/.config/opencode/opencode.json
  
  ## Removal
  npm uninstall -g @example/mcp-server

Complete Examples

Here are complete examples for different categories:
# data/plugins/example-plugin.yaml
name: Example Plugin
repo: https://github.com/example/opencode-example-plugin
tagline: A brief description of what this plugin does (max 120 chars)
description: A longer description explaining the plugin in detail.
  - Can be multiple lines and include
  - Feature highlights
  - Use cases
  - Key benefits

scope:
  - global
  - project

tags:
  - productivity
  - ai
  - authentication

min_version: "1.0.0"

homepage: https://example.com/docs/opencode-plugin

installation: |
  ## Prerequisites
  - OpenCode 1.0.0 or later
  - Node.js 18+ (for local development)
  
  ## Installation
  
  ### Global (all projects)
  git clone https://github.com/example/opencode-example-plugin ~/.config/opencode/plugin/example-plugin
  
  ### Project-only
  git clone https://github.com/example/opencode-example-plugin .opencode/plugin/example-plugin
  
  ## Configuration
  Add to your opencode.json configuration file.
  
  ## Removal
  1. Remove the plugin directory
  2. Remove the config entry from opencode.json

Validation

All entries are validated against this schema using the validation script:
node scripts/validate.js data/category/your-file.yaml
The validator checks:
  • YAML syntax is correct
  • All required fields are present
  • Field types match the schema
  • tagline is 120 characters or less
  • URLs are valid and properly formatted
  • min_version follows semver pattern if specified
  • scope contains valid values (global or project)
Validation runs automatically on all pull requests. Ensure your entry passes validation before submitting.

Additional Notes

  • The schema allows additionalProperties: true, so you can include custom fields if needed
  • YAML files use the .yaml extension (not .yml)
  • File names should use kebab-case (e.g., my-plugin.yaml)
  • The README.md is auto-generated from YAML files - never edit it directly
For questions about specific fields or validation errors, see the contribution guidelines or review existing entries in the repository.