@boyingliu01/opencode-plugin
v0.18.5
Published
XP-Gate quality gates + AI workflow skills + Sprint Flow TUI sidebar for OpenCode
Maintainers
Readme
XP-Gate OpenCode Plugin
OpenCode plugin exposing xp-gate quality gates and AI workflow skills.
Tools
gate-check ⇄
xp-gate check <path>: Run user-invokable quality gates (Gate 4 Principles + Gate 6 Architecture) on a file or directory.gate-principles ⇄
xp-gate principles <path>: Run Clean Code + SOLID principles checker (Gate 4 standalone).gate-arch ⇄
xp-gate arch: Run architecture validation (Gate 6 standalone, layer boundary checks).session-reload-model: Reload session model from config. After switching provider configs (opencode.json + oh-my-openagent.json via switch-coding-plan.sh), updates the session model in OpenCode DB to match the new config, so restarted sessions use the current provider/model.
Usage:
// Reload current session model from config session-reload-model() // Reload a specific session session-reload-model({ sessionId: "ses_xxx" })session-rename: Rename an OpenCode session. When called without a
newTitle, analyzes the session's recent user messages and auto-generates a descriptive title. Works by directly updating the OpenCode SQLite database (~/.local/share/opencode/opencode.db).Usage:
// Rename current session with auto-generated title session-rename() // Rename a specific session with a custom title session-rename({ sessionId: "ses_xxx", newTitle: "Fix auth middleware bug" })
Earlier docs said "all 6 quality gates" — that was inaccurate.
gate-checkintentionally runs only the two user-invokable gates (Principles + Arch); the full 10-gate pre-commit suite (Gate 0-9) is enforced byxp-gate init's git hooks, not by this tool. Fixes #208.
Installation
In your opencode.json:
{
"plugin": ["@boyingliu01/opencode-plugin"]
}Or via local path (development):
{
"plugin": ["./plugins/opencode"]
}Requirements
- OpenCode v0.11+
- One of:
xp-gateCLI installed globally (npm install -g @boyingliu01/xp-gate) — preferred, or- the xp-gate repo checked out locally with
src/principles/index.tsreachable — fallback (the tool will shell out vianpx -y tsx)
architecture.yamlin repo root (forgate-archonly)
Graceful Degradation
Every tool runs a chained shell-out: it first tries xp-gate <subcommand> and,
only if that's not on PATH, falls back to invoking the underlying checker
source directly. If both paths fail, the tool returns install instructions
instead of throwing.
