Skip to content

Configuración CLI (config.json) ​

Cada campo del config.json: cómo se comporta la CLI de openspec en su equipo.

Ubicación ​

La CLI guarda su configuración a nivel de máquina en ~/.config/openspec/config.json en macOS y Linux, y en %APPDATA%\openspec\config.json en Windows. Si está definida, $XDG_CONFIG_HOME prevalece en cualquier plataforma. El comando openspec config la lee y edita.

Campos ​

ClaveTipoRequeridoEfecto
profilestring: core o customNoElige el conjunto de workflows que openspec init instala
deliverystring: both, skills o commandsNoSi init instala skills, slash commands o ambos
workflowslista de stringsNoLa lista de workflows que instala un perfil custom
featureFlagsmapa: flag → booleanNoAlternadores booleanos de funcionalidades
defaultStorestringNoAlmacén de reserva a nivel de máquina para la resolución de la raíz
openersmapa: id de herramienta → configuraciónNoLas herramientas en las que se abren los worksets, y cómo se lanza cada una
telemetrymapaNoOpción de exclusión de telemetría, id anónimo y estado de aviso visto

profile ​

Qué conjunto de workflows instala openspec init. Por defecto core: propose, explore, apply, update, sync y archive. Al establecer custom se instala exactamente la lista de workflows en su lugar.

delivery ​

Si init instala los workflows como skills, como slash commands, o ambos. Por defecto both.

workflows ​

Los workflows que instala un perfil custom; ignorado cuando el perfil es core. Identificadores válidos: propose, explore, new, continue, apply, update, ff, sync, archive, bulk-archive, verify, onboard.

featureFlags ​

Alternadores booleanos identificados por el nombre de la bandera, se configuran con openspec config set featureFlags.<bandera> true. Actualmente la CLI no lee ninguna bandera.

defaultStore ​

El identificador del almacén de reserva a nivel de máquina para la resolución de la raíz, consultado únicamente cuando no se resuelve ninguna opción con la bandera --store, el directorio local openspec/ o el puntero de proyecto store:. La escalera completa está en Resolución de la raíz.

openers ​

Las herramientas en las que se puede abrir un workset, identificadas por el id de la herramienta. Edite openers en el config.json global con openspec config edit en su terminal.

CampoContrato
styleworkspace-file o attach-dirs. Requerido para una herramienta nueva; opcional para una integrada.
labelString no vacío que se muestra en el selector de herramientas. Por defecto, el id para una herramienta nueva.
commandNombre o ruta del ejecutable, no vacío. Por defecto, el id para una herramienta nueva. Los argumentos deben ir en args, no en esta cadena.
argsArray de strings que se pasa antes del archivo de espacio de trabajo o las banderas de adjuntar. Por defecto [] para una herramienta nueva.
attach_flagString no vacío emparejada con cada ruta de miembro para attach-dirs. Por defecto --add-dir para una herramienta nueva. Se ignora para workspace-file.

Sobreescritura de herramientas integradas: code, cursor, claude y codex conservan cualquier campo que omita. Al establecer args se reemplaza la lista completa de argumentos; [] la limpia.

Estilos de lanzamiento: workspace-file pasa la ruta del archivo .code-workspace generado al ejecutable. attach-dirs pasa un par bandera/ruta por cada miembro, incluido el miembro principal.

Disponibilidad: Los abridores attach-dirs, incluidos Claude Code y Codex, están deshabilitados por defecto. No se pueden seleccionar ni guardar con --tool, y OpenSpec rechaza abrir un workset que ya nombre uno. Las sobreescrituras de configuración no habilitan el estilo de lanzamiento attach-dirs.

Validación: los campos desconocidos, tipos inválidos y una herramienta nueva sin style fallan cuando un comando de workset lee la tabla de abridores.

Este ejemplo agrega VS Code Insiders y pasa --new-window cada vez que se lanza el abridor integrado de VS Code:

json
{
  "openers": {
    "code-insiders": {
      "style": "workspace-file",
      "label": "VS Code Insiders"
    },
    "code": {
      "args": ["--new-window"]
    }
  }
}

El ejecutable correspondiente, code-insiders o code, debe estar instalado y disponible en PATH.

telemetry ​

La CLI almacena su id anónimo y si se mostró el aviso de primera ejecución. Establezca telemetry.enabled en false para deshabilitar la telemetría. También puede optar por no participar con OPENSPEC_TELEMETRY=0 o DO_NOT_TRACK=1 en su entorno.

Ejemplo ​

Un config.json completo:

json
{
  "profile": "core",
  "delivery": "both",
  "featureFlags": {},
  "telemetry": {
    "anonymousId": "5f8a2c1e-4b6d-4f9a-9c3d-7e1b2a8d4c6f",
    "noticeSeen": true
  }
}