Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Support OpenCode v2 diff and plan review integration

Aperta
#369 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Ambito
cli, tooling

Direzione di ricerca

Start in plugins/opencode/ and read the linked OpenCode v2 migration, plugin, and CLI plugin documentation alongside the existing revdiff tool, /revdiff command, and plan-review plugin. Trace the installer and existing tests, then define the v2 entrypoints, server/client routing, lifecycle cleanup, and version selection while preserving the v1 integration and stated exit-code behavior.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

I'd like revdiff's OpenCode integration to support OpenCode v2. The current integration under plugins/opencode/ uses the v1 plugin and custom-tool APIs, which need to be ported for v2.

References:

Migration considerations

The integration currently includes a revdiff tool, a /revdiff command, and an automatic plan-review plugin.

The plan-review plugin exports an async function returning an event hook. On session.idle, it reads the last assistant message, checks whether it was produced in plan mode, launches revdiff, and sends annotations back to the session. V2 requires a new plugin entrypoint and explicit subscriptions, and the message-reading, plan-detection, and prompt-submission logic needs to be checked against the new server API and lifecycle contracts.

The custom tool also uses the v1 tool() helper. V2 documents tool registration through ctx.tool.transform, with JSON Schema inputs and structured results. Existing Markdown command definitions remain supported, so the /revdiff command may need little change once its underlying tool is available.

There is also a routing consideration beyond the API changes: v2 uses a shared background server by default, including for tool execution. The existing launchers rely on terminal-specific environment variables to open the overlay in the correct pane. The server's environment may not identify the client that requested the review.

A CLI plugin may be a better fit for launching the interactive review in the user's terminal. Preserving the agent-callable tool would also require defining how a server-side request reaches the appropriate CLI client and returns annotations to the originating session.

Expected behavior

  • Support manual diff review through /revdiff and the agent-callable revdiff tool, preserving the existing ref, staged, and only options.
  • Automatically review completed plans and return annotations to the originating session for revision in plan mode.
  • Open reviews in the correct terminal pane and project directory when multiple OpenCode clients share a server.
  • Avoid duplicate reviews and unintended launches for unrelated sessions or subagents.
  • Preserve exit-code handling: 0 for a clean exit, 10 for success with annotations, and other nonzero statuses as failures.
  • Handle cancellation and plugin cleanup without leaving review processes or temporary files behind.
  • Update installation instructions and tests for the supported v2 integration.
  • Installer checks OpenCode version and installs appropriate plugin + tool + command.
  • Existing v1 integration remains intact

Contribution

I'd be happy to try implementing this and submit a PR. Before starting, I'd appreciate feedback on the preferred approach

Lingua principale
Go
Stelle
896
Fork
92
Merge medio
17h 49m
PR unite (30g)
17

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di umputun/revdiff

Tutte le issue di umputun/revdiff

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.