Version OpenCode skills and plugins

Repository sits at the OpenCode config root rather than inside skills/ or
plugins/. OpenCode scans exactly those two subdirectories, and a .git
directory inside either one is picked up as a plugin and fails to load:

  loading plugin id=.../plugins/.git entrypoint=.../plugins/.git/index
  failed to load plugin ... AggregateError: 2 errors building .../plugins/.git/index

The watcher.ignore config option does not help: it only suppresses filesystem
update events, not plugin discovery, and the "-" disable prefix only applies to
plugins listed in opencode.json(c), not auto-discovered ones.

.gitignore admits only skills/ and plugins/ (plus itself). Personal config
(opencode.jsonc, cli.json, service.json) and node_modules stay local.

skills/opencode-plugins  V2-only plugin authoring reference and 7 templates,
                         transcribed from the V2 docs with the URL on every file
plugins/searxng-search   searxng_search tool over a self-hosted SearXNG JSON API
This commit is contained in:
2026-10-08 13:12:10 +08:00
commit 15a1bbcee0
17 changed files with 3494 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
# Version only the skills and plugins trees.
#
# This directory is the OpenCode config root. OpenCode scans exactly two
# subdirectories for content:
#
# ~/.config/opencode/skills/ -> agent skills
# ~/.config/opencode/plugins/ -> server plugins (auto-discovered)
#
# A .git directory inside either of those gets picked up as a plugin and fails
# to load, so the repository lives one level up, here, and everything that is
# not skills/ or plugins/ is ignored.
#
# Ignore every top-level entry, then re-admit only the two content trees and
# this file. A bare /* is not enough: git will not descend into an ignored
# directory, so the un-ignore rules are required.
/*
!/skills/
!/plugins/
!/.gitignore
# Belt and braces, in case a path is ever added from the parent side.
node_modules/
*.log