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
| Clave | Tipo | Requerido | Efecto |
|---|---|---|---|
profile | string: core o custom | No | Elige el conjunto de workflows que openspec init instala |
delivery | string: both, skills o commands | No | Si init instala skills, slash commands o ambos |
workflows | lista de strings | No | La lista de workflows que instala un perfil custom |
featureFlags | mapa: flag → boolean | No | Alternadores booleanos de funcionalidades |
defaultStore | string | No | Almacén de reserva a nivel de máquina para la resolución de la raíz |
openers | mapa: id de herramienta → configuración | No | Las herramientas en las que se abren los worksets, y cómo se lanza cada una |
telemetry | mapa | No | Opció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.
| Campo | Contrato |
|---|---|
style | workspace-file o attach-dirs. Requerido para una herramienta nueva; opcional para una integrada. |
label | String no vacío que se muestra en el selector de herramientas. Por defecto, el id para una herramienta nueva. |
command | Nombre 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. |
args | Array de strings que se pasa antes del archivo de espacio de trabajo o las banderas de adjuntar. Por defecto [] para una herramienta nueva. |
attach_flag | String 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:
{
"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:
{
"profile": "core",
"delivery": "both",
"featureFlags": {},
"telemetry": {
"anonymousId": "5f8a2c1e-4b6d-4f9a-9c3d-7e1b2a8d4c6f",
"noticeSeen": true
}
}