diff --git a/commands/gsd/review.md b/commands/gsd/review.md index 84d8171f6..eaad1ac36 100644 --- a/commands/gsd/review.md +++ b/commands/gsd/review.md @@ -1,7 +1,7 @@ --- name: gsd:review description: Request cross-AI peer review of phase plans from external AI CLIs -argument-hint: "--phase N [--gemini] [--claude] [--codex] [--all]" +argument-hint: "--phase N [--gemini] [--claude] [--codex] [--opencode] [--all]" allowed-tools: - Read - Write @@ -11,7 +11,7 @@ allowed-tools: --- -Invoke external AI CLIs (Gemini, Claude, Codex) to independently review phase plans. +Invoke external AI CLIs (Gemini, Claude, Codex, OpenCode) to independently review phase plans. Produces a structured REVIEWS.md with per-reviewer feedback that can be fed back into planning via /gsd:plan-phase --reviews. @@ -29,6 +29,7 @@ Phase number: extracted from $ARGUMENTS (required) - `--gemini` — Include Gemini CLI review - `--claude` — Include Claude CLI review (uses separate session) - `--codex` — Include Codex CLI review +- `--opencode` — Include OpenCode review (uses model from user's OpenCode config) - `--all` — Include all available CLIs diff --git a/get-shit-done/workflows/review.md b/get-shit-done/workflows/review.md index 8b8a85be3..598ea6091 100644 --- a/get-shit-done/workflows/review.md +++ b/get-shit-done/workflows/review.md @@ -19,6 +19,7 @@ command -v gemini >/dev/null 2>&1 && echo "gemini:available" || echo "gemini:mis command -v claude >/dev/null 2>&1 && echo "claude:available" || echo "claude:missing" command -v codex >/dev/null 2>&1 && echo "codex:available" || echo "codex:missing" command -v coderabbit >/dev/null 2>&1 && echo "coderabbit:available" || echo "coderabbit:missing" +command -v opencode >/dev/null 2>&1 && echo "opencode:available" || echo "opencode:missing" ``` Parse flags from `$ARGUMENTS`: @@ -26,6 +27,7 @@ Parse flags from `$ARGUMENTS`: - `--claude` → include Claude - `--codex` → include Codex - `--coderabbit` → include CodeRabbit +- `--opencode` → include OpenCode - `--all` → include all available - No flags → include all available @@ -35,6 +37,7 @@ No external AI CLIs found. Install at least one: - gemini: https://github.com/google-gemini/gemini-cli - codex: https://github.com/openai/codex - claude: https://github.com/anthropics/claude-code +- opencode: https://opencode.ai (leverages GitHub Copilot subscription models) Then run /gsd:review again. ``` @@ -141,6 +144,14 @@ Note: CodeRabbit reviews the current git diff/working tree — it does not accep coderabbit review --prompt-only 2>/dev/null > /tmp/gsd-review-coderabbit-{phase}.md ``` +**OpenCode (via GitHub Copilot):** +```bash +cat /tmp/gsd-review-prompt-{phase}.md | opencode run - 2>/dev/null > /tmp/gsd-review-opencode-{phase}.md +if [ ! -s /tmp/gsd-review-opencode-{phase}.md ]; then + echo "OpenCode review failed or returned empty output." > /tmp/gsd-review-opencode-{phase}.md +fi +``` + If a CLI fails, log the error and continue with remaining CLIs. Display progress: @@ -160,7 +171,7 @@ Combine all review responses into `{phase_dir}/{padded_phase}-REVIEWS.md`: ```markdown --- phase: {N} -reviewers: [gemini, claude, codex, coderabbit] +reviewers: [gemini, claude, codex, coderabbit, opencode] reviewed_at: {ISO timestamp} plans_reviewed: [{list of PLAN.md files}] --- @@ -191,6 +202,12 @@ plans_reviewed: [{list of PLAN.md files}] --- +## OpenCode Review + +{opencode review content} + +--- + ## Consensus Summary {synthesize common concerns across all reviewers}