feat: add OpenCode platform integration (consolidate ring-for-opencode)
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
2026-03-08 01:46:41 +00:00
|
|
|
{
|
|
|
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
|
|
|
"$id": "https://raw.githubusercontent.com/LerianStudio/ring-for-opencode/main/assets/ring-config.schema.json",
|
|
|
|
|
"title": "Ring Configuration",
|
|
|
|
|
"description": "Configuration schema for Ring",
|
|
|
|
|
"type": "object",
|
|
|
|
|
"properties": {
|
|
|
|
|
"$schema": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
"disabled_hooks": {
|
|
|
|
|
"default": [],
|
|
|
|
|
"type": "array",
|
|
|
|
|
"items": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"enum": [
|
|
|
|
|
"session-start",
|
|
|
|
|
"context-injection"
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"disabled_agents": {
|
|
|
|
|
"default": [],
|
|
|
|
|
"type": "array",
|
|
|
|
|
"items": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"enum": [
|
|
|
|
|
"code-reviewer",
|
|
|
|
|
"security-reviewer",
|
|
|
|
|
"business-logic-reviewer",
|
|
|
|
|
"test-reviewer",
|
|
|
|
|
"nil-safety-reviewer",
|
feat(review): add dead-code-reviewer agent for orphan detection
Introduces a new parallel reviewer, `ring:dead-code-reviewer`, to
systematically identify orphaned code resulting from changes. This
enhances codebase hygiene by detecting unused helpers, types, and
tests, thereby reducing technical debt and improving maintainability.
The parallel code review system is expanded from 6 to 7 concurrent
reviewers. All related workflows, skills, commands, and documentation
have been updated to integrate this new capability.
- Add the `ring:dead-code-reviewer` agent, which analyzes code across
three concentric rings (target, direct dependents, ripple effect) to
find unreachable code.
- Update the `/ring:codereview` command and `ring:requesting-code-review`
skill to dispatch all 7 reviewers in a single parallel step.
- Adjust project documentation, including architecture diagrams, manuals,
and agent guides, to reflect the 7-reviewer workflow.
2026-03-10 00:17:22 +00:00
|
|
|
"consequences-reviewer",
|
|
|
|
|
"dead-code-reviewer",
|
feat: add OpenCode platform integration (consolidate ring-for-opencode)
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
2026-03-08 01:46:41 +00:00
|
|
|
"codebase-explorer",
|
|
|
|
|
"write-plan",
|
|
|
|
|
"backend-engineer-golang",
|
|
|
|
|
"backend-engineer-typescript",
|
|
|
|
|
"frontend-engineer",
|
|
|
|
|
"frontend-designer",
|
|
|
|
|
"devops-engineer",
|
|
|
|
|
"sre",
|
|
|
|
|
"qa-analyst"
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"disabled_skills": {
|
|
|
|
|
"default": [],
|
|
|
|
|
"type": "array",
|
|
|
|
|
"items": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"enum": [
|
|
|
|
|
"using-ring-opencode",
|
|
|
|
|
"test-driven-development",
|
|
|
|
|
"requesting-code-review",
|
|
|
|
|
"writing-plans",
|
|
|
|
|
"executing-plans",
|
|
|
|
|
"brainstorming",
|
|
|
|
|
"linting-codebase",
|
|
|
|
|
"using-git-worktrees",
|
|
|
|
|
"exploring-codebase",
|
|
|
|
|
"handoff-tracking",
|
|
|
|
|
"interviewing-user",
|
|
|
|
|
"receiving-code-review",
|
|
|
|
|
"using-dev-team",
|
|
|
|
|
"writing-skills",
|
|
|
|
|
"dev-cycle",
|
|
|
|
|
"dev-devops",
|
|
|
|
|
"dev-feedback-loop",
|
|
|
|
|
"dev-implementation",
|
|
|
|
|
"dev-refactor",
|
|
|
|
|
"dev-sre",
|
|
|
|
|
"dev-testing",
|
|
|
|
|
"dev-validation",
|
|
|
|
|
"visual-explainer"
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"disabled_commands": {
|
|
|
|
|
"default": [],
|
|
|
|
|
"type": "array",
|
|
|
|
|
"items": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"enum": [
|
|
|
|
|
"brainstorm",
|
|
|
|
|
"codereview",
|
|
|
|
|
"commit",
|
|
|
|
|
"create-handoff",
|
|
|
|
|
"dev-cancel",
|
|
|
|
|
"dev-cycle",
|
|
|
|
|
"dev-refactor",
|
|
|
|
|
"dev-report",
|
|
|
|
|
"dev-status",
|
|
|
|
|
"execute-plan",
|
|
|
|
|
"explore-codebase",
|
|
|
|
|
"lint",
|
|
|
|
|
"md-to-html",
|
|
|
|
|
"worktree",
|
|
|
|
|
"write-plan"
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"experimental": {
|
|
|
|
|
"default": {
|
|
|
|
|
"preemptiveCompaction": false,
|
|
|
|
|
"compactionThreshold": 0.8,
|
|
|
|
|
"aggressiveTruncation": false
|
|
|
|
|
},
|
|
|
|
|
"type": "object",
|
|
|
|
|
"properties": {
|
|
|
|
|
"preemptiveCompaction": {
|
|
|
|
|
"default": false,
|
|
|
|
|
"type": "boolean"
|
|
|
|
|
},
|
|
|
|
|
"compactionThreshold": {
|
|
|
|
|
"default": 0.8,
|
|
|
|
|
"type": "number",
|
|
|
|
|
"minimum": 0.5,
|
|
|
|
|
"maximum": 0.95
|
|
|
|
|
},
|
|
|
|
|
"aggressiveTruncation": {
|
|
|
|
|
"default": false,
|
|
|
|
|
"type": "boolean"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"hooks": {
|
|
|
|
|
"type": "object",
|
|
|
|
|
"propertyNames": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": {
|
|
|
|
|
"type": "object",
|
|
|
|
|
"propertyNames": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": {}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|