Pular para o conteúdo

Gofetch

Ferramenta de terminal em Go que exibe informações do sistema, inspirada no neofetch.

Ferramenta de terminal inspirada em neofetch e fastfetch, escrita em Go, focada em exibir informações do sistema (SO, CPU, memória, disco, placa-mãe) com logo ASCII e cores, priorizando velocidade e simplicidade. Arquitetura organizada como pipeline (coletar, agregar concorrentemente, renderizar, imprimir), com componentes desacoplados por interfaces: coletores por subsistema implementam uma interface `Collector` comum, com o código específico de cada sistema operacional isolado via build tags, permitindo suporte futuro a Linux e macOS sem reescrever o núcleo. Coleta paralela com `errgroup` sob `context.WithTimeout`, com degradação graciosa (um coletor que falha exibe `N/A` sem derrubar a execução). Binário único e estático, sem dependências de runtime e sem CGO, com pipeline de CI, linting via golangci-lint e releases automatizados com GoReleaser.

Stack

Go · gopsutil · lipgloss · errgroup · GitHub Actions · GoReleaser · golangci-lint · WMI