Ir al contenido

config.yaml y schemas personalizados

Nivel
Avanzado
OpenSpec
1.14.0
Revisado

openspec/config.yaml adapta los artefactos que genera el agente a tu proyecto: qué flujo usar, qué contexto debe conocer y qué reglas cumple cada artefacto. Si el flujo estándar no encaja, puedes definir tu propio schema.

openspec/config.yaml
schema: spec-driven
context: |
Aplicación de gestión de reservas de salas.
Las fechas se guardan en UTC y se muestran en la zona horaria de la sala.
Los códigos de error de negocio usan MAYÚSCULAS_CON_GUIONES (RESERVA_DUPLICADA).
rules:
proposal:
- Indica qué equipos o integraciones se ven afectados.
specs:
- Cada requisito incluye al menos un escenario de error con su código.
tasks:
- Cada tarea de implementación tiene su tarea de test.
operations:
apply:
guidance: |
Ejecuta los tests del módulo afectado tras cada tarea.
archive:
guidance: |
Comprueba que openspec validate --all --strict pasa antes de archivar.
  • schema: el flujo de artefactos que se usa por defecto (spec-driven es el estándar).
  • context: se aplica a todos los artefactos. Incluye solo restricciones que el agente no puede deducir leyendo el código; repetir lo obvio solo gasta contexto.
  • rules.<artefacto>: reglas específicas de un artefacto (proposal, specs, design, tasks).
  • operations: orientación para la ejecución de apply y archive.
Va en CLAUDE.md Va en config.yaml
Convenciones generales del repositorio (comandos, estilo, git) Contexto de dominio que deben reflejar los artefactos
Instrucciones para cualquier tarea del agente Reglas por artefacto (rules)
Herramientas y entorno de desarrollo Orientación para apply y archive (operations)

openspec init --language no sobrescribe un config.yaml existente: si ya lo tienes, ajusta el idioma a mano.

Un schema define qué artefactos tiene un change y en qué orden se generan. Puedes partir del estándar o crear uno desde cero.

PowerShell
# Copiar el schema estándar al proyecto para modificarlo
openspec schema fork spec-driven mi-flujo
# O crear uno nuevo desde cero
openspec schema init rapido --artifacts proposal,tasks
# Validar estructura y plantillas
openspec schema validate mi-flujo
# Ver de dónde se resuelve el schema
openspec schema which
# Crear un change con un schema concreto
openspec new change mi-cambio --schema mi-flujo
# Listar schemas y plantillas disponibles
openspec schemas
openspec templates

Para que un schema sea el predeterminado del proyecto, indícalo en la clave schema de config.yaml.

Claude Code