once é uma ferramenta de linha de comando que executa um comando uma única vez no seu diretório atual, exibe sua saída padrão (stdout) e mantém essa saída na memória em um pequeno daemon em segundo plano por usuário. Chamadas repetidas com o mesmo comando, diretório e chave de inquilino são respondidas a partir da memória até que a entrada expire. O daemon para automaticamente assim que sua última entrada expira.
O caso de uso típico é ler segredos do 1Password sem aprovar cada leitura com sua impressão digital. Uma chave de inquilino, definida uma vez por sessão de terminal no ~/.zshrc, permite exportar um token como GITHUB_TOKEN a partir de um comando como `once --ttl 8h --no-dir -- op read op://Private/Git Hub/token`. A primeira chamada solicita autenticação; as chamadas seguintes, dentro de oito horas, não. O mesmo padrão funciona com o mise, seja globalmente ou em um arquivo mise.local.toml específico de um projeto.
A instalação exige o Go 1.27 ou superior, com `go install github.com/alex0ptr/once@latest`. A ferramenta não tem dependências além da biblioteca padrão e funciona apenas em macOS e Linux. Seus principais comandos são `once --ttl DURATION`, `once status` para exibir o daemon e o número de entradas, `once clear` para descartar todos os valores em cache e `once help`.
Apenas a saída padrão é armazenada em cache. Resultados de comandos que terminam com código de saída diferente de zero nunca são armazenados, e o código de saída é repassado. Por padrão, o diretório de trabalho faz parte da chave de cache, mas --no-dir o remove, de modo que um único valor em cache atende a todos os diretórios. A opção --until define um horário absoluto de expiração, como 22h de hoje ou amanhã de manhã, o que ocorrer primeiro junto com --ttl.
Fonte: Hacker News · Resumido por HeadlinesBriefing