Communitygithub.com

specful

Herramienta CLI en Rust para registrar especificaciones, decisiones de diseño y registros de decisión (ADR) portables y preparados para agentes de IA, basada en el Open Knowledge Format.

¿Qué es specful?

Specful es una herramienta CLI escrita en Rust que permite a desarrolladores y agentes de IA crear y gestionar Registros de Decisión de Arquitectura (ADR) de manera estructurada y portable. Su principal ventaja es que separa claramente las decisiones (ADR) de los requisitos y diseños, evitando mezclar niveles de abstracción. Specful está diseñado para ser utilizado tanto por humanos como por agentes de IA, proporcionando un flujo de trabajo reproducible: scaffold de un nuevo ADR con `specful new adr`, completar la plantilla con la decisión en presente, alternativas creíbles y consecuencias, y luego validar el registro con `specful validate`. El CLI mantiene automáticamente un contador de identificadores, generando índices y vistas que se comprometen junto con el cambio. La herramienta es especialmente útil para equipos de software que desean documentar decisiones de forma rigurosa y para agentes de IA que necesitan leer o escribir ADRs de manera fiable, apoyándose en el perfil completo de ADR disponible en la documentación oficial.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add unkos-dev/specful

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Registro de un ADR con Specful

Un ADR registra por qué se tomó una decisión duradera: las fuerzas, las alternativas creíbles y las consecuencias. No es un Requisito (lo que el software debe hacer) ni un Diseño (cómo funciona el sistema); si el cambio es sobre qué o cómo, cargue specful-requirement o specful-design en su lugar. Manténgalo a nivel de decisión: sin secuencias de tareas, inventarios de archivos ni notas de progreso.

Flujo de trabajo

  1. Lea docs/adr/ y su índice para conocer la numeración, los estados y las decisiones ya registradas; un nuevo ADR que contradiga una aceptada la reemplaza en lugar de discrepar en silencio.
  2. Genere el esqueleto con specful new adr --title <TITLE>. Nunca asigne manualmente un identificador; el comando posee el contador.
  3. Complete los marcadores de posición. Exprese la decisión en tiempo presente; represente las alternativas creíbles de manera honesta en lugar de como hombres de paja para una respuesta preferida; registre las consecuencias negativas con el mismo cuidado que las positivas. Un ADR sin alternativa creíble o sin desventaja es publicidad, no un registro de decisión.
  4. El ciclo de vida pertenece al mantenedor: un nuevo registro comienza como propuesto, y solo el mantenedor lo acepta, rechaza o reemplaza.
  5. Ejecute specful index, luego specful validate; comprometa las vistas regeneradas junto con el cambio. Use specful-review cuando el repositorio adoptante requiera una revisión sustancial o el usuario lo solicite.

Para el perfil completo de ADR y guía campo por campo, consulte https://unkos-dev.github.io/specful/.

Skills relacionados