mirror of
https://github.com/Heretek-AI/awesome-opencode.git
synced 2026-11-07 10:45:57 -10:00
Entries gain a fixed kind and 1-3 topics (replacing 374 one-off tags as the categorization axis), an OpenCode API compat field (required for plugins), and npm/path for packages and monorepo folders. repo must be a repository root; unknown fields such as install: or repository: are rejected. Cross-entry rules (one entry per repo+path, kind must fit the category, no placeholder owners or mojibake) live in scripts/utils/catalog.js, and validate.js now always loads the whole catalog and fails on unparseable YAML. Adds npm run fmt for canonical formatting and drops the unused glob dependency. Co-Authored-By: Claude Opus 5.5 <[email protected]>
86 lines
2.5 KiB
YAML
86 lines
2.5 KiB
YAML
# Example Plugin Entry
|
|
# Plugins are JS/TS modules that extend OpenCode's core functionality.
|
|
# Place actual entries in: data/plugins/your-plugin-name.yaml
|
|
|
|
# ============================================================================
|
|
# REQUIRED FIELDS
|
|
# ============================================================================
|
|
|
|
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
|
|
|
|
kind: plugin # plugin, theme, agent, skill, mcp-server, client, tool, config, guide, fork
|
|
topics: # 1-3 from the fixed list in data/schema.json; the first is used for README grouping
|
|
- workflow
|
|
compat: v2 # plugins only: v2, v1 or unknown (CI verifies it)
|
|
|
|
# ============================================================================
|
|
# OPTIONAL FIELDS
|
|
# ============================================================================
|
|
|
|
# Scope defines where the extension can be installed (defaults to [global])
|
|
# Most plugins work in both locations - omit or specify only what's relevant
|
|
scope:
|
|
- global # ~/.config/opencode/plugin/
|
|
- project # .opencode/plugin/
|
|
|
|
# Tags for filtering and discoverability
|
|
tags:
|
|
- productivity
|
|
- ai
|
|
- authentication
|
|
|
|
# Minimum OpenCode version required (semver format)
|
|
min_version: "1.0.0"
|
|
|
|
# Documentation URL if different from repository
|
|
homepage: https://example.com/docs/opencode-plugin
|
|
|
|
# Detailed installation instructions (markdown format)
|
|
# Include sections relevant to your plugin
|
|
installation: |
|
|
## Prerequisites
|
|
- OpenCode 1.0.0 or later
|
|
- Node.js 18+ (for local development)
|
|
|
|
## Installation
|
|
|
|
### Global (all projects)
|
|
```bash
|
|
# Clone to global plugins directory
|
|
git clone https://github.com/example/opencode-example-plugin ~/.config/opencode/plugin/example-plugin
|
|
```
|
|
|
|
### Project-only
|
|
```bash
|
|
# Clone to project plugins directory
|
|
git clone https://github.com/example/opencode-example-plugin .opencode/plugin/example-plugin
|
|
```
|
|
|
|
## Configuration
|
|
Add to your `opencode.json`:
|
|
```json
|
|
{
|
|
"plugins": {
|
|
"example-plugin": {
|
|
"enabled": true,
|
|
"option1": "value"
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
## Files Modified
|
|
- `~/.config/opencode/opencode.json` (config entry)
|
|
- `~/.config/opencode/plugin/example-plugin/` (plugin files)
|
|
|
|
## Removal
|
|
1. Remove the plugin directory
|
|
2. Remove the config entry from `opencode.json`
|