Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Support OpenCode v2 diff and plan review integration

Cerrado
#369 6 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Área
cli, tooling

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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

Lenguaje dominante
Go
Estrellas
922
Forks
95
Merge medio
11 h 53 min
PR fusionados (30 d)
24

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de umputun/revdiff

Todos los issues de umputun/revdiff

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.