Files
awesome-opencode/data/examples
John SmithandClaude Opus 5.5 56fad94c34 feat(schema): add kind, topics, compat, npm and path; reject unknown fields and non-root repo URLs
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]>
2026-10-17 13:00:22 -04:00
..

Examples

This directory contains exemplar YAML files showing the full schema for each extension type.

These are reference examples, not actual entries.

Usage

When adding a new entry to data/{category}/, use the corresponding example as a reference:

Adding to... Reference
data/plugins/ plugin.yaml
data/themes/ theme.yaml
data/agents/ agent.yaml
data/projects/ project.yaml
data/resources/ resource.yaml
data/projects/ (kind: fork) fork.yaml

Required vs Optional Fields

Required (all entries must have)

  • name - Display name
  • repo - Repository URL (https://github.com/...)
  • tagline - Short description (max 120 chars)
  • description - Full description (can be multi-line)

Optional (include if relevant)

  • scope - Installation scope: [global], [project], or [global, project] (defaults to [global])
  • tags - Array of strings for filtering
  • min_version - Minimum OpenCode version (semver)
  • homepage - Documentation URL if different from repo
  • installation - Markdown installation instructions

Notes

  • Type is derived from directory - No type field needed; it's inferred from the folder
  • Scope is optional - Defaults to [global]; add if project-level install is relevant
  • Installation is markdown - Use headers, code blocks, lists as needed
  • Schema allows additional fields - Future fields can be added without breaking existing entries