# 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

# Machine config for the UTF-8 shell fix (see https://www.xsinfo.vip/windows/01-opencode-utf8.html).
# OpenCode reads opencode.json from this directory and invokes pwsh.cmd as the shell,
# so both are needed to reproduce a working setup on another machine. Note the shell
# path in opencode.json is absolute and per-user, so it must be edited per machine.
!/opencode.json
!/pwsh.cmd

# npm manifest for the sqlite plugin's better-sqlite3 dependency; without it the
# plugin fails to load with "Cannot find package 'better-sqlite3'".
!/package.json

# Belt and braces, in case a path is ever added from the parent side.
node_modules/
*.log
