Instalación
Este capítulo te lleva desde un Mac vacío hasta una copia totalmente instalada de Bromure Agentic Coding: qué necesita la app de tu equipo, cómo descargar e instalar una versión, qué ocurre la primera vez que la ejecutas, cómo se descarga, verifica y mantiene actualizada la imagen base de Linux, y cómo eliminarlo todo de forma limpia. Una vez completada la instalación, continúa con la guía rápida para crear tu primer espacio de trabajo.
Requisitos del sistema
| Requisito | Mínimo |
|---|---|
| Mac | Apple Silicon (M1 o posterior) |
| macOS | macOS 14 (Sonoma) o posterior |
| Espacio libre en disco | Al menos 8 GB para ejecutar la configuración inicial; prevé aproximadamente 6–8 GB para la imagen base instalada, más los discos por espacio de trabajo |
| Red | Acceso a internet para la descarga de la imagen base (existe una alternativa de compilación local sin conexión; ver más abajo) |
No hay una compilación para Intel y no la habrá: la app ejecuta sus VM de Linux sobre Virtualization.framework de Apple, que solo admite invitados ARM64 en anfitriones Apple Silicon.
Hay dos salvaguardas de espacio en disco integradas:
- Cada instalación de imagen comprueba primero que haya al menos 8 GB libres en el volumen que contiene el directorio de soporte de la app, y falla rápidamente con un mensaje claro en caso contrario.
- Durante una compilación local de la imagen, un monitor aborta la compilación con un error explícito de disco lleno si el espacio libre cae por debajo de 1 GB, en lugar de dejar que el instalador agote el tiempo de forma misteriosa.
Si planeas usar el navegador web integrado opcional dentro de los espacios de trabajo, prevé espacio adicional para su imagen separada de Alpine/Chromium (unos 500 MB comprimidos para descargar); esa instalación se cubre en Ajustes → Navegador.
Instalación de la versión de lanzamiento
Las versiones de lanzamiento se publican como una imagen de disco firmada y notarizada (BromureAgenticCoding.dmg) en bromure.io.
- Descarga el DMG desde la página de descargas de bromure.io.
- Abre el DMG. La ventana muestra el icono de la app y una flecha que apunta a un enlace simbólico de Aplicaciones.
- Arrastra Bromure Agentic Coding hasta el enlace simbólico de Aplicaciones.
- Expulsa el DMG e inicia la app desde
/Applications.
Como el DMG publicado está notarizado y con el sello adjunto, Gatekeeper lo abre sin advertencias. Si obtuviste un DMG de un lugar distinto de bromure.io y Gatekeeper se queja, trátalo como una señal de alarma en lugar de algo que haya que eludir.
Primera ejecución
La ventana de bienvenida
La app no puede ejecutar espacios de trabajo de agentes hasta que exista una imagen base de Linux en tu Mac. Cuando la inicias por primera vez (aún sin imagen base), abre una ventana de bienvenida en lugar del explorador de espacios de trabajo:
La ventana —titulada Bromure Agentic Coding— muestra el icono de la app, el título Te damos la bienvenida a Bromure Agentic Coding, una breve explicación ("La configuración inicial descarga una imagen precompilada de Ubuntu 24.04 (o la compila localmente cuando la descarga no está disponible) e instala Node.js, Claude Code, Codex y las herramientas de terminal dentro de una VM aislada. Solo ocurre una vez por versión de imagen base.") y un botón destacado de Comenzar.
Haz clic en Comenzar (o pulsa Retorno —es el botón predeterminado) para empezar. Esto ejecuta exactamente la misma instalación que el comando de CLI bromure-cli init.
Nota: El texto de bienvenida menciona Node.js, Claude Code y Codex como ejemplos. En su totalidad, Node.js y las herramientas gratuitas ya vienen integradas en la imagen precompilada, y la configuración instala además Grok CLI y el SDK de Google Cloud; consulta Qué hace la configuración inicial más abajo.
La ventana de bienvenida se omite cuando la app se inicia únicamente como cliente de réplica remota (consulta Acceso remoto) o como agente headless sin ventana, ya que ninguno de los dos necesita una imagen base local.
La ventana de progreso de la configuración
Tras Comenzar, la ventana cambia a una pantalla de progreso titulada Bromure Agentic Coding — Configuración, encabezada con "Compilando la imagen base" / "Esta es la instalación única. No cierres la ventana." Muestra:
- Una insignia de estado que nombra el paso actual —para la ruta de descarga: "Obteniendo el catálogo de imágenes…", "Descargando la imagen de Ubuntu 24.04 (… GB)…", "Verificando la suma de comprobación…", "Expandiendo la imagen…", "Instalando los paquetes recomendados (N paso(s), ~2-5 min)…" y, por último, "Imagen base lista en … (vNNN)".
- Una única barra de progreso determinada con un porcentaje numérico. En la ruta de descarga la barra está ponderada por fases: la descarga de la imagen llena del 0 al 60 %, la expansión del 60 al 80 %, y los pasos de posinstalación el resto.
- Un desplegable Salida de la consola, contraído de forma predeterminada, que transmite el registro sin procesar del instalador (la consola serie de la VM auxiliar). El texto es seleccionable, y un botón con icono de copia copia todo el registro al portapapeles. Solo se conservan en pantalla las últimas 100 líneas.
Si algo falla, la insignia de estado se sustituye por una línea de error en rojo y aparece un botón de Cerrar.
Intentar cerrar la ventana a mitad de la instalación genera una advertencia —¿Cancelar la recompilación de la imagen base? ("La imagen quedará en un estado incompleto. Tendrás que volver a ejecutar la recompilación antes de iniciar nuevas sesiones.")— con los botones Cancelar recompilación y Seguir compilando. Si cancelas y existe una imagen anterior funcional, la app vuelve a la ventana principal normal; de lo contrario, vuelve a la pantalla de bienvenida.
Nota: Mientras se ejecuta una instalación o modificación de la imagen, la puerta de entrada opcional de acceso remoto por SSH se pausa y se reanuda automáticamente después (consulta Acceso remoto).
El aviso de bromure-cli
En la primera ejecución de la GUI desde un paquete de app instalado, la app ofrece instalar su punto de entrada de línea de comandos: ¿Instalar la herramienta de línea de comandos «bromure-cli»? —"Esto crea un enlace simbólico en /usr/local/bin/bromure-cli para que puedas controlar Bromure desde la terminal (vm, exec, trace, …). Requiere tu contraseña de administrador una vez."
- Instalar crea el enlace simbólico en
/usr/local/bin/bromure-climediante un aviso único de contraseña de administrador (no se instala ningún auxiliar con privilegios). - Ahora no lo pospone; se te pregunta de nuevo en el siguiente inicio.
- No volver a preguntar suprime el aviso de forma permanente (se almacena en la clave de UserDefaults
cliSymlinkDeclined).
Cuando el binario se invoca a través del nombre bromure-cli, los comandos de gestión de imágenes (init, info, reset y los verbos del lado del publicador), el modo predeterminado de la GUI y el servidor MCP quedan ocultos; ejecutar bromure-cli sin argumentos imprime la ayuda. La referencia completa de comandos está en Automatización y CLI. El aviso se omite en los inicios de agente headless, de desarrollo (swift run) y de réplica remota.
Qué hace la configuración inicial
La configuración inicial produce la imagen base: un disco disperso de 24 GB que contiene Ubuntu 24.04 ("noble") con arranque EFI/GRUB, a partir del cual se clona cada VM de espacio de trabajo. Dos rutas la producen; la descarga es la preferida y la compilación local es la alternativa. Ambas escriben en archivos .partial y promocionan los resultados de forma atómica, de modo que una instalación interrumpida nunca deja una imagen a medio escribir en lugar de una funcional.
La descarga de la imagen precompilada
La ruta preferida descarga una imagen precompilada publicada semanalmente en https://dl.bromure.io:
- Obtención del catálogo. La app obtiene el catálogo de imágenes firmado en
https://dl.bromure.io/images/img-catalog.json, que nombra la imagen actual (UUID, versión, SHA-256, tamaños) y enumera los pasos de posinstalación. El catálogo lleva una firma ed25519 realizada con la misma clave que firma las actualizaciones de la app (laSUPublicEDKeyde Sparkle); la firma cubre la identidad de la imagen, su suma de comprobación y cada comando de posinstalación. Los catálogos sin firmar o no válidos se rechazan, y un catálogo firmado con anterioridad a uno que la app ya haya adoptado nunca se acepta (protección contra reversión). - Descarga. La imagen comprimida con gzip (unos 3 GB comprimidos) se descarga y se verifica su SHA-256. Las descargas fallidas se reintentan hasta 3 veces, volviendo a obtener el catálogo entre intentos; esto cierra la condición de carrera con la publicación semanal que elimina la compilación anterior a mitad de la descarga.
- Expansión. La imagen se expande de forma dispersa en
base.img.partial: 24 GB lógicos, pero solo unos 6–8 GB de espacio físico en disco. - Posinstalación. La app arranca una pequeña VM auxiliar instaladora de arranque en red de Alpine que ejecuta los pasos de posinstalación del catálogo como root en un chroot sobre la imagen (consulta la sección siguiente).
- Promoción. Se crea un almacén de variables EFI nuevo, y
base.img,efivars.bin,base.versioneimage-state.jsonse promocionan de forma atómica.
Pasos de posinstalación: los paquetes recomendados
La imagen publicada debe ser legalmente redistribuible, por lo que contiene estrictamente software libre (Node.js, docker, kitty, gh, glab, kubectl, doctl, awscli, azure-cli y más vienen integrados). Todo lo que no es libre se declara como pasos de posinstalación firmados en el catálogo y se instala en tu máquina, en tu copia de la imagen. Los pasos de referencia en la versión 4.3.0 son:
| Sec | Paso | Publicador | Cómo se instala |
|---|---|---|---|
| 10 | Claude Code | Anthropic | npm, envuelto en el escáner de cadena de suministro de Socket.dev (npx --yes @socketsecurity/cli npm install -g --silent @anthropic-ai/claude-code) |
| 20 | Codex CLI | OpenAI | npm, envuelto con Socket.dev |
| 30 | Grok CLI | x.ai | Script de instalación del proveedor |
| 40 | Google Cloud SDK | gcloud, gsutil, bq |
El consentimiento funciona así: en una instalación nueva, todos los pasos de referencia se ejecutan sin un aviso adicional —iniciar la configuración desde la pantalla de bienvenida (o escribir bromure-cli init) es el consentimiento. Los pasos publicados más tarde requieren aprobación explícita mediante el aviso Nuevos paquetes recomendados descrito en Actualizaciones y versionado de la imagen base. Como la firma del catálogo cubre el texto del comando de cada paso, un CDN comprometido no puede alterar lo que se ejecuta como root en tu imagen.
La alternativa de compilación local
Si la descarga falla por un motivo del lado de la descarga —sin conexión, caída del CDN, fallo de suma de comprobación o de expansión—, la app muestra una alerta de Error en la descarga de la imagen con los botones Compilar localmente y Cancelar. Nunca recurre a la alternativa de forma silenciosa. (El comando de CLI bromure-cli init, en cambio, recurre a la alternativa automáticamente sin preguntar.)
La compilación local produce la misma imagen en tu propio Mac:
- Descarga el kernel y el initramfs de arranque en red de Alpine 3.22 (unos 25 MB, almacenados en caché en el directorio de soporte).
- Asigna un disco disperso nuevo de 24 GB.
- Arranca una VM instaladora de Alpine de un solo uso (4 vCPU, 4 GB de RAM), controlada por su consola serie, que hace debootstrap de Ubuntu noble, instala las herramientas gratuitas y GRUB.
- Aplica los mismos pasos de posinstalación del catálogo que la ruta de descarga.
Los mensajes de progreso incluyen "Descargando el instalador de arranque en red de Alpine…", "Asignando disco disperso de 24 GB…", "Arrancando el instalador de Alpine (esto controla la instalación de Ubuntu)…" y "Ejecutando setup.sh…". La barra de progreso en esta ruta se controla mediante las líneas de registro del instalador y se limita al 97 % hasta el salto final de "Imagen base lista".
La compilación local incluye maquinaria de resiliencia frente a VPN: todas las obtenciones de paquetes del invitado se enrutan a través de un proxy en proceso del lado del anfitrión, el instalador fija la MTU de la NIC de la VM antes de cualquier descarga, DHCP recibe una segunda oportunidad, una condición de ausencia de red aborta pronto, y un kernel panic del invitado desencadena un reintento limpio automático. Dos escapes relacionados:
- Si la VM instaladora no obtiene ninguna concesión DHCP, la compilación falla con una alerta de Problema de red durante la compilación de la imagen base que ofrece Reparar y reintentar (reinicia los demonios de red de macOS; solicita tu contraseña de administrador) o Cancelar.
- En VPN que descartan las transferencias grandes (por ejemplo WireGuard con MTU 1420), puedes fijar la MTU de la VM instaladora:
defaults write io.bromure.agentic-coding vm.mtu -int 1400.
También puedes elegir la compilación local explícitamente en cualquier momento —Recompilar imagen base… → Recompilar localmente en el menú de la app, o bromure-cli init --build-local.
Endpoints de red utilizados durante la configuración
Para administradores de cortafuegos y proxy, la instalación se comunica con:
| Endpoint | Propósito |
|---|---|
https://dl.bromure.io | Catálogo de imágenes (images/img-catalog.json) y descargas de imágenes |
https://dl-cdn.alpinelinux.org | Archivos de arranque en red de Alpine 3.22 (compilación local y VM auxiliar de posinstalación) |
| Réplicas de paquetes y endpoints de proveedores | Paquetes de Ubuntu, registro de npm, Socket.dev, scripts de instalación de proveedores, obtenidos por el instalador a través del proxy del lado del anfitrión de la app |
https://bromure.io/api/v1/release-agentic-coding | Appcast de Sparkle para actualizaciones de la app (no forma parte de la configuración de la imagen) |
La instalación en sí no abre ningún puerto TCP en escucha; el proxy de paquetes del lado del anfitrión que se usa durante las compilaciones se vincula a un puerto efímero solo de localhost por compilación.
Tiempo de configuración y uso de disco
| Ruta | Duración típica | Notas |
|---|---|---|
| Descarga precompilada | Tiempo de transferencia de ~3 GB, más la expansión, más ~2–5 minutos de posinstalación | Dominado por la velocidad de tu conexión |
| Compilación local | Unos 10 minutos | Tiempo de espera del marcador de instalación 30 minutos; tiempo de espera absoluto 45 minutos; las ejecuciones solo de posinstalación 20/30 minutos |
Uso de disco:
- Para empezar: al menos 8 GB libres en el volumen que contiene
~/Library/Application Support/BromureAC/. - Después de la instalación: la imagen base ocupa aproximadamente 6–8 GB físicamente (24 GB lógicos —los bloques dispersos solo cuestan espacio una vez escritos).
- Por espacio de trabajo: el disco de cada espacio de trabajo comienza como un clon copia-en-escritura de APFS de la imagen base, por lo que es casi gratuito al principio y crece solo a medida que el espacio de trabajo escribe datos.
La configuración ocurre una vez por versión de imagen base —los inicios posteriores van directamente al explorador de espacios de trabajo.
Dónde se almacena todo
Todo lo que la app escribe reside bajo tu cuenta de usuario; no se instala nada a nivel de sistema salvo el enlace simbólico opcional bromure-cli.
| Ruta | Contenido |
|---|---|
~/Library/Application Support/BromureAC/ | El directorio de soporte de la app: imagen base, catálogos, espacios de trabajo, CA por instalación |
~/Library/Application Support/BromureAC/base.img | La imagen base de Ubuntu (24 GB lógicos, ~6–8 GB físicos) |
~/Library/Application Support/BromureAC/efivars.bin | Almacén de variables EFI para la imagen base |
~/Library/Application Support/BromureAC/base.version | Sello de versión de la imagen instalada (p. ej. 200, 200.1) |
~/Library/Application Support/BromureAC/image-state.json | Procedencia de la imagen y UUID de los pasos de posinstalación aplicados |
~/Library/Application Support/BromureAC/img-catalog.json | Copia en caché del catálogo de imágenes descargado |
~/Library/Application Support/BromureAC/profiles/ | Un directorio por espacio de trabajo: profile.json, disk.img (el clon copia-en-escritura de la imagen base del espacio de trabajo), home.img, claves SSH |
~/Library/Application Support/BromureAC/alpine-vmlinuz, alpine-initramfs, alpine-initramfs-shimmed | Archivos en caché del instalador de arranque en red de Alpine |
~/Library/Application Support/BromureAC/browser/ | La copia propia de la app de la imagen del navegador integrado, si está instalada (~/Library/Application Support/Bromure/ —el directorio de la app hermana del navegador— se reutiliza cuando está presente) |
~/Library/Application Support/BromureAC/base.img.partial, base.img.gz.partial, efivars.partial | Archivos de instalación transitorios; su presencia significa que una instalación se está ejecutando o se interrumpió |
~/Library/LaunchAgents/io.bromure.agentic-coding.boot.plist | LaunchAgent de arranque al iniciar sesión, escrito automáticamente cuando cualquier espacio de trabajo activa el arranque al inicio (consulta Espacios de trabajo) |
/usr/local/bin/bromure-cli | Enlace simbólico opcional de la CLI |
Dominio de UserDefaults io.bromure.agentic-coding | Ajustes de la app |
Dos elementos residen en otro lugar por necesidad:
- La clave maestra de credenciales se almacena en el llavero de protección de datos (Data Protection Keychain) de macOS (marcada como solo este dispositivo —nunca sale del Mac), no en el directorio de soporte. Los secretos en disco son texto cifrado AES-256-GCM; consulta Credenciales.
- El paquete de la app incrusta un plist de demonio launchd con privilegios (
io.bromure.fatclient-tunnel) que utiliza el auxiliar de red de réplica remota. Se registra bajo demanda, y el primer registro muestra un conmutador de aprobación en Ajustes del Sistema › General › Ítems de inicio de sesión; consulta Acceso remoto.
El comando bromure-cli info imprime el sello de versión de la imagen instalada, sus tamaños lógico y físico, y su ruta en cualquier momento.
Actualizaciones y versionado de la imagen base
Sellos de versión y revisiones de punto
La imagen instalada registra su versión en base.version. La parte mayor proviene de la constante de versión incluida en la app (200 en la versión 4.3.0); cualquier recompilación, redescarga o modificación en la misma versión mayor añade una revisión de punto (200 → 200.1 → 200.2). El archivo adjunto image-state.json registra de dónde procede la imagen y qué UUID de pasos de posinstalación se han aplicado.
Dos comparaciones usan estos sellos:
- La comprobación de actualización a nivel de app compara solo las versiones mayores, por lo que solo se te avisa de lanzamientos de imagen deliberados.
- La detección de deriva por espacio de trabajo compara el sello completo registrado cuando se clonó un espacio de trabajo con el actual; cualquier cambio (incluida una revisión de punto) hace que el espacio de trabajo ofrezca un restablecimiento sobre la nueva base. Una actualización de imagen nunca toca por sí sola los discos de los espacios de trabajo existentes —los restablecimientos por deriva siempre dependen de ti (consulta Espacios de trabajo).
Las imágenes precompiladas se vuelven a publicar semanalmente con paquetes de Ubuntu actualizados, pero las republicaciones semanales no incrementan la versión —solo un incremento de versión deliberado en un lanzamiento de la app desencadena un aviso de actualización, para que no se te moleste cada semana. Un catálogo de CDN obsoleto nunca puede ofrecer una degradación: solo cuentan las versiones estrictamente más nuevas.
El aviso de actualización
Cuando hay disponible una versión mayor más nueva de la imagen —ya sea porque una actualización de la app incluye una o porque el catálogo publica una—, el inicio muestra una alerta no bloqueante, Actualización de la imagen base disponible: "Tu imagen base está en la versión X pero está disponible la versión Y. La imagen actual sigue funcionando —actualizar descarga la nueva imagen precompilada (unos pocos GB; recompilación local como alternativa) y vuelve a aplicar los paquetes recomendados."
- Actualizar ahora inicia la reinstalación con descarga primero en la ventana de configuración.
- Más tarde lo descarta para este inicio; se te pregunta de nuevo en el siguiente. La imagen existente sigue funcionando en cualquier caso.
Nuevos paquetes recomendados
Cuando el catálogo incorpora pasos de posinstalación que aún no están registrados como aplicados en image-state.json, el inicio muestra una alerta de consentimiento, Nuevos paquetes recomendados, que enumera los nuevos pasos: "Se recomienda instalar nuevos paquetes: … Bromure los instala en la imagen base (unos minutos, en la VM en segundo plano). Los espacios de trabajo existentes siguen funcionando; el aviso de deriva de cada uno ofrecerá un restablecimiento para incorporarlos."
- Instalar aplica los pasos a un clon copia-en-escritura de APFS de
base.imge intercambia la imagen modificada de forma atómica —los espacios de trabajo existentes siguen funcionando durante todo el proceso. El sello de versión recibe un incremento de revisión de punto (p. ej.200→200.1). El progreso aparece en la ventana de configuración, titulada "Instalando los paquetes recomendados" / "La imagen base se está modificando. Los espacios de trabajo existentes siguen funcionando." - Más tarde lo pospone; se te pregunta de nuevo en el siguiente inicio.
Nada se ejecuta nunca sin este consentimiento —los pasos de posinstalación se ejecutan como root dentro de la imagen base. Las instalaciones anteriores a image-state.json se migran en el inicio: todos los pasos de referencia incluidos se marcan como ya aplicados.
Recompilación manual
Para forzar una reinstalación en cualquier momento, elige Recompilar imagen base… en el menú de la aplicación (debajo de Acceso remoto…). Pregunta ¿Actualizar la imagen base? —"Descarga la última imagen precompilada (o vuelve a ejecutar el instalador local completo, ~5–10 min) y vuelve a aplicar los paquetes recomendados. Los discos de los espacios de trabajo existentes no se tocan —en el siguiente inicio el aviso de deriva de cada uno ofrecerá restablecer a la nueva base."— con Descargar precompilada, Recompilar localmente y Cancelar.
La imagen antigua permanece activa hasta que la nueva esté totalmente compilada (gracias a los archivos .partial y al intercambio atómico), por lo que las sesiones aún pueden iniciarse durante la recompilación. El equivalente en la CLI es bromure-cli init (descarga primero) o bromure-cli init --build-local.
Mantener la app actualizada
La app se actualiza a sí misma con Sparkle: comprueba https://bromure.io/api/v1/release-agentic-coding automáticamente una vez al día, y las actualizaciones se verifican con la misma clave pública fijada que firma los catálogos de imágenes. Un elemento manual Buscar actualizaciones… se encuentra en el menú de la aplicación, justo debajo de Acerca de. (El elemento está ausente en las compilaciones de desarrollo, donde el actualizador no se inicializa.)
Las actualizaciones de la app y las de la imagen base son independientes: actualizar la app solo avisa de una actualización de imagen cuando la nueva versión de la app incrementa deliberadamente la versión de imagen incluida.
Pasar a un nuevo Mac
No hay un asistente de migración integrado. La ruta recomendada es una instalación nueva más una copia selectiva de los datos de tus espacios de trabajo:
- En el nuevo Mac, instala la app y completa la configuración inicial (volver a descargar la imagen base es más rápido y limpio que copiarla —
base.imgyefivars.binson artefactos por máquina que la app recrea sin coste). - Cierra la app en ambos Mac.
- Copia
~/Library/Application Support/BromureAC/profiles/del Mac antiguo a la misma ubicación en el nuevo. Cada subdirectorio es un espacio de trabajo: su definición (profile.json), su disco de VM (disk.img—tus repositorios clonados, cachés e historial de shell), su volumen de inicio y sus claves SSH. - Inicia la app en el nuevo Mac. Tus espacios de trabajo aparecen en el explorador de espacios de trabajo. Si un espacio de trabajo se clonó a partir de una revisión de imagen base distinta de la que está ahora instalada, su aviso de deriva ofrece un restablecimiento —recházalo para conservar el disco actual del espacio de trabajo (consulta Espacios de trabajo).
Tres cosas no se transfieren intencionadamente:
- Credenciales. La clave maestra que cifra los secretos almacenados reside en el llavero de protección de datos del Mac y está marcada como solo este dispositivo. Los bloques de secretos cifrados del Mac antiguo son ilegibles en el nuevo; los metadatos no sensibles de cada
profile.jsonsobreviven, por lo que basta con volver a introducir tus claves de API y tokens en el panel de credenciales (consulta Credenciales). - Inscripción empresarial. La identidad de instalación (certificado de hoja mTLS) es por instalación y se almacena solo en el dispositivo; vuelve a inscribir el nuevo Mac (consulta Empresa).
- Ajustes de la app en el dominio de defaults
io.bromure.agentic-coding, a menos que los migres tú mismo.
Consejo: Los archivos
disk.imgde los espacios de trabajo son dispersos, y su ahorro de copia-en-escritura no sobrevive a una copia por red —un espacio de trabajo que cuesta unos pocos GB en el Mac antiguo puede materializarse a su tamaño completo escrito durante el traslado. Usa una copia consciente de la dispersión (por ejemplorsync -aS) y comprueba primero el espacio libre en el destino.
El Asistente de Migración de Apple copia todo el directorio de soporte como archivos normales; eso funciona, pero aún te encuentras con las situaciones de credenciales e inscripción anteriores, y la imagen base copiada pierde su relación de copia-en-escritura con los discos de los espacios de trabajo (costando espacio físico adicional hasta que la recompiles).
Desinstalación completa
Para restablecer solo la imagen base conservando la app y tus espacios de trabajo, ejecuta bromure-cli reset (añade --yes para omitir la confirmación). Elimina base.img, efivars.bin, base.version e image-state.json, de modo que el siguiente inicio comienza la configuración desde cero. Nunca toca los espacios de trabajo, y deja en su lugar los archivos de arranque en red de Alpine en caché y el catálogo en caché.
No hay un desinstalador incluido. La eliminación completa es manual:
-
Cierra la app (y cualquier agente headless: compruébalo con
pgrep -fl bromure-cli). -
Arrastra Bromure Agentic Coding de
/Applicationsa la Papelera. -
Elimina el directorio de soporte —imagen base, todos los espacios de trabajo y sus discos, cachés y la CA por instalación:
rm -rf ~/Library/Application\ Support/BromureAC -
Elimina el LaunchAgent de arranque al iniciar sesión, si está presente:
rm -f ~/Library/LaunchAgents/io.bromure.agentic-coding.boot.plist -
Elimina las entradas de la app en Ajustes del Sistema › General › Ítems de inicio de sesión y extensiones (el conmutador de aprobación del demonio de túnel de réplica remota, si alguna vez lo activaste).
-
Elimina el enlace simbólico de la CLI, si lo instalaste:
sudo rm -f /usr/local/bin/bromure-cli -
Opcionalmente, borra los ajustes de la app:
defaults delete io.bromure.agentic-coding
Advertencia: El paso 3 elimina permanentemente el disco de cada espacio de trabajo —repositorios clonados, trabajo sin confirmar, cachés de paquetes, historial de shell. Sube o exporta primero todo lo que te importe.
La clave maestra de credenciales del llavero queda huérfana una vez que desaparece su texto cifrado; es inofensiva, pero puedes eliminarla con Acceso a Llaveros buscando io.bromure.agentic-coding.master-key.