Skip to main content

Command Palette

Search for a command to run...

Equipos y empresas

Patrones de implementación

Esta guía explica cómo implementar el editor de Cherri Code y las herramientas de CLI en los equipos de desarrollo de su organización. La mayoría de las organizaciones implementan tanto el editor (para el trabajo diario de desarrollo) como la CLI (para automatización, CI/CD y scripting).

Para conocer otras opciones de implementación, como las integraciones con SCM (aplicaciones de Bugbot y BGA) o el acceso web, consulte la documentación de integración correspondiente.

Para implementar la aplicación de escritorio del Bot de Grok, consulte Implementar el Bot de Grok en su organización.

Implementación del Editor con MDM

Implemente el Editor y el agente de Cherri Code en las estaciones de trabajo de los usuarios y aplique políticas mediante sistemas de gestión de dispositivos móviles (MDM).

Cómo funciona

  1. El equipo de TI empaqueta la aplicación Cherri Code para implementarla
  2. La distribuye en los equipos de los usuarios mediante MDM (Jamf, Intune, etc.)
  3. Los usuarios reciben Cherri Code en sus equipos principales de desarrollo

MDM permite aplicar directivas para Cherri Code, como los ID de equipo permitidos y las extensiones.

También puede aplicar ajustes como Workspace Trust y controlar las actualizaciones automáticas y la implementación de nuevas versiones.

Configuración de MDM

Puede gestionar de forma centralizada funciones específicas de Cherri Code mediante soluciones de gestión de dispositivos para garantizar que se adapte a las necesidades de su organización. Cuando especifica una directiva de Cherri Code, su valor anula la configuración correspondiente de Cherri Code en los dispositivos de los usuarios.

Cherri Code es compatible con directivas en Windows (Directiva de grupo), macOS (perfiles de configuración) y Linux (archivos de directivas JSON, versión 2.0+).

Actualmente, Cherri Code ofrece directivas para controlar las siguientes funciones administradas:

DirectivaDescripciónConfiguración de Cherri Code
AllowedExtensionsControla qué extensiones se pueden instalar.extensions.allowed
AllowedTeamIdControla qué ID de equipo pueden iniciar sesión. Los usuarios con ID de equipo no autorizados se desconectan forzosamente.cursorAuth.allowedTeamId
ExtensionGalleryServiceUrlConfigura una URL personalizada para la tienda de extensiones.extensions.gallery.serviceUrl
NetworkDisableHttp2Desactiva HTTP/2 para todas las solicitudes y usa HTTP/1.1 en su lugar.cursor.general.disableHttp2
UpdateModeControla el comportamiento de las actualizaciones automáticas. Establézcalo en «none» para desactivar las actualizaciones.update.mode
WorkspaceTrustEnabledControla si Workspace Trust está activado.security.workspace.trust.enabled

Gestión de listas de permitidos del Modo de ejecución con MDM

También puede implementar el archivo de permisos de Cherri Code mediante MDM para gestionar qué comandos de terminal y herramientas MCP se ejecutan sin solicitar confirmación y orientar el clasificador del modo Auto-review.

La ruta del archivo es ~/.cursor/permissions.json. Los usuarios pueden añadir un archivo por repositorio en <workspace>/.cursor/permissions.json; las entradas de ambos archivos se concatenan.

El formato del archivo es:

ClaveTipoObligatorioSignificado
terminalAllowliststring[]NoComandos de terminal que pueden ejecutarse sin aprobación. Con el entorno aislado activado, los comandos de terminal compatibles que no estén en la lista de permitidos pueden ejecutarse en el entorno aislado. Cada entrada se compara con la cadena de comando completa.
mcpAllowliststring[]NoHerramientas MCP que pueden ejecutarse sin aprobación. Las herramientas MCP no se ejecutan dentro del entorno aislado local. Cada entrada usa la sintaxis server:tool.
autoRunobjectNoOrienta el clasificador del modo Auto-review mediante las matrices en lenguaje natural allow_instructions y block_instructions. Se aplica a llamadas de shell, MCP y Fetch en Cherri Code 3.6 y versiones posteriores. Consulte la referencia de permissions.json.

Las entradas de mcpAllowlist admiten estas formas:

EntradaSignificado
server:toolUna herramienta específica en un servidor MCP específico
server:*Todas las herramientas de un servidor MCP
*:toolUna herramienta de cualquier servidor MCP
*:*Todas las herramientas MCP

terminalAllowlist, mcpAllowlist y autoRun son opcionales. Si se omite una clave o está vacía (después de concatenar los archivos por usuario y por repositorio), Cherri Code recurre a la lista de permitidos gestionada por el Editor para esa categoría.

Ejemplo:

{  "terminalAllowlist": [    "npm install",    "pnpm test",    "python -m pytest"  ],  "mcpAllowlist": [    "linear:*",    "github:create_pull_request",    "*:search"  ],  "autoRun": {    "block_instructions": [      "Block any command that drops or truncates a database table."    ]  }}

Como se trata de un archivo normal, puedes distribuirlo con Jamf, Kandji, Intune o cualquier otra herramienta de gestión de dispositivos que escriba archivos en el directorio de datos de Cherri Code del usuario.

La precedencia de la lista de permitidos es:

  1. Panel de control del equipo u otros ajustes controlados por administradores
  2. ~/.cursor/permissions.json gestionado, concatenado con <workspace>/.cursor/permissions.json
  3. Ajustes del Editor y Añadir a la lista de permitidos en línea

Los ajustes controlados por administradores reemplazan los valores definidos en archivos para esa categoría. Los archivos por usuario y por repositorio se combinan por concatenación; los ajustes del editor no se combinan con ninguno de ellos.

Cherri Code supervisa ambas rutas de permissions.json, por lo que las actualizaciones se aplican automáticamente sin necesidad de reiniciar.

Directiva de grupo de Windows

Cherri Code admite directivas de grupo basadas en el Registro de Windows. Cuando se instalan las definiciones de directiva, los administradores pueden usar el Editor de directivas de grupo local para gestionar los valores de las directivas.

Para añadir una directiva:

  1. Copie los archivos ADMX y ADML de la directiva desde AppData\Local\Programs\cursor\policies.
  2. Pegue el archivo ADMX en el directorio C:\Windows\PolicyDefinitions y el archivo ADML en el directorio C:\Windows\PolicyDefinitions\<your-locale>\.
  3. Reinicie el Editor de directivas de grupo local.
  4. Establezca los valores de directiva correspondientes (p. ej., {"anysphere": true, "github": true} para la directiva AllowedExtensions) en el Editor de directivas de grupo local.

Las directivas se pueden establecer tanto a nivel de equipo como a nivel de usuario. Si se establecen ambas, tendrá prioridad el nivel de equipo.

Importante: Cuando se establece un valor de directiva, anula el valor del ajuste de Cherri Code configurado en cualquier nivel (predeterminado, usuario, espacio de trabajo, etc.). Esta anulación global impide que los usuarios cambien estos ajustes.

Instalador de Windows

El instalador de Windows se basa en Inno Setup. Para instalar Cherri Code completamente en segundo plano sin intervención del usuario, use las siguientes opciones de línea de comandos:

Para instalaciones nuevas:

CursorSetup-x64-2.0.exe /SILENT /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /CLOSEAPPLICATIONS /LOG=install.log

Para actualizar instalaciones existentes:

Al actualizar una instalación existente de Cherri Code, debe usar otros flags que incluyan el parámetro /update y apunten a un archivo de flag. El archivo de flag está vacío e indica al instalador que se trata de una operación de actualización.

Cree un archivo de flag temporal y pase su ruta al instalador:

CursorSetup-x64-2.0.exe /VERYSILENT /update="%TEMP%\cursor-update.flag" /CLOSEAPPLICATIONS /LOG=update.log

Nota: Es posible que los instaladores anteriores a la versión 2.0 no respeten correctamente el modificador /SILENT. Los instaladores futuros (versión 2.0 y posteriores) garantizarán que las instalaciones silenciosas funcionen correctamente.

Perfiles de configuración de macOS

Los perfiles de configuración gestionan los ajustes de los dispositivos macOS. Un perfil es un archivo XML con pares clave-valor que corresponden a las directivas disponibles. Estos perfiles pueden implementarse mediante soluciones de gestión de dispositivos móviles (MDM), como Jamf, Kandji o Microsoft Intune, o instalarse manualmente.

ID de bundle por canal:

El PayloadType de tu perfil de configuración debe coincidir con el ID de bundle de Cherri Code correspondiente a tu canal:

CanalID de bundle
Produccióncom.todesktop.230313mzl4w4u92
Nightlyco.anysphere.cursor.nightly

Para la mayoría de las implementaciones empresariales, usa el ID de bundle de producción: com.todesktop.230313mzl4w4u92.

A continuación se muestra un archivo .mobileconfig de ejemplo para macOS:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0">	<dict>		<key>PayloadContent</key>		<array>			<dict>				<key>PayloadDisplayName</key>				<string>Cherri Code</string>				<key>PayloadIdentifier</key>				<string>com.todesktop.230313mzl4w4u92.J6B5723A-6539-4F31-8A4E-3CC96E51F48C</string>				<key>PayloadType</key>				<string>com.todesktop.230313mzl4w4u92</string>				<key>PayloadUUID</key>				<string>J6B5723A-6539-4F31-8A4E-3CC96E51F48C</string>				<key>PayloadVersion</key>				<integer>1</integer>				<key>AllowedExtensions</key>				<string>{"anysphere":true}</string>				<key>AllowedTeamId</key>				<string>1,2</string>				<key>ExtensionGalleryServiceUrl</key>				<string>https://marketplace.example.com</string>				<key>NetworkDisableHttp2</key>				<true/>				<key>UpdateMode</key>				<string>none</string>				<key>WorkspaceTrustEnabled</key>				<true/>			</dict>		</array>		<key>PayloadDescription</key>		<string>This profile manages Cherri Code.</string>		<key>PayloadDisplayName</key>		<string>Cherri Code</string>		<key>PayloadIdentifier</key>		<string>com.todesktop.230313mzl4w4u92</string>		<key>PayloadOrganization</key>		<string>Cherri Code</string>		<key>PayloadType</key>		<string>Configuration</string>		<key>PayloadUUID</key>		<string>F2C1A7B3-9D4E-4B2C-8E1F-7A6C5D4B3E2F</string>		<key>PayloadVersion</key>		<integer>1</integer>		<key>TargetDeviceType</key>		<integer>5</integer>	</dict></plist>

Directivas de cadenas

El siguiente ejemplo muestra cómo configurar la directiva AllowedExtensions. En el archivo de ejemplo, el valor de la directiva está vacío inicialmente (no se permite ninguna extensión).

<key>AllowedExtensions</key><string></string>

Añada entre las etiquetas <string> la cadena JSON adecuada que define su directiva.

<key>AllowedExtensions</key><string>{"anysphere": true, "github": true}</string>

Semántica del control de extensiones:

La directiva AllowedExtensions acepta un objeto JSON en el que:

  • Las claves pueden ser nombres de publicadores (p. ej., "github") o ID completos de extensiones (p. ej., "ms-azuretools.vscode-docker")
  • Los valores son booleanos que indican si se permiten las extensiones de ese publicador o una extensión específica
  • Si un publicador se establece en true, se permiten todas sus extensiones
  • Los ID de extensiones específicos prevalecen sobre las reglas de publicador

Para la directiva AllowedTeamId, añada la lista de ID de equipo separados por comas:

<key>AllowedTeamId</key><string>1,3,7</string>

Para la directiva NetworkDisableHttp2, use un valor booleano para desactivar HTTP/2:

<key>NetworkDisableHttp2</key><true/>
Directivas booleanas

Para las directivas booleanas como WorkspaceTrustEnabled, use las etiquetas <true/> o <false/>:

<key>WorkspaceTrustEnabled</key><false/>

O bien, para activar la función:

<key>WorkspaceTrustEnabled</key><true/>
Directiva UpdateMode

La directiva UpdateMode controla cómo Cherri Code gestiona las actualizaciones automáticas. Es útil para las organizaciones que desean controlar cuándo y cómo se implementan las actualizaciones.

Valores disponibles:

  • none - Desactiva todas las actualizaciones automáticas
  • manual - Los usuarios pueden buscar actualizaciones manualmente
  • start - Busca actualizaciones al iniciar Cherri Code
  • default - Comportamiento predeterminado (igual que start)
  • silentlyApplyOnQuit - Descarga las actualizaciones en segundo plano y las aplica al cerrar Cherri Code

Para desactivar las actualizaciones automáticas:

<key>UpdateMode</key><string>none</string>
Directiva WorkspaceTrustEnabled

La directiva WorkspaceTrustEnabled controla si Workspace Trust está activada. Cuando se activa, Cherri Code pide a los usuarios que elijan entre el modo normal y el restringido para los nuevos espacios de trabajo.

Use un valor booleano:

<key>WorkspaceTrustEnabled</key><true/>
Directiva ExtensionGalleryServiceUrl

La directiva ExtensionGalleryServiceUrl configura la URL de la tienda de extensiones. Resulta útil para las organizaciones que quieran usar una tienda de extensiones personalizada o replicar una existente.

Establece la URL como un valor de cadena:

<key>ExtensionGalleryServiceUrl</key><string>https://marketplace.example.com</string>
Implementación con soluciones MDM

El archivo .mobileconfig se puede cargar directamente en su solución MDM:

  • Jamf: Cárguelo como perfil de configuración personalizado
  • Kandji: Añádalo como perfil personalizado en Library
  • Microsoft Intune: Impleméntelo como perfil personalizado con el dominio de payload correcto

Asegúrese de que PayloadType coincida con el bundle ID del canal de Cherri Code.

Archivo de configuración de referencia

Cherri Code incluye un perfil de configuración de ejemplo completo en:

# Canal de producción/Applications/Cursor.app/Contents/Resources/app/policies/com.todesktop.230313mzl4w4u92.mobileconfig# Canal Nightly/Applications/Cursor Nightly.app/Contents/Resources/app/policies/co.anysphere.cursor.nightly.mobileconfig

La ruta del archivo varía según el canal. Usa la ruta correspondiente a tu instalación de Cherri Code.

Consideraciones importantes de seguridad:

  • El archivo .mobileconfig proporcionado inicializa todas las directivas disponibles en esa versión de Cherri Code
  • Elimina las directivas que no necesites para evitar valores predeterminados restrictivos de forma involuntaria
  • Si no editas ni eliminas una directiva del ejemplo, se aplicará con su valor predeterminado
  • Los valores de las directivas anulan globalmente todos los ajustes de usuario y del espacio de trabajo

Instala manualmente un perfil de configuración haciendo doble clic en el perfil .mobileconfig en Finder y, a continuación, activándolo en Preferencias del Sistema, en General > Gestión de dispositivos. Al eliminar el perfil de Preferencias del Sistema, se eliminarán las directivas de Cherri Code.

Para obtener más información sobre los perfiles de configuración, consulta la documentación de Apple.

Directiva

Las distribuciones de Linux no cuentan con un sistema estandarizado de directivas empresariales como el Registro de Windows o los perfiles de configuración de macOS. Cherri Code lee las directivas de un archivo JSON para ofrecer una funcionalidad equivalente.

Nota: La compatibilidad con directivas está disponible en Cherri Code 2.0 y versiones posteriores.

La directiva se encuentra en ~/.cursor/policy.json.

Crear una directiva

Crea un archivo JSON en la ubicación indicada anteriormente con los nombres de las directivas como claves y sus valores. Todas las directivas son opcionales; incluye solo las que quieras aplicar.

{  "AllowedExtensions": "{\"anysphere\": true, \"github\": true}",  "AllowedTeamId": "1,3,7",  "WorkspaceTrustEnabled": true}

Formato de las directivas

Cada directiva del archivo JSON se asigna a un nombre de directiva:

  • AllowedExtensions: Una cadena JSON que define los editores de extensiones permitidos

    "AllowedExtensions": "{\"anysphere\": true, \"github\": true}"
  • AllowedTeamId: Una cadena de ID de equipo separados por comas

    "AllowedTeamId": "1,3,7"
  • WorkspaceTrustEnabled: Un valor booleano que controla la confianza del espacio de trabajo

    "WorkspaceTrustEnabled": true

Nota: El valor de AllowedExtensions debe ser una cadena JSON (con comillas escapadas), no un objeto JSON. Este formato coincide con el usado en Windows y macOS.

Implementación de directivas

Implemente la directiva mediante las herramientas de gestión de configuración de su organización:

  • Ansible, Puppet o Chef para la implementación automatizada
  • NFS o almacenamiento compartido en red para directivas centralizadas
  • Gestores de paquetes con scripts posteriores a la instalación
  • Imágenes base de contenedor para entornos contenerizados

Los cambios en la directiva entran en vigor al reiniciar Cherri Code. El archivo se supervisa para detectar cambios, por lo que las actualizaciones se propagan automáticamente a las instancias en ejecución.

Si la directiva no existe, Cherri Code se ejecuta sin restricciones de directivas.

Actualizaciones automáticas para usuarios sin permisos de administrador

Debido a limitaciones del framework Electron, las actualizaciones de Cherri Code requieren permisos de administrador en macOS.

Enfoques recomendados:

  • Implementación con MDM: Use herramientas de MDM (Jamf, Kandji, Intune) para implementar actualizaciones de forma centralizada con los permisos adecuados
  • Herramientas de implementación automatizada: Considere herramientas como Installomator para actualizaciones mediante scripts
  • Desactivar los avisos de actualización: Establezca la directiva UpdateMode en none para evitar que los usuarios vean notificaciones de errores al actualizar

Para las organizaciones con usuarios sin permisos de administrador, el enfoque más fiable es gestionar las actualizaciones de Cherri Code mediante su proceso de implementación de software actual y desactivar las actualizaciones automáticas mediante una directiva de MDM.

Implementación mediante CLI

Ejecuta los agentes de programación de Cherri Code como una herramienta de CLI sin interfaz gráfica en tu infraestructura.

Cómo funciona

  1. Implemente la CLI en su entorno (local, nube corporativa, clústeres de Kubernetes, sistemas de CI/CD)
  2. La CLI se puede ejecutar mediante scripts, en segundo plano o como parte de la CI
  3. La CLI puede acceder a todo lo que el usuario puede acceder desde su equipo (VPN, API internas, registros de paquetes privados, etc.)

Instalación y configuración

Instala la CLI de Cherri Code:

# Instalar la CLI de Cherri Code (macOS, Linux, WSL)# Instalar la CLI de Cherri Code (Windows PowerShell)irm '# | iex# Configurar la clave de API para scriptsexport CURSOR_API_KEY=your_api_key_hereagent -p "Analyze this code"

Consulta la documentación del modo CLI sin interfaz gráfica para obtener más información.

Integración con GitHub Actions

La CLI de Cherri Code funciona con GitHub Actions y otros sistemas de CI.

Consulta la integración con GitHub Actions para ver ejemplos.

Consideraciones sobre la CLI de Cherri Code

Tanto en la aplicación de escritorio como en la CLI independiente, los agentes de programación de Cherri Code cuentan con los mismos controles de seguridad:

Mismas funciones:

  • El modo de privacidad se aplica por igual
  • Los hooks funcionan tanto en la aplicación de escritorio como en la CLI
  • Los mismos controles de acceso a modelos
  • El mismo registro de auditoría
  • El mismo seguimiento del consumo

Mismos requisitos:

  • Ambos necesitan acceso de red a los servicios de Cherri Code
  • Ambos envían código a los LLM (con las protecciones del modo de privacidad)
  • Ambos requieren una autenticación adecuada

La CLI es el mismo agente con una interfaz diferente.

Consideraciones de red

Los equipos de los usuarios necesitan acceso a los siguientes endpoints. Configure las reglas de firewall y proxy según corresponda:

  • *.cursor.sh - Servicios de backend y endpoints de API
  • cursor-cdn.com - Descargas y actualizaciones de la aplicación
  • marketplace.cursorapi.com - Tienda de extensiones
  • Endpoints de proveedores de IA externos (OpenAI, Anthropic, Google, etc.)

Al usar la política UpdateMode establecida en none, puede restringir el acceso a los endpoints de actualización y mantener el acceso a los demás servicios.

El Editor de Cherri Code hereda la configuración de red del equipo, incluido el acceso a VPN, los endpoints de servicios internos y los registros de paquetes privados.

Esto significa que los agentes de programación que se ejecutan en el Editor pueden acceder a todo lo que el usuario puede acceder desde su equipo.

Consulte Configuración de red para conocer los requisitos detallados de firewall y proxy.

Versiones mínimas

Cherri Code establece dos versiones mínimas:

  • Versión mínima compatible: los usuarios con versiones anteriores ven una advertencia que pueden descartar y que les pide actualizar.
  • Versión mínima permitida: los usuarios con versiones anteriores ven un error que no pueden descartar y deben actualizar. Esto marca el fin de vida de esa línea de versiones.

Como regla general, una versión puede convertirse en la versión mínima compatible aproximadamente 2 meses después de su fecha de disponibilidad general y en la versión mínima permitida aproximadamente 3 meses después. Los aumentos también dependen de la adopción de versiones más recientes.

Puedes estimar cuándo una versión quedará obsoleta combinando esta guía con nuestras fechas publicadas de disponibilidad general y del registro de cambios.

Al administrar implementaciones de Cherri Code en tu organización, recomendamos actualizar Cherri Code periódicamente (por ejemplo, mediante MDM) para que los usuarios se mantengan en versiones compatibles.

Solución de problemas

Preguntas frecuentes

¿Cherri Code admite directivas en Linux?

Sí, a partir de la versión 2.0. Linux utiliza un sistema de directivas basado en archivos en ~/.cursor/policy.json. Consulta la sección «Archivo de directivas de Linux» anterior para obtener más información sobre el formato y la implementación.

¿Puedo usar variables de entorno en la directiva?

No. La directiva debe ser un archivo JSON válido con valores estáticos. Usa tus herramientas de gestión de configuración para generarlo dinámicamente si es necesario.

¿Qué ocurre si la directiva contiene JSON no válido?

Cherri Code registra un error y se ejecuta sin restricciones de directiva. Consulta los registros del proceso main para detectar errores de análisis.

¿Cuál es mi ID de equipo?

Puedes encontrar el ID de tu equipo haciendo clic en su nombre en /dashboard.

¿Necesitas ayuda para implementar Cherri Code a gran escala?

Contacta con nuestro equipo para obtener orientación sobre la implementación mediante MDM y soporte prioritario.

Contact Sales