I made caura, a cross-platform sysfetch in Go — my first real project

Posted by lizardev@reddit | learnprogramming | View on Reddit | 2 comments

Hi everyone!

I want to share caura, a system information tool (sysfetch) written in Go. It runs on Linux and FreeBSD (amd64 and 386).

How it started: I was using fastfetch and wondered how it worked internally. I assumed it used uname -r for the kernel and similar commands for everything else, so I tried to do the same. I made a tiny version that just ran commands and formatted the output. Then I started researching what those commands actually did, found out about reading processes directly (/proc, sysctl, etc.), and gradually implemented everything natively.

The project is less than a week old.

Features:

- Shows OS, Kernel, Uptime, Shell, Terminal, IP

- Shows Host, CPU, GPU, Architecture, Disk, RAM, Swap

- No external dependencies — just download the binary and run it

- Binaries available for Linux and FreeBSD

- Shared code between platforms

Coming up:

- TOML config file to customize the output

- ASCII logo from a .txt file

- Render a .png image as logo

- Android and macOS support

- The goal is to keep growing the project little by little until it reaches a solid and robust 1.0 release — hopefully with help from the community

About me: I haven't been programming for long — I started around February this year and I'm still learning. This is my first real project while learning Go. I wrote about 90% of the code myself; I used AI mainly as support for commits, README, pushes, and certain parts of some functions. I really enjoyed the language and wanted to share what I've been building while learning.

If anyone wants to contribute, report bugs, or suggest improvements, you're welcome. I'd really appreciate it if you took a look and gave me feedback, or even collaborated on the project.

Repo: github.com/soylizardev/caura (https://github.com/soylizardev/caura)

Thanks for reading :D