once es una herramienta de línea de comandos que ejecuta un comando una sola vez en tu directorio actual, muestra su stdout y guarda la salida en memoria en un pequeño demonio en segundo plano por usuario. Las llamadas repetidas con el mismo comando, directorio y clave de inquilino se responden desde la memoria hasta que la entrada caduca. El demonio se detiene automáticamente cuando expira su última entrada.
El caso de uso típico es leer secretos de 1Password sin tener que aprobar cada lectura con tu huella digital. Una clave de inquilino, configurada una vez por sesión de terminal en ~/.zshrc, te permite exportar un token como GITHUB_TOKEN a partir de un comando como `once --ttl 8h --no-dir -- op read op://Private/Git Hub/token`. La primera llamada solicita autenticación; las siguientes dentro de ocho horas no. El mismo patrón funciona con mise, ya sea de forma global o en un archivo mise.local.toml específico de cada proyecto.
La instalación requiere Go 1.27 o posterior, mediante `go install github.com/alex0ptr/once@latest`. La herramienta no tiene más dependencias que la biblioteca estándar y solo funciona en macOS y Linux. Sus comandos principales son `once --ttl DURATION`, `once status` para mostrar el demonio y su número de entradas, `once clear` para eliminar todos los valores en caché y `once help`.
Solo se almacena en caché la salida stdout. Los resultados de comandos que terminan con un código distinto de cero nunca se guardan en caché, y el código de salida se transmite. Por defecto, el directorio de trabajo forma parte de la clave de caché, pero --no-dir lo excluye, de modo que un único valor en caché sirve para todos los directorios. La opción --until establece una hora de caducidad absoluta, como las 22:00 de hoy o mañana por la mañana, la que llegue primero junto con --ttl.
Fuente: Hacker News · Resumido por HeadlinesBriefing