CLI de NaN.
NaN tiene una herramienta de terminal oficial, helmcode/nan-cli. Hace dos cosas: te enseña tu consumo real y configura tus herramientas de código por ti, sin que tengas que editar ficheros de configuración a mano.
Es un atajo, no un requisito. Todo lo que hace se puede hacer a mano siguiendo la página de tu herramienta en esta misma sección.
Qué configura sola
| Herramienta | Configuración automática |
|---|---|
| OpenCode | Sí |
| Codex | Sí |
| Pi | Sí |
Factory AI (droid) | Sí |
| Hermes | Sí |
Para Claude Code, Cursor, VS Code, Cline y Zed sigue haciendo falta la configuración manual de sus páginas.
Solo lista las herramientas que tienes instaladas, y solo toca la parte de NaN
de cada fichero: lo demás se queda como estaba, y desmarcar una herramienta
vuelve a sacar lo nuestro. Hermes es la excepción a «escribe el fichero»: el
CLI usa hermes config set, que es la forma que tiene Hermes de escribir su
configuración, así que los comentarios del fichero sobreviven.
La key que pegas se comprueba contra el clúster antes de escribir nada, así que
una mal copiada se ve ahí y no más tarde como un 401 dentro de cada
herramienta.
Qué más te da
El CLI abre un panel con pestañas que se mueve con las flechas:
| Pestaña | Para qué |
|---|---|
| Home | Las teclas, y para qué es cada pestaña |
| Profile | Los datos de tu cuenta |
| Usage | Tokens consumidos en 24 horas, 30 días y desde siempre |
| Models | Los modelos disponibles y cuánto has gastado en cada uno |
| Costs | Lo que te habría costado lo mismo en otros proveedores |
| Setup | Tu API key y la configuración automática de herramientas |
| About | Versión y enlaces |
La pestaña Usage es la forma más rápida de saber cuánta cuota te queda antes de arrancar una sesión larga de agente.
Instalación
Instala el binario
En macOS y Linux, una línea:
curl -fsSL https://nan.builders/install | bashEl instalador mira tu sistema y tu arquitectura, se baja el binario que toca de la última versión publicada, comprueba su checksum y lo deja en /usr/local/bin/nan. Si esa carpeta necesita permisos de administrador, te pedirá la contraseña por sudo.
Para ponerlo en otro sitio, dale la carpeta tú:
INSTALL_DIR="$HOME/.local/bin" curl -fsSL https://nan.builders/install | bashSi la carpeta que elijas no está en tu PATH, el propio instalador te lo dice y te da la línea que hay que añadir a tu ~/.zshrc o a tu ~/.bashrc.
En Windows, desde PowerShell:
irm https://nan.builders/install.ps1 | iexHace el mismo trabajo: resuelve la última release, descarga el .zip de tu arquitectura, verifica su checksum y deja nan.exe en %LOCALAPPDATA%\Programs an, añadiendo esa carpeta a tu PATH de usuario si no estaba. Las terminales que ya tuvieras abiertas no lo verán hasta que las reinicies.
Instala para tu usuario y no para toda la máquina, a propósito: el equivalente en Windows del sudo es un diálogo de elevación saliendo de un script por tubería, que es peor. Para ponerlo en otro sitio:
& ([scriptblock]::Create((irm https://nan.builders/install.ps1))) -InstallDir "C: ools"Hay binarios para macOS, Linux y Windows, en Intel y en ARM.
Comprueba que ha ido bien
nan --versionTiene que responder con la versión y con el nombre de la herramienta. Si la terminal dice que no encuentra la orden, el binario está instalado pero su carpeta no está en tu PATH.
Consigue tu API key
En cloud.nan.builders, en los ajustes de usuario, apartado API Keys.
O deja que el CLI te identifique
nan auth login --email tu@correo te manda un enlace de acceso, el mismo que usa la plataforma. Cópialo del correo y pégalo de vuelta en el comando, sin abrirlo antes en el navegador: funciona una vez, y el navegador te lo gastaría. Eso te da las pestañas Profile, Usage y Costs. La pestaña Setup, que es la que configura tus herramientas, necesita la API key y nada más.
Antes de la v0.1.2 este comando apuntaba a un endpoint de Discord retirado y contestaba 404. Si es lo que ves, tienes una versión anterior: vuelve a lanzar curl -fsSL https://nan.builders/install | bash.
Configura tus herramientas
nanDentro del panel, ve a la pestaña Setup con las flechas. Pulsa e y pega tu API key. Con espacio, marca las herramientas que quieres configurar. Pulsa c para aplicar.
El CLI escribe la configuración de cada herramienta marcada. Sal con q y arranca tu agente:
opencodeDentro de OpenCode, /models te enseña los modelos de NaN ya disponibles.
Compilar desde el código
Es la vía para Windows, y la que quieres si vas a tocar el CLI. Hace falta Go 1.26 o superior:
git clone https://github.com/helmcode/nan-cli
cd nan-cli
go build -o nan .Eso deja el binario en la carpeta del repositorio. Para tenerlo a mano desde cualquier sitio, muévelo a una carpeta de tu PATH:
mkdir -p ~/.local/bin
mv ./nan ~/.local/bin/nanSi esa carpeta no está aún en tu PATH, añádela al fichero de arranque de tu terminal. En macOS la terminal por defecto es zsh, así que el fichero es ~/.zshrc y no ~/.bashrc:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrcEn Linux con bash, el mismo comando pero contra ~/.bashrc.
Runs
Desde la v0.1.25 la CLI también pone a trabajar agentes en tareas dentro de tus workspaces, y los sigue desde tu terminal:
nan run "añade tests al parser de fechas y haz que pasen"
nan runs ls
nan runs logs <id> -f
nan run --byok-secret ANTHROPIC_KEY --model claude-sonnet-4-5 "arregla el test inestable" # v0.1.32+, tu propia clave de proveedor
El run se ejecuta en el workspace, no en tu máquina, así que sigue aunque cierres la terminal. Los comandos de runs usan tu sesión de nan auth login, o un token de plataforma desde NAN_TOKEN, --token-file o nan auth login --api-token para scripts, CI y servidores. Todos los flags, el orden de autenticación, los códigos de salida y la API están en Runs de agentes.
Automatizaciones
Desde la v0.1.26 la CLI también lista y lanza tus automatizaciones, y te enseña las propuestas que esperan tu aprobación:
nan automations ls
nan automations run "PR review" --input '{"pr": 42}'
nan approvals ls
nan runs proposal <run-id>
nan runs reject <run-id>
nan secrets ls
Desde la v0.1.33, si tu cuenta tiene la API de escritura (se está abriendo poco a poco), la CLI también crea y cambia tus secretos, automatizaciones y triggers:
nan secrets set GITHUB_TOKEN --value-file ./token.txt # lo añade, o reemplaza su valor
gh auth token | nan secrets set GITHUB_READ_TOKEN --value-stdin
nan secrets show GITHUB_TOKEN
nan secrets edit GITHUB_TOKEN --description "repo acme/api"
nan secrets rm OLD_TOKEN
nan automations create -f automation.yaml
nan automations edit "PR review" -f changes.yaml
nan automations disable "PR review"
nan automations triggers add "PR review" -f webhook.yaml # imprime la URL y el secreto una vez
El valor de un secreto se lee de un archivo o de una tubería, nunca de la línea de comandos, y nada lo vuelve a imprimir. Todas las opciones de nan secrets, cómo rotar un secreto y los errores que puedes ver están en Secretos. Mientras tu cuenta no tenga la API de escritura, estos comandos te lo dicen y te mandan al portal. Aprobar propuestas siempre se hace en el portal, con sesión iniciada en tu navegador.
Desde la v0.1.34, donde tu cuenta tiene notificaciones, nan notifications gestiona los canales que te avisan en Slack, Microsoft Teams, Discord o tu propio endpoint cuando una automatización necesita tu aprobación o falla: nan notifications add "team alerts" --kind slack --url-file ./slack-url.txt, y luego nan notifications test "team alerts". La URL del webhook se lee de un archivo o de una tubería, nunca de la línea de comandos. Todos los comandos están en Notificaciones.
Estos comandos usan primero tu sesión de nan auth login (gana a NAN_TOKEN; --token-file gana a las dos), o un token de plataforma con los scopes que necesitan: secrets:read y secrets:write para secretos, automations:write (y automations:read para usar nombres) para automatizaciones; consulta Tokens para automatizaciones. Inicia sesión en tu propia máquina, nunca dentro de un workspace: los agentes de ahí podrían leer la sesión y cambiar tus secretos. Todos los comandos, los archivos YAML y los avisos están en Gestiónalas desde la CLI o la API.
Un run que espera aprobación hace que nan run, nan runs logs -f y nan automations run salgan con código 10. Los detalles están en Automatizaciones.
Actualizar
Vuelve a pasar el instalador. Siempre trae la última versión publicada y sobrescribe la que tengas:
curl -fsSL https://nan.builders/install | bash
Para quitarlo, borra el binario: rm /usr/local/bin/nan, o la ruta que le hayas dado con INSTALL_DIR. No deja nada más en tu sistema.
Si prefieres no instalar nada
Es completamente razonable. Ve directamente a la página de tu herramienta y copia el bloque de configuración:
El resultado es el mismo. Lo único que te pierdes son las pestañas de consumo y costes.
Problemas conocidos
- En Windows hay que compilar. Las versiones publicadas traen binarios de macOS y Linux; para Windows, de momento, la vía es
go build. - El instalador pide la lista de versiones a GitHub. Si estás detrás de un proxy que bloquea
api.github.com, no encontrará nada que descargar. En ese caso, baja el.tar.gzde tu sistema a mano desde la página de releases.