Ward

¿Cómo uso Ward con OpenCode?

Actualizado

Ejecuta ward integrate opencode en tu proyecto. Ward instala un plugin de OpenCode que lanza una comprobación de calidad tras cada edición y le muestra el fallo al agente.

¿Qué instala la integración?

Ward conserva el comando .opencode/commands/ward-check.md y crea el plugin .opencode/plugins/ward-edit-write.js. El plugin usa la API de plugins V2 de OpenCode. Mantén ward en tu PATH.

Hook Cuándo Qué hace Ward
execute.after Tras una llamada edit, write, multiedit, apply_patch o patch Ejecuta una comprobación parcial y valida las specs editadas
session.idle Cuando el agente termina su turno Ejecuta todas las comprobaciones de specs configuradas

¿Qué ve el agente cuando falla una comprobación?

Ward añade su salida al resultado de la herramienta que lee el agente, así que lo ve de inmediato. La llamada a la herramienta se completa igualmente: OpenCode V2 no deja que un hook posterior la haga fallar. Los archivos cambiados con comandos de shell no se revisan hasta que actúan los hooks de Git o la CI.

¿Cómo la instalo y la quito?

ward integrate opencode
ward integrate opencode --remove

Los plugins de Ward 0.0.7 y anteriores no cargan en OpenCode V2. Actualiza OpenCode, ejecuta de nuevo ward integrate opencode y recarga el proyecto.

¿Puedo proteger las specs aprobadas?

Sí: ward integrate opencode --guard-approved-specs añade un plugin aparte que rechaza cambios en openspec/specs/** y openspec/changes/archive/**. Es un filtro de mejor esfuerzo para comandos de shell, no una barrera de seguridad. Ward está en alfa, así que la CLI y la configuración pueden cambiar antes de la 1.0.

¿Qué hago ahora?

¿Listo para probarlo? Instala Ward y ejecuta ward init en tu proyecto.