Hace algunas semanas escribí sobre Spec-Driven Development y como es que ayudaba a generar mejor código.
Pues bien, tan solo unos días después de publicar el post anterior, me enteré de que existía una herramienta que ayuda a generar specs de forma más rápida, sencilla y que, a su vez, profundiza en tu código antes de implementar nuevas funcionalidades para no dejar nada fuera.
Esta herramienta se llama OpenSpec, la instalas en tu proyecto y agrega algunos skills y comandos para desarrollar con SDD.
Primero lo instalas en tu equipo globalmente con: npm install -g @fission-ai/openspec@latest
Luego, en el directorio de tu proyecto ejecutas: openspec init
Las instrucciones completas y toda la documentación las puedes encontrar desde el repositorio del proyecto en Gihub https://github.com/Fission-AI/openspec
El flujo para trabajar con OpenSpec es el siguiente:
Después de instalar OpenSpec en tu proyecto inicias tu agente favorito, Claude, Codex, Grok o lo que uses, el agente automáticamente detecta los nuevos skills y comandos.
Primero se entra en modo “exploración”, en esta primera fase, usando el comando “/opsx-explore” le dices a tu agente que es lo que quieres implementar, un nuevo feature, resolver un bug, etc. Debes escribir un prompt o un spec explicando lo más detallado posible que es lo que quieres implementar.
El agente entonces explora tu código, detecta que archivos debe tocar, cuales no, estima un posible alcance, y lo mágico de esto es que si el agente tiene dudas o hay algo que no quedó bien definido en tu prompt o spec, tu agente te lo va a preguntar, si dejaste algo fuera o no estabas enterado de algo, tu agente te lo hará saber y te hará preguntas o te hará tomar decisiones para dejar bien cerrado y definido el alcance de lo que se va a implementar.
Una vez finalizada la fase de exploración puedes iniciar la segunda faace, la fase de propuesta, el comando es “/opsx-propose”, en esta fase es cuando tu agente genera los specs en base a lo que se definió en la fase de exploración, deja bien definido el alcance, que queda dentro, que queda fuera y no solo eso, genera tareas listas para implementar. Es importante que revises los archivos de la propuesta o specs antes de implementar, por si quieres modificar algo. Todo lo que el agente implementó en esta fase es justo lo que anteriormente se hacía a “mano” en el SDD, ahora ya no tienes que escribir los specs completos, solo revisarlos y corregirlos cuando sea necesario.
La siguiente fase es la implementación, una vez revisados los specs, ejecutas el comando “/opsx-apply” y tu agente se pondrá a trabajar, a generar el código, realizar tests, autocorregirse hasta completar las tareas y el alcance definido previamente.
Una vez finalizada la implementación, y una vez que hayas validado manualmente, entonces puedes archivar el “change” (que es como OpenSpec llama a cada implementación), “/opsx-archive” y listo, has finalizado de implementar un nuevo feature o corregir un bug usando SDD. No olvides hacer commit de tus cambios.
Recuerda SDD genera mejores resultados y es una práctica que se está utilizando mucho al desarrollar con IA.