Skip to content
Conduit

mcp server

rldyour-opencode

rldyour AI CLI configuration for OpenCode: local plugins, MCP/LSP, permissions, commands, agents, browser/design workflows, and security review.

Set up

Runs on your computer. Pick your agent and operating system.

This project does not publish an install method we can turn into a config. Follow the README instead.

README

synced Oct 23, 2026

rldyour-opencode

rldyour-opencode is the rldyour AI CLI configuration for OpenCode: local plugins, MCP/LSP, permissions, commands, agents, browser/design workflows, and security review.

validate CodeQL OpenSSF Scorecard License: AGPL-3.0-or-later Latest Release

rldyour-opencode is the rldyour AI CLI configuration for OpenCode: local TypeScript plugins, MCP/LSP, permissions, slash commands, subagents, browser/design workflows, and security review. Russian-first SDLC workflow, Serena integration, full-auto owner posture - all native to the OpenCode AI coding agent format.

Current Baseline

FieldValue
Adapter version1.7.33
Runtime baselineOpenCode 1.17.18
GitHub release tag1.7.33

Runtime baseline source: references/opencode-baseline.json. Submodule pins are owned by the root control-plane config/repositories.json.

Validated against opencode-ai, @opencode-ai/plugin, and @opencode-ai/sdk 1.17.18. The v1.14.48 → v1.17.18 jump preserves the runtime hook surface and tool-ID naming while picking up current plugin loading, skill discovery, ACP/WebSocket reliability, safer edits, backgroundable subagents, Copilot zero-batch pricing protection, and the Meta Muse Spark system prompt. The 1.17.18 config schema is byte-identical to the v1.17.7/v1.17.13/v1.17.14 snapshots (SHA-256 57c02429).

What This Repository Provides

rldyour-opencode is a self-contained OpenCode project configuration package - not a fork of the OpenCode runtime. Drop opencode.json and .opencode/ into any project and OpenCode resolves the full configuration: 38 skills across 10 workflow domains, 9 subagents, 11 slash commands, 10 TypeScript plugins, 11 MCP servers, 8 custom LSP servers, and owner-standard full-auto permissions. The adapter is authored by Danil Silantyev (github:rldyourmnd), CEO NDDev, and is licensed under AGPL-3.0-or-later. Implementation changes belong in this repository; the control-plane superproject (rldyour-ai-cli-tools) only advances the submodule pin.

Native Boundaries

OpenCode's native config surfaces that this adapter populates:

  • Master config: opencode.json (JSON or JSONC) - model, MCP, LSP, agents, watchers, compaction, permission rules.
  • Release-safe overlay: opencode.release-safe.json - conservative static read-deny patterns for .env, private keys, tokens, and shell/edit ask posture for public OSS examples.
  • Durable AI context: AGENTS.md, .opencode/, .serena/project.yml, and .serena/memories/ are tracked on main. Runtime-local Serena state remains ignored.
  • .opencode/ directory layout:
    • agents/*.md - 9 subagents (6 reviewer tracks, memory-sync, ry-explore, customize-opencode)
    • skills/<name>/SKILL.md - 38 skills across 10 domains
    • commands/*.md - 11 slash commands
    • plugins/*.ts - 10 Bun-runtime TypeScript local plugins
    • package.json - @opencode-ai/plugin pin for local Bun dependency resolution
  • Permission keys (canonical v1.17.18): read, edit, bash, task, external_directory, doom_loop - used in opencode.json permission.* fields.
  • MCP JSON: declared under mcp in opencode.json; registry-backed local servers use bunx/uvx, Dart uses its SDK, and Chrome DevTools uses the bootstrap-managed CloakBrowser wrapper - never npx.

Source-only artifacts (scripts, tests, CI workflows, reference docs, ADRs) are not loaded by OpenCode at runtime; they exist for validation and release hygiene only.

Install / Update / ry-repair

Install - clone and copy into your project:

git clone https://github.com/rldyourmnd/rldyour-opencode.git
cd rldyour-opencode
cp opencode.json /path/to/your/project/opencode.json
cp -r .opencode /path/to/your/project/.opencode
cp AGENTS.md /path/to/your/project/AGENTS.md

Authenticate - log in to your provider interactively, then set any required MCP env vars:

opencode auth login
export GITHUB_PERSONAL_ACCESS_TOKEN=YOUR_PLACEHOLDER_TOKEN  # required for GitHub MCP
export CONTEXT7_API_KEY=YOUR_PLACEHOLDER_KEY               # optional

Run:

cd /path/to/your/project
opencode

Check resolved config (authoritative):

opencode debug config

Diagnose runtime (MCP, LSP binaries, agent/skill/command discovery, git):

bash scripts/doctor_opencode.sh

Owner launcher (oc) - the rldyour-ai-cli-tools root provides scripts/install_yolo_launchers.sh --apply, which installs the oc wrapper that injects an allow-all OPENCODE_CONFIG_CONTENT override and sets OPENCODE_DISABLE_CLAUDE_CODE=1 so root skill resolution uses .opencode/skills. Use oc for the trusted owner workstation full-auto posture.

Convergence - inside any project where this config is active, run /ry-repair to repair stale docs, memories, contracts, hooks, MCP/LSP config, CI, and AI-tool context.

Update - pull the latest adapter tag, re-copy opencode.json and .opencode/, then run opencode debug config to confirm runtime resolved correctly. Check CHANGELOG.md and references/opencode-baseline.json for any dependency bumps that require re-authentication or pin updates.

Active Catalog

LayerWhereCount
Master configopencode.json1
Release-safe overlayopencode.release-safe.json1
Cross-tool instructionsAGENTS.md1
Claude Code project memory (agent-only).claude/CLAUDE.md1
Subagents.opencode/agents/*.md9
Skills.opencode/skills/<name>/SKILL.md38
Slash commands.opencode/commands/*.md11
Plugins.opencode/plugins/*.ts10
Custom diagnostic tools (LLM-callable).opencode/plugins/ry-tools.ts5
MCP serversopencode.json → mcp11
Custom LSP serversopencode.json → lsp8
Reference docs (contracts + machine metadata)references/*22
Operator guidesdocs/*.md5
Architecture decision archivedocs/decisions/*.md10
Diagnostic scripts (bash + Python)scripts/30
Pytest suitesscripts/tests/*.py26
CI workflows.github/workflows/*.yml11

Slash Commands

CommandAgentPurpose
/ry-initbuildScoped read-only project context with Serena-first discovery
/ry-startbuildFull task lifecycle: init → research → plan → implement → verify → sync
/ry-reviewplanReport-only deep review with parallel reviewer subagents
/ry-repairbuildRepair stale docs, memories, contracts, hooks, MCP/LSP config, CI, and AI-tool context
/ry-newpbuildPlan a new project (skeptical questions, research, ADRs, architecture docs)
/ry-deploybuildDeploy with sync, log checks, fix-forward
/ry-syncbuildSynchronize memories, docs, git, and tracked context
/ry-designbuildEnd-to-end design: Figma → tokens → FSD → shadcn/ui → browser validation
/ry-explorery-explore (subtask)Deep multi-source research via Context7 / DeepWiki / Grep / web
/ry-sec-reviewplanDefensive Mythos-style security review
/ry-rules-reviewplanAudit implementation against rldyour rules (report-only)

MCP Servers

Local servers timeout 30 s, remote 15 s. Launcher convention: bunx for npm, uvx for Python, dart for Dart SDK, and the exact managed wrapper for Chrome DevTools.

ServerTypeVersionPurpose
serenalocal (uvx)1.5.3Semantic code navigation, analysis, editing
sequential-thinkinglocal (bunx)2026.7.4Structured reasoning
chrome-devtoolslocal (managed CloakBrowser wrapper)1.5.0Chrome DevTools diagnostics
shadcnlocal (bunx)4.13.0shadcn/ui registry access
dart-flutterlocal (dart)-Dart/Flutter project support
context7remote-Current library documentation
deepwikiremote-Repository documentation
grepremote-Search across public GitHub repos
figmaremote-Figma design context
githubremotetoolsets: context,repos,issues,pull_requests,usersRemote GitHub MCP endpoint (requires PAT)
openai-docsremote-Official OpenAI/Codex documentation

TypeScript Plugins

10 Bun-runtime plugins loaded from .opencode/plugins/*.ts:

  • Lifecycle: ry-bootstrap (session banner + compaction context + autocontinue), ry-env-protection (block sensitive reads with toast), ry-shell-strategy (shell env + git push guardrails), ry-sync-reminder (idle toast), ry-flow-hooks (commit advice + post-commit nudge).
  • LLM-side: ry-tools (5 custom diagnostic tools the LLM can call), ry-command-audit (credential-sanitized slash-command audit log), ry-tool-hints (routing nudges injected into MCP tool descriptions).
  • Runtime context + permission events: ry-system-context (date + branch + HEAD SHA + dirty state injected into every system prompt), ry-permission-events (observability-only permission.asked / permission.replied event audit).

LSP Servers

8 custom LSP servers on top of OpenCode's 35+ built-ins: ruff, vscode-html, vscode-css, vscode-json, docker, taplo, marksman, qmlls.

Models

The marketplace ships with moonshotai/kimi-k2.7-code as the top-level default. Subagents inherit the top-level model.

SlotDefault in this repoCommon Anthropic alternative
model (primary)moonshotai/kimi-k2.7-codeanthropic/claude-sonnet-4-6
small_modelmoonshotai/kimi-k2.7-codeanthropic/claude-haiku-4-5-20251001
default_agentbuildbuild
Reviewer / memory-sync / explore subagentsinherit top-level modelinherit top-level model

Run opencode models <provider> to list every accepted ID. To switch provider, edit "model" in opencode.json and confirm with opencode debug config.

Browser / Design / DevTools Routing

Two browser execution providers are active. Every browser action first runs exact $HOME/.local/bin/cloakbrowser-cdp-health; missing or nonzero health stops with NOT_PROVEN and no fallback:

  • Managed Playwright CLI ($HOME/.local/bin/playwright-cli) - UI and flow evidence. run-code, --filename, raw Playwright, package runners, and alternate executables/configs are forbidden.
  • Managed Chrome DevTools MCP (chrome-devtools, version 1.5.0) - console, network, runtime, layout, performance, Lighthouse, and memory diagnosis through the exact CloakBrowser wrapper in opencode.json.

webwright-task remains as a compatibility skill name for long-horizon intent, but routes to these providers and never executes the Webwright Python runtime. Stock/raw/in-app Browser, browser_agent, node_repl, computer-use, Playwright MCP, alternate CDP endpoints, direct packages, and all fallbacks are forbidden.

The /ry-design command routes through Figma MCP (design context and asset download), shadcn/ui MCP (registry access), and Chrome DevTools MCP (validation). DeepWiki, Context7, and Grep MCP support research and documentation retrieval during design and exploration tasks.

Repository Context / Serena Memory

Normal main history carries product artifacts and durable agent context: opencode.json, .opencode/, AGENTS.md, .serena/project.yml, .serena/memories/*.md, scripts, tests, CI workflows, docs, and reference files.

Serena memories live under .serena/memories/ using the AREA-NN-SLUG.md taxonomy. The freshness contract: memories are updated only from verified current code, git diffs, and tests - never from speculation, plans, or chat history. Runtime-local cache, reviews, diagnostics, markers, local env files, browser artifacts, tokens, cookies, and credentials stay ignored.

Security Boundary

Owner full-auto posture is intentional and explicitly acknowledged. The primary build and plan agents use OpenCode's canonical v1.17.18 permission keys with "allow" for read, edit, bash, task, external_directory, and doom_loop. This is not a sandbox - it is a trusted owner workstation posture designed for maximum autonomy.

The oc launcher (from scripts/install_yolo_launchers.sh --apply) injects an allow-all OPENCODE_CONFIG_CONTENT environment override and sets OPENCODE_DISABLE_CLAUDE_CODE=1, mirroring the same no-prompt posture at the OS launcher level.

Reviewer subagents are explicitly stricter: edit: "deny", bash allowlists limited to read-only git verbs. Their role contract is report-only review, not implementation.

The ry-env-protection plugin blocks reads of .env, private key files, tokens, and credentials with a toast notification before the LLM sees them. The opencode.release-safe.json overlay provides a conservative alternative profile for public OSS examples and cautious installs.

MCP secrets (GITHUB_PERSONAL_ACCESS_TOKEN, CONTEXT7_API_KEY, etc.) are passed as environment variables and are never committed. Use .env.example as a reference; never populate .env with real values in version control. Security vulnerabilities should be reported via GitHub Security Advisories - do not file public issues.

Validation

bash scripts/validate_config.sh                            # JSON shape + skill/agent/command frontmatter + VERSION semver
uvx --from "pytest==9.1.1" --with "pyyaml==6.0.3" --with "jsonschema==4.26.0" --with "referencing==0.37.0" pytest scripts/tests/
bash scripts/check_deps_freshness.sh --check-freshness     # list pinned MCP dependencies + npm/PyPI freshness
python3 scripts/check_action_pins.py .github/workflows --remote  # verify SHA-pinned GitHub Actions comments
python3 scripts/check_plugin_hooks.py                      # verify plugin hook contract; forbids permission.ask as enforcement
python3 scripts/validate_contract.py                       # verify canonical rldyour adapter contract
python3 scripts/smoke_mcp_capabilities.py                  # probe every MCP server for reachability
python3 scripts/validate_instruction_docs.py               # verify AGENTS.md + .claude/CLAUDE.md anchor headings
bash scripts/doctor_opencode.sh                            # full diagnostics: MCP, LSP binaries, agent/skill/command discovery, git
bash scripts/check_lsps.sh                                 # 16 language servers + project prereqs
bash scripts/collect_diagnostics.sh --include-doctor       # local timestamped diagnostic bundle for triage
opencode debug config                                      # native resolved config (authoritative)
opencode debug agent <name>                                # validate individual agent
opencode models anthropic                                  # list available models for the active provider

CI mirrors core checks via .github/workflows/validate.yml on every push/PR to main. .github/workflows/dependency-check.yml runs weekly to surface MCP pin freshness. Public repositories use standard GitHub-hosted runners; keep share: "manual" unchanged (it controls OpenCode session sharing, not CI execution). See docs/observability.md for the full triage flow.

Commands marked NOT_PROVEN (e.g., live MCP probes) require network access and installed binaries; skip them in offline or CI-only environments.

Release / Rollback

Releases are tag-driven. Every product version must have a matching numeric GitHub Release at github.com/rldyourmnd/rldyour-opencode/releases. A VERSION file update alone is not sufficient.

Version movement follows the control-plane policy: default is patch (+0.0.1) after a public release exists; minor and major bumps are owner-directed decisions only. CHANGELOG.md follows Keep a Changelog 1.1.0. SECURITY.md lists the exact supported version tag.

Rollback: to revert to a prior release, check out the numeric tag (git checkout X.Y.Z), re-copy opencode.json and .opencode/ into your project, and re-run opencode debug config. See docs/rollback-restore.md for the full rollback and restore procedure. Dependency update policy is in docs/dependency-updates.md.

Support / License

This is a personal marketplace - response time is best-effort, no SLA. Feel free to fork and tailor to your own workflow.

↑↓ navigate openesc close