mirror of
https://github.com/awesome-opencode/awesome-opencode.git
synced 2026-04-29 04:49:28 +00:00
feat(schema): refine and expand extension metadata schema
- Introduce `scope`, `tags`, `min_version`, `homepage`, and `installation` fields for enhanced discoverability and guidance. - Remove `install` and `compatibility` objects, replacing them with a simplified `installation` string field. - Add `examples/` directory with full exemplar files for each extension type. - Update `schema-design.md` to reflect new schema, clarify field definitions, and improve documentation structure.
This commit is contained in:
parent
8f1acd2c7c
commit
a806755d0f
9 changed files with 697 additions and 559 deletions
40
examples/README.md
Normal file
40
examples/README.md
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
# 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/forks/` | [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
|
||||
Loading…
Add table
Add a link
Reference in a new issue