mirror of
https://github.com/LerianStudio/ring
synced 2026-04-21 13:37:27 +00:00
Move OpenCode runtime plugin and installer into Ring monorepo under platforms/opencode/. The installer reads skills, agents, and commands directly from the Ring monorepo's canonical directories (default/, dev-team/, pm-team/, etc.) — zero asset duplication. What's included: - installer.sh: reads from Ring dirs, applies frontmatter/tool transforms, installs to ~/.config/opencode/ - plugin/: TypeScript runtime (RingUnifiedPlugin) with hooks, lifecycle, loaders - src/: CLI (doctor, config-manager) - prompts/: session-start and context-injection templates - standards/: coding standards (from dev-team/docs/) - ring.jsonc: default config with full 86-skill/35-agent/33-command inventory What's NOT included (intentionally): - assets/ directory: eliminated, content comes from Ring monorepo - scripts/codereview/: eliminated, replaced by mithril - using-ring-opencode skill: uses canonical using-ring instead Transforms applied by installer: - Agent: type→mode, strip version/changelog/output_schema/input_schema - Skill: keep name+description frontmatter, body unchanged - Command: strip argument-hint (unsupported by OpenCode) - All: normalize tool names (Bash→bash, Read→read, etc.) - All: strip Model Requirement sections from agents Replaces: LerianStudio/ring-for-opencode repository Generated-by: Gandalf AI-Model: claude-opus-4
28 lines
911 B
TypeScript
28 lines
911 B
TypeScript
/**
|
|
* Ring OpenCode Plugin
|
|
*
|
|
* This module exports ONLY the plugin function for OpenCode.
|
|
*
|
|
* IMPORTANT: OpenCode's plugin loader iterates over ALL exports and calls
|
|
* each one as a function. Any non-function export will crash the loader with:
|
|
* "TypeError: fn3 is not a function"
|
|
*
|
|
* Therefore, this file MUST only export:
|
|
* - RingUnifiedPlugin (named export)
|
|
* - default export
|
|
*
|
|
* For internal APIs (hooks, config, utils, etc.), import directly from
|
|
* the submodules:
|
|
* - "./hooks/index.js"
|
|
* - "./config/index.js"
|
|
* - "./utils/state.js"
|
|
* - "./loaders/index.js"
|
|
* - "./tools/index.js"
|
|
* - "./lifecycle/index.js"
|
|
*/
|
|
|
|
// =============================================================================
|
|
// PLUGIN EXPORTS ONLY
|
|
// =============================================================================
|
|
|
|
export { RingUnifiedPlugin, RingUnifiedPlugin as default } from "./ring-unified.js"
|