Eduardo Freitas / ferramentas

Ferramentas que fiz para o meu trabalho, publicadas para o seu.

Gratuitas, de código aberto e em uso. Cada uma tem aqui a sua página de manual: o que faz, como instalar e o que ela imprime de verdade.

Todas as ferramentas desta página
NomeTipoLing.LicençaVersãoO quêEstado
confdriftCLIGoMIT0.1.0Encontra diferenças de configuração entre ambientespublicada
reitemaTOMLMITmainTema azul sobre preto para o Omarchypublicada
CONFDRIFT(1)Manual de comandos geraisCONFDRIFT(1)
tipo
CLI
estado
publicada
versão
0.1.0
lançada
2026-10-01
linguagem
Go 1.24
licença
MIT
plataformas
Linux, macOS, Windows
amd64, arm64
binário
estático, ~3 MB
deps
yaml.v3

confdriftCompara arquivos de configuração entre ambientes e mostra o que divergiu, antes do deploy. Staging funciona, produção não, e em algum ponto entre os dois uma chave sumiu ou um timeout perdeu um zero.

SINOPSE

confdrift [flags] FILE FILE [FILE...]

INSTALAÇÃO

go install github.com/eduardofrafre/confdrift@latest

ou um binário pronto, aqui o de Linux amd64:

curl -sL https://github.com/eduardofrafre/confdrift/releases/download/v0.1.0/confdrift_0.1.0_linux_amd64.tar.gz | tar xz

Os binários para Linux, macOS e Windows, em amd64 e arm64, com checksums, estão na página de versões.

DESCRIÇÃO

O confdrift nunca compara texto. Ele lê cada arquivo como uma lista plana de caminhos de chave e valores com tipo, e alinha cada chave entre todos os arquivos de uma vez, dois ambientes ou dez. Ordem, indentação e formato deixam de importar; sobram só as diferenças reais. Uma chave é igual, mudou ou falta em algum lugar.

  • dotenv: .env, .env.production, prod.env. Aspas, export, comentários e valores de várias linhas. ${VARS} não são expandidas.
  • YAML e JSON viram os mesmos caminhos, como db.pool.max ou servers[0], então um arquivo YAML se compara com um JSON.
  • Kubernetes ConfigMaps são comparados pelas chaves de data. A saída de helm template e kustomize build funciona direto.

Tipos contam: 5432 e "5432" são diferentes. Valores de chaves que parecem credenciais aparecem como <redacted>, mas continuam sendo comparados, então um segredo trocado ainda aparece.

EXEMPLO

examples/k8sexit 1
$ confdrift staging/configmap.yaml production/configmap.yaml
DATABASE_URL  changed
  staging     "postgres://checkout:<redacted>@db.staging.example.com:5432/checkout"
  production  "postgres://checkout:<redacted>@db.prod.example.com:5432/checkout"

FEATURE_NEW_CART  missing from production
  staging     "true"
  production  (not set)

LOG_LEVEL  changed
  staging     "debug"
  production  "info"

PAYMENTS_TIMEOUT_MS  changed
  staging     "3000"
  production  "300"

STRIPE_API_KEY  changed
  staging     <redacted>
  production  <redacted>

5 of 6 keys drifted across 2 files (1 missing, 4 changed).

OPÇÕES

--keys-onlyMostra só chaves que faltam em algum arquivo, não diferenças de valor. Em geral é o que a CI quer.
--ignore PATTERNIgnora chaves que casam com PATTERN, com * como curinga. Pode repetir.
--format text|jsonSaída para pessoas, ou para scripts e bots.
--show-secretsMostra os valores de chaves que parecem credenciais.
--versionMostra a versão e sai.

CÓDIGO DE SAÍDA

0Os arquivos concordam.
1Encontrou diferenças.
2Entrada inválida: arquivo ilegível, erro de leitura, flag desconhecida.

VEJA TAMBÉM

A página do confdrift roda o motor real, compilado para WebAssembly, nos seus próprios arquivos no navegador, e explica a CI e a instalação por plataforma. Bugs e formatos que ele deveria ler vão para as issues.

confdrift 0.1.02026-10-01CONFDRIFT(1)
REI(7)Manual de informações diversasREI(7)
tipo
tema
estado
publicada
versão
main (sem tag)
lançada
2026-08-23
linguagem
TOML
licença
MIT
plataformas
Omarchy
Hyprland

Rei, um tema para o OmarchyUm azul discreto sobre o preto puro, tirado do cabelo e dos olhos da Rei Ayanami, com bordas de janela em degradê geradas direto do arquivo de paleta.

INSTALAÇÃO

omarchy theme install https://github.com/eduardofrafre/omarchy-rei-theme

O Omarchy clona o tema em ~/.config/omarchy/themes/rei e já aplica. omarchy theme update traz as mudanças; omarchy theme remove rei remove.

Um desktop Omarchy com o tema Rei: um papel de parede de anime em luz azul atrás de um terminal com informações do sistema em azul sobre preto.
Rei no Omarchy: papel de parede, terminal e bordas a partir de uma paleta só.

DESCRIÇÃO

A paleta, um tema de ícones, o papel de parede e um recorte da personagem que o seletor de temas do Omarchy mostra como prévia. O destaque #617bb9 passa pelo terminal, pelas bordas das janelas e pela interface. O degradê das bordas são duas chaves no colors.toml:

# colors.toml
hyprland_active_border = "rgba(617bb900) rgba(617bb9b3) 45deg"
hyprland_inactive_border = "rgba(617bb955)"

A borda fina de 1px e os terminais levemente transparentes da captura são configurações pessoais do Hyprland, não fazem parte do tema; o README traz os dois trechos, e um recorte para usar como logo no fastfetch.

PALETA

ground
#000000
ink
#e2e8e9
muted
#686163
accent
#617bb9
red
#9987c3
green
#71ccfb
cyan
#87deff
magenta
#9c9ff3

VEJA TAMBÉM

Esta página. Ela usa as mesmas cores e a mesma fonte, iA Writer Quattro e Mono, assim como o eduardofrafre.com e os sites irmãos.

rei2026-08-23REI(7)
CONTRATAR

Precisa de algo construído, mantido ou consertado?

Aceito trabalhos pagos ao lado destas ferramentas. Escopo e preço por escrito antes de qualquer trabalho começar.

APOIAR

As ferramentas são gratuitas e continuam assim.

Se uma delas poupou seu tempo ou pegou algo antes do deploy, uma doação paga a hospedagem e as horas que vão nelas.

QR code da página de doação no PayPal
aponte a câmera para doar