mirror of
https://github.com/Heretek-AI/awesome-opencode.git
synced 2026-11-09 10:19:34 -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]>
41 lines
1.6 KiB
Markdown
41 lines
1.6 KiB
Markdown
# 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](plugin.yaml) |
|
|
| `data/themes/` | [theme.yaml](theme.yaml) |
|
|
| `data/agents/` | [agent.yaml](agent.yaml) |
|
|
| `data/projects/` | [project.yaml](project.yaml) |
|
|
| `data/resources/` | [resource.yaml](resource.yaml) |
|
|
| `data/projects/` (`kind: fork`) | [fork.yaml](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
|