Skip to content

Latest commit

 

History

History
37 lines (26 loc) · 1.4 KB

README.md

File metadata and controls

37 lines (26 loc) · 1.4 KB

os-info-cli

Build

Minimalist CLI for getting operating system information.

Usage

./os-info-cli [OPTIONS]

    [OPTIONS]:
        -h, --help                  Usage message
        -a, --all                   Show all info (CPU, Network and memory)
        -f, --filter=filter         (cpu | net | mem)

Internals

I'm building this mini project because I started learning Go. I decided to write a simple CLI for getting the most common information that I look for in my operating system.

Mainly the purpose of this is:

  1. See how complex or easy is to get info from the OS using Go.
  2. See how easy is to understand Go's documentation
  3. Learn how to work with concurrency and processes in Go.

In case you want to see the goal/scope of this project, I suggest reviewing the To-Do section

Run tests

To-Do

  • Create the basic structure of the project (Considering best practices for structuring a Go project and adding dependencies for adding unit tests).
  • Create a workflow with GitHub actions
  • Accept flags for getting information of the OS (help, all, filter by cpu, network, or memory).
  • Get network info (public and private IPs).
  • Get CPU info (usage % by user, by system, IDLE, top 5 processes, temperature).
  • Get memory info (Mem GB wired, active, compressed, and free, top 5 processes).